在机器人框架中找不到元素时,如何在测试期间在控制台中显示消息?

时间:2018-12-18 20:06:08

标签: robotframework

我想知道当在机器人框架中找不到元素时如何在控制台中显示消息:

我尝试过:

S2L.Wait Until Page Contains Element  ${checkbox}  10s checkbox  not found

它不适用于此元素,也不知道为什么。它适用于任何其他元素,但不适用于我的复选框。

所以我现在有这个:

Wait Until Keyword Succeeds  5 times  2 sec  S2L.Click Element ${checkbox}

但是当它失败时,它说只有未找到的元素,我更愿意编写个性化消息。

欢迎任何帮助。 谢谢

2 个答案:

答案 0 :(得分:2)

尽管我确实认为您的问题有所不同,但是您的问题可以得到解答。 Run Keyword And Return Status将捕获错误并继续并提供状态。 Run Keyword If然后允许使用关键字Fail,它还将在控制台上生成一条消息。

*** Settings ***
Library    SeleniumLibrary

Suite Teardown    Close All Browsers 

*** Test Cases ***
Wait And Click succesfully
    Open Browser    http://google.com    HeadlessChrome
    Wait and Click Element    name:q    This should work

Wait And Click unsuccesfully
    Open Browser    http://google.com    HeadlessChrome
    Wait and Click Element    name:nobtn      This should not work

*** Keywords ***
Wait and Click Element
    [Arguments]    ${locator}    ${message}=None

    ${status}    Run Keyword And Return Status
    ...                Wait Until Keyword Succeeds  
    ...                    5 times  2 sec  
    ...                    Click Element   ${locator}

    Run Keyword If    
    ...    "${status}" == "False"
    ...    Fail     ${message}

答案 1 :(得分:0)

如何使用“等待页面包含元素”关键字提供的错误参数?

Wait Until Page Contains Element    id=elementId    timeout=60s    error=Display whatever you want, e.g. Lorem Ipsum...