2017-06-14 40 views
2

我执行使用机器人框架测试用例集如下如何生成自定义日志:使用rebot命令

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 

我会得到两个个XML,然后我想将它们合并,并获得最终的XML文件作为output1.xml与新的日志一起和报告使用下面的命令文件:

rebot --merge output1.xml output2.xml 

我关心的是,在这里我们得到log.htmlreport.html。但是,不用这些默认文件,我可以使用我提供的任何名称来定制我的日志吗? 像下面

rebot --merge output1.xml output2.xml -l Final_Log.html -r Final_Report.html 

有人可以帮我,我怎么能合并这两个XML文件后获得定制名称日志?

回答

4

我重新处理了这个问题。感谢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报告生成器集成并填充了最终的通过/失败结果。

非常感谢Goralight的帮助。

4

你不需要--merge

如果您想要将两个日志连接在一起,请使用此命令。

rebot -N TwoCombinedTests --outputdir C:/Path/Where/You/Want/To/Save Test1.xml Test2.xml 

本文将结合对您2测试与个XML名称Test1Test2。在通过--outputdir选项给出的路径中,并且由于-N命令,最终名称为TwoCombinedTests

注意;当然,你将不得不在当前正在存储这些xml文件的directoy中。如果使用终端,只需一个简单的cd /path/to/xmls即可。

编辑 - 在我的情况下,当我运行我的测试(大约6个机器人文件)时,它会生成每个文件(报告,日志输出),每个文件都有自己的自定义名称(测试名称以及构建/冲刺号码)。然后,我会将这些名字放入冲刺中并将它们全部合并。下面是我用你明白什么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命令将结合两个输出个XML为你(original.xml和merged.xml)的名称EXAMPLENAME

在这里,您将有一个大的“输出XML “然后你就可以只需再次运行rebot生成报告/日志从中

rebot -N NameThatYouWant ExampleName.xml 

这将使用你刚才的名称而产生的XML‘NameThatYouWant’

如有任何问题,请询问。

+0

谢谢@Goralight。所以,你的意思是说,-N命令将合并两个XML文件,并给你带有提到的名称的新XML。但是,日志文件呢?它会是log.html还是TowcombinedTests.html。请确认。 – CodeFlash

+0

“-N”命令将命名两个组合的output.xml的子节点。所以你给它的XML测试1和测试2。它将通读这些内容,并将它们合并到最终的报告/日志文件中,如您在给出的目录中的'TwoCombinedTests.html' – Goralight

+0

如果您想将两个输出结合到另一个xml文件中,那么如果您想要为其生成组合日志。你最好只是跳过中间人,并从你想要的xml列表中生成一个组合的日志/报告。尽管我现在会检查你。 – Goralight