如何并行运行机器人框架测试用例而不是并行运行Test Suite?

时间:2019-03-12 03:16:07

标签: python robotframework

我正在尝试使用命令从不同套件并行运行我的测试用例

pabot --verbose --processes 3 --variable --variable url:http://xxxxxxxxx:8080  --include Sanity --output original.xml --randomize all TestCases

执行时有两个发现:

  1. 套件是并行执行的,而不是测试用例。即如果有两个套件A和B,如果A完成30分钟而B完成5分钟,则总执行时间为30分钟,这仅仅是因为每个进程都选择每个套件而不是测试用例 如何并行运行测试用例而不是套件并行运行?
  2. 它为每个测试套件pabot_results\TestCases分别创建outputdir,这使我很难重新运行失败的测试用例。 如何获得所有套件执行的单个output.xml文件?

我使用下面的库

  

robotframework-pabot == 0.53
  robotframework-seleniumlibrary == 3.3.1

2 个答案:

答案 0 :(得分:3)

第一点:如果您读过the GitHub readme page,则在“您应该知道的事情”中指出:

  

Pabot将从套件文件而不是单个测试级别中分离测试执行。

因此,除非您帮助开发工具,否则在测试级别上无需执行任何操作,因此可以并行启动测试用例。

第二点:使用rebot。您可以使用以下命令合并多个测试执行报告:

rebot --merge output1.xml output2.xml

这将仅生成html报告。要获取合并的output.xml文件,只需在参数中添加-o output.xml,如下所示:

rebot -o output.xml --merge output1.xml output2.xml

答案 1 :(得分:1)

现在(0.57版以后),您可以使用

pabot --testlevelsplit ..