我正在使用机器人框架执行一组测试用例,如下所示:
pybot -o output1.xml -l log1.html -r report1.html testsuite.robot
这将分别在我的目录中创建输出xml文件以及报告和日志文件。
现在,考虑上面的套件中有10个测试用例,其中8个通过,2个失败。我将使用以下命令重新运行这些测试用例:
pybot --rerunfailed -o output2.xml -l log2.html -r report2.html testsuite.robot
我将获得两个xmls然后我想合并它们并使用以下命令将最终的xml文件作为output1.xml以及新的日志和报告文件:
rebot --merge output1.xml output2.xml
我担心的是,我们在这里得到log.html
和report.html
。但是,我可以使用我提供的任何名称来获取自定义日志,而不是这些默认文件吗?
如下所示
rebot --merge output1.xml output2.xml -l Final_Log.html -r Final_Report.html
如何在合并两个xml文件后获取具有自定义名称的日志?
答案 0 :(得分:5)
我重新解决了这个问题。感谢Goralight让我想到了获取自定义的xml,日志和报告文件。
让我们开始。
pybot -o output1.xml -l log1.html -r report1.html testsuite.robot
pybot --rerunfailed -o output2.xml -l log2.html -r report2.html testsuite.robot
在此之后,我得合并这两个xml文件。我分别需要新的xml文件,日志文件和报告文件。因此,在Gorlight的结果和我的进一步研究的帮助下,我得到了以下解决方案,我非常相信。
rebot --merge --output Final_output.xml -l Final_log.html -r final_report.xml output1.xml output2.xml
这给了我以下三个文件
Final_output.xml,Final_log.html和final_report.xml
最后这就是我想要的。否这我与我的Jenkins报告生成器集成并填充了最终的通过/失败结果。
感谢Lot Goralight的帮助。
答案 1 :(得分:4)
您不需要--merge
。
如果要将两个日志连接在一起,请使用此命令。
rebot -N TwoCombinedTests --outputdir C:/Path/Where/You/Want/To/Save Test1.xml Test2.xml
这会将2个测试xmls与名称Test1
和Test2
结合使用。在您使用--outputdir
选项的路径中,由于TwoCombinedTests
命令,最终名称为-N
。
请注意;当然,你必须在当前的directoy中存储这些xml文件。如果使用终端只需一个简单的cd /path/to/xmls
即可。
编辑 - 在我的情况下,当我运行我的测试(大约6个机器人文件)时,它将生成每个文件中的6个(报告,日志输出),每个文件都有自己的自定义名称(测试名称以及构建/冲刺)然后我会把这些名字扔进sprint并合并它们。以下是我使用的脚本示例,用于了解rebot的用途(而不是过度思考它是什么)
# command to combine all the reports into one large report.
os.system('rebot -N AllCombinedTests-' + SprintSlash + '-' + Build + ' '
'--outputdir C:/AutomationLogs/' + Product + '/Combined/'
+ Version + Sprint + Build + " " + TotalXml)
其中TotalXml是找到的所有XML的字符串列表。
EDIT2:
rebot --merge --name ExampleName original.xml merged.xml
此rebot命令将为您(original.xml和merged.xml)组合两个输出xmls,名称为ExampleName
从这里你将有一个很大的输出xml"然后你可以再次运行rebot以从中生成报告/日志
rebot -N NameThatYouWant ExampleName.xml
这将使用您刚刚生成的XML以及名称" NameThatYouWant"
如有任何问题,请随时提出。