How to deal with Robot Framework result from XML output
最近在做个邮件通知,邮件正文中需要总结一下RF的结果,本来想直接把rebot命令生成的html页面复制上去,后来发现它是基于js生成的。 既然邮件不识别,只能自己来生成html结果了。 1. Parse output.xmlrebot命令生成报告是基于RF生成的output.xml, 我们也需要从这里下手。 2. ExecutionResult API我们只是要得到statistics的结果,所以只需用ExecutionResult的返回值Result即可。
我们需要逐一的去看看对应instance以及其父类的成员变量,比如我们看文档可以知道TotalStatistics.message可以得到如下结果:
3. Handle result code snippetfrom pprint import pprint
from robot.api import ExecutionResult
def handle_robot_results(xml_path):
print '='×80
print 'RF Total Result:'
test_stats = ExecutionResult(xml_path).statistics
pprint(test_stats.total.message)
print '='×80
for stats_by_suite in test_stats.suite:
print('{:70} {:^5} {:^5}'.format(stats_by_suite.name,stats_by_suite.total,stats_by_suite.passed))
print '='×80
for stats_by_tag in test_stats.tags:
print('{:50} {:^5} {:^5}'.format(stats_by_tag.name,stats_by_tag.total,stats_by_tag.passed))
print '='×80
有了以上结果,我们就能轻松生成html格式的邮件了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |