首页 > 解决方案 > 在执行机器人框架脚本期间是否可以访问\收集 log.html 报告?

问题描述

我想在脚本执行期间从 log.html 收集每个测试用例结果。

标签: python-3.xrobotframework

解决方案


log.html 是在所有测试完成后生成的,因此在执行期间您无法访问它。

您可以使用框架的侦听器接口在执行期间获取测试用例数据。监听器版本 2 定义了end_test每次测试用例结束时将调用的方法。

它将使用 to 参数调用:nameattributes

属性字典的内容:

  • id:与 start_test 相同。
  • longname:与 start_test 相同。
  • doc:与 start_test 中的相同。
  • 标签:与 start_test 相同。
  • 关键:与 start_test 相同。
  • 模板:与 start_test 相同。
  • starttime:与 start_test 相同。
  • endtime:测试执行执行结束时间。
  • elapsedtime: 总执行时间,以毫秒为单位,整数形式
  • status:测试状态为字符串 PASS 或 FAIL。
  • 消息:状态消息。通常是错误消息或空字符串。

我想这些status信息是你需要的。以下是用户指南中的示例:

"""Listener that stops execution if a test fails."""

ROBOT_LISTENER_API_VERSION = 2

def end_test(name, attrs):
    if attrs['status'] == 'FAIL':
        print('Test "%s" failed: %s' % (name, attrs['message']))
        raw_input('Press enter to continue.')

推荐阅读