在执行机器人框架脚本期间是否可以访问\收集log.html报告?

时间:2019-07-16 10:37:06

标签: python-3.x robotframework

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

1 个答案:

答案 0 :(得分:1)

所有测试完成后便会生成log.html,因此在执行过程中您将无法访问它。

您可以在执行期间使用框架的listener interface获取测试用例数据。侦听器版本2定义了end_test方法,每次测试用例结束时都会调用该方法。

它将与to参数一起调用:nameattributes

  

属性字典的内容:

     
      
  • id:与start_test中的相同。
  •   
  • 长名:与start_test中的相同。
  •   
  • doc:与start_test中的内容相同。
  •   
  • 标签:与start_test中的标签相同。
  •   
  • critical:与start_test中相同。
  •   
  • 模板:与start_test中的模板相同。
  •   
  • 开始时间:与start_test中的时间相同。
  •   
  • endtime:测试执行执行的结束时间。
  •   
  • elapsedtime:总执行时间(以毫秒为单位),为整数
  •   
  • 状态:测试状态为字符串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.')