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

时间:2019-01-17 18:39:36

标签: text robotframework

如果在按下按钮后页面上出现文本。

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

<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 个答案:

答案 0 :(得分:7)

有各种选项可以选择最适合您的套房

使用关键字

  1. 如果您想精确匹配文本,请使用

    Element Text Should Be    //label[@class='err']    2 van de 3 velden  Eiwit, Koolhydraten, Vet  zijn leeg.
    
  2. 如果要在文本中添加子字符串

    Element Should Contain    //label[@class='err']    velden
    
  3. 它一直等到带有文本的定位符出现在页面上,我认为还有另一种可以满足您验证文本的方法

    Wait Until Element Contains    locator        text
    
  4. 这将验证整个页面上的文本,因此该文本可能在页面上显示多次或仅显示一次

    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