項目中遇到需要另外解析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)