天天看點

【筆記】RobotFrameWork解析output.xml的一種方法

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