批处理文件丢失循环中的日志

时间:2017-07-11 16:35:58

标签: batch-file robotframework

我在一个文件夹中有各种测试用例,需要我进行连续循环。为了尝试这个,我尝试制作一个循环测试用例的批处理脚本。但是,先前完成的迭代将丢失,并且仅保留最近的迭代。如何保留所有迭代的XML日志?

我的批处理文件如下所示:

FOR /L %%A IN (1,1,300) DO (
     call pybot --name *.robot
)

3 个答案:

答案 0 :(得分:3)

您需要让脚本告诉机器人为每次循环迭代生成的输出文件指定一个唯一的名称。然后,您需要额外的步骤将所有这些输出合并为一个。

首先,生成唯一的输出文件:

FOR /L %%A IN (1,1,300) DO (
     call pybot --output output-%%A.xml *.robot
)

注意:默认情况下,pybot会生成log.html和report.html。如果要生成单个统一日志和报告,可能需要在循环内禁止它们。如果是这样,请在文件名前添加--log none --report none,以防止在循环中创建这些文件。

接下来,您可以使用rebot将所有这些单独的报告合并到一个报告中:

call rebot *.xml

我不知道rebot是否是您系统上的已知命令 - 它是机器人的一部分,但我不知道您是如何在系统上安装的。一般来说,如果pybot是有效命令,rebot也应该是。{1}}。有关rebot的更多信息,请参阅机器人框架用户指南中的Post-processing outputs

注意:您的批处理脚本中似乎有错误。执行call pybot --name *.robot时,第一个文件将不会作为测试运行,因为它将被赋予--name选项,而不是被视为应该运行的测试文件。

答案 1 :(得分:2)

使用以下参数明确指定日志文件名:

Uncaught Error: Cannot find module "js-routes"

请记住,任何selenium屏幕截图仍会被覆盖(如果您在测试中使用了selenium)。

答案 2 :(得分:1)

FOR /L %%A IN (1,1,300) DO (
     call pybot --name *.robot
)>>afilename.txt
相关问题