【问题标题】:Can I get statistics for test cases steps inside robot framework?我可以在机器人框架内获取测试用例步骤的统计信息吗?
【发布时间】:2018-02-13 22:20:32
【问题描述】:

为了优化执行时间,我创建了一些相互依赖的测试用例,我希望获得的指标和统计信息不仅适用于每个测试用例和测试套件。但我也想为每个步骤生成统计数据和指标。 那可能吗 ? PS:我正在使用团队城市进行持续集成。

最好的问候,

埃姆娜 A.

【问题讨论】:

  • 您是要在测试运行时执行此操作,还是可以对结果进行后处理以获取统计信息?
  • 测试完成后我只需要每一项的指标和报告

标签: appium teamcity robotframework testcase test-suite


【解决方案1】:

您可以使用很多工具来实现这一目标。自己制作也相对容易,无论是通过 Robot Framework 的侦听器接口,还是通过对测试输出的后解释。

您可以使用this tool 对 XML 输出进行后处理并获取有关每个关键字的统计信息。您可能还想用this tool 来补充它,它基本上会生成完整的基准报告

【讨论】:

    【解决方案2】:

    使用机器人框架api我们可以得到TEST和KEYWORD Metrics

    参考:

    Link

    API:

    • 类robot.result.model.Keyword
    • 类 robot.result.model.Test

    关键字指标代码:

    # Keyword Metrics Code: (save following snippet as python file and execute)
    from robot.api import ExecutionResult,ResultVisitor
    
    result = ExecutionResult('output.xml')
    result.configure(stat_config={'suite_stat_level': 2,
                                  'tag_stat_combine': 'tagANDanother'})
    
    class KeywordMetrics(ResultVisitor):
    
        def visit_keyword(self,kw):
            print "Keyword Name: " + str(kw.name) 
            print "Keyword Status: " + str(kw.status)
            print "Keyword Starttime: " + str(kw.starttime)
            print "Keyword Endtime: " + " " + str(kw.endtime)
            print "Keyword Elapsedtime (Sec): " + " " + str(kw.elapsedtime/float(1000))
    
    result.visit(KeywordMetrics())
    
    # Note:
    # visit_keyword() returns userdefined keywords
    # start_keyword() returns all the keywords (library and user defined)
    

    测试指标代码:

    # Test Metrics Code: (save following snippet as python file and execute)
    from robot.api import ExecutionResult,ResultVisitor
    
    result = ExecutionResult('output.xml')
    result.configure(stat_config={'suite_stat_level': 2,
                                  'tag_stat_combine': 'tagANDanother'})
    
    class TestMetrics(ResultVisitor):
    
        def visit_test(self,test):
            print "Test Name: " + str(test.name) 
            print "Test Status: " + str(test.status)
            print "Test Starttime: " + str(test.starttime)
            print "Test Endtime: " + " " + str(test.endtime)
            print "Test Elapsedtime (Sec): " + " " + str(test.elapsedtime/float(1000))
    
    result.visit(TestMetrics())
    

    Robot framework Metrics 项目被实施以通过仪表板视图以 HTML 格式显示指标结果。

    亮点

    • 前 10 项测试性能条形图
    • 排名前 10 的关键字效果条形图
    • 饼图
    • 表格格式的关键字和测试指标

    Robot framework Metrics Report ReadMe.MD

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-01
      相关资源
      最近更新 更多