为了优化执行时间,我创建了一些相互依赖的测试用例,我希望不仅为每个测试用例和测试用户获取度量和统计信息。但我也希望为每个步骤生成统计数据和指标。 那可能吗 ? PS:我使用团队城市进行持续整合。
致以最诚挚的问候,
Emna A.答案 0 :(得分:6)
您可以使用相当多的工具来实现这一目标。无论是通过Robot Framework的监听器界面,还是通过对测试输出进行后期解释,制作自己的内容也相对简单。
您可以使用this tool对XML输出进行后处理,并获取有关每个关键字的统计信息。您可能还希望用this tool来补充它,这基本上可以生成完整的基准报告
答案 1 :(得分:2)
使用机器人框架api,我们可以获取TEST和KEYWORD指标
参考:
API:
关键字指标代码:
# 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格式显示指标结果。
要点