【问题标题】:how to get the error message from the Robot Framework?如何从机器人框架中获取错误消息?
【发布时间】:2019-02-06 22:17:05
【问题描述】:

当我用 Robot Framework 编写测试用例时,我用 Robot Framework API logger.error(msg, html=False) 写了一些错误日志,当测试完成时,我怎样才能得到错误消息?

例如,测试完成后,log如下:

我怎样才能得到用红色矩形标记的错误信息?

【问题讨论】:

  • “获取错误信息”是什么意思?你想要一个可以读取 output.xml 并提取错误信息的程序吗?
  • @BryanOakley 我想在监听器中获取错误信息,比如在end_test方法中

标签: robotframework


【解决方案1】:

@亚历克斯布鲁斯。我遇到了同样的问题。使用前面有变量的“运行关键字并忽略错误”。该变量将具有您正在寻找的失败结果。

> *** Settings *** Documentation     Test Suite Teardown    Close All Browsers Library           Selenium2Library    timeout=10
> 
> *** Variables *** ${BROWSER}        chrome ${SLEEP}          3
> 
> *** Test Cases *** Testing
>     Error Logging
> 
> *** Keywords *** Open Google
>     Open Browser    http://google.com/    ${BROWSER}
>     Wait Until Page Contains    Damn    timeout=1
> 
> Error Logging
>     ${ErrorChk} =    Run Keyword And Ignore Error    Open Google
>     log    ${ErrorChk[1]}

Starting test: Error.Testing
20170731 17:57:13.874 :  INFO : Opening browser 'chrome' to base url 'http://google.com/'
20170731 17:57:19.131 :  INFO : </td></tr><tr><td colspan="3"><a href="selenium-screenshot-1.png"><img src="selenium-screenshot-1.png" width="800px"></a>
20170731 17:57:19.132 :  FAIL : Text 'Damn' did not appear in 1 second
20170731 17:57:19.133 :  INFO : ${ErrorChk} = ('FAIL', u"Text 'Damn' did not appear in 1 second")
20170731 17:57:19.133 :  INFO : Text 'Damn' did not appear in 1 second
Ending test:   Error.Testing

【讨论】:

  • @AlexBruce:请将此测试用例作为参考。请看我的主要帖子。
  • 这正是我所需要的。谢谢@ijaved
【解决方案2】:

嗨 @AlexBruce 也许你可以使用这个 KW:

Run Keyword If    '${status}'=='FAIL'    FAIL    msg=${message}

你可以在${message}中选择消息

【讨论】:

    猜你喜欢
    • 2019-07-18
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多