项目中遇到需要另外解析RobotFrameWork的输出报告来取得一些信息,网上参考了一些方法以及自己尝试之后,在这里做一下笔记。
运行RobotFrameWork会产生相应的output.xml,report.html,log.html。
方法是用Python的robot包提供的api来解析output.xml,因此需要事先安装robot相应的包。
(report.html,log.html可以使用命令行输入robot output.xml生成)
#coding=utf-8
from robot.api import ExecutionResult
def parse_robot_results(xml_path):
suite = ExecutionResult(xml_path).suite
for test in suite.tests:#遍历所有测试
print test.name#测试的名字
print test.status#测试结果
#allTests = suite.statistics.all.total
allTests = suite.statistics.critical
print allTests.total#总测试条数
print allTests.passed#通过的条数
print allTests.failed#失败的条数
if __name__ == '__main__':
path = 'output.xml'
r = parse_robot_results(path)