RobotFramework,如何检查页面上的文本

Posted

技术标签:

【中文标题】RobotFramework,如何检查页面上的文本【英文标题】:RobotFramework, how to check text on page 【发布时间】:2019-06-12 00:41:32 【问题描述】:

如果点击按钮后页面上出现文本。

它唯一存在的就是一个类,就像这样:

<label class="err">2 van de 3 velden  Eiwit, Koolhydraten, Vet  zijn leeg.</label>

你应该用什么来验证?

我试过了:

Page Should Contain Textfield    err

但我认为这不是要走的路

    *** Keywords ***
Open Browser To Login Page
    Open Browser    $LOGIN URL    $BROWSER
    Maximize Browser Window
    Set Browser Implicit Wait    5
    Set Selenium Speed    $DELAY
    Login Page Should Be Open

Login Page Should Be Open
    Title Should Be    Hippe testautomatisering getest i.c.m. testtechnieken

Go To Login Page
    Go To    $LOGIN URL
    Login Page Should Be Open

Input Username
    [Arguments]    $username 
    Input Text    voedselnaam    $username

Input Password
    [Arguments]    $password
    Input Text    Eenheid    $password
    Input Text    Kcal    $password
    Input Text    Eiwit    $password

Submit Credentials
    Click Element   getdata    
    page should contain  //label[@class='err']  2 van de 3 velden Eiwit, Koolhydraten, Vet zijn leeg.


Welcome Page Should Be Open
    Location Should Be    $LOGIN URL
    Title Should Be    Welcome Page

【问题讨论】:

【参考方案1】:

有多种选项选择您最喜欢的套房

使用关键字

    如果你想要精确的文本匹配,那么使用

    Element Text Should Be    //label[@class='err']    2 van de 3 velden  Eiwit, Koolhydraten, Vet  zijn leeg.
    

    如果你想要文本中的子字符串

    Element Should Contain    //label[@class='err']    velden
    

    它会等到带有文本的定位器出现在页面上,我认为另一个选项足以为您提供验证文本

    Wait Until Element Contains    locator        text
    

    这将验证整个页面上的文本,因此它可能在页面上出现多次或仅出现一次

    Wait Until Page Contains        text_you_want_to_verify_on_page 
    

使用定位器

匹配完整的文本

//label[text()="2 van de 3 velden  Eiwit, Koolhydraten, Vet  zijn leeg."]

匹配部分文本

//label[contains(text(),'velden')]

并将其传递给验证页面上元素的关键字之一。 如需更多选择,您可以explore here

【讨论】:

以上是关于RobotFramework,如何检查页面上的文本的主要内容,如果未能解决你的问题,请参考以下文章

Robotframework:Selenium2Lib:等到(...)关键字

robotframework页面滚动,页面图片加载不出来

如何检查某些文本数据是不是出现在页面上

robotframework我写了一条用例如何让这条用例循环跑100次

Sencha Touch:如何以编程方式关注 ios 上的文本字段?

您如何在 Robot Framework 中编写具有多个标识符的动态元素?