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

JCD*_*ani 2 python robotframework

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

pabot --verbose --processes 3 --variable --variable url:http://xxxxxxxxx:8080  --include Sanity --output original.xml --randomize all TestCases
Run Code Online (Sandbox Code Playgroud)

执行时有两个发现:

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

我使用下面的库

机器人框架-pabot==0.53
机器人框架-硒库==3.3.1

Nom*_*mce 6

第一点:如果您阅读GitHub 自述页面,在“您应该知道的事情”中,它指出:

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

所以在测试级别没有什么可做的,除非你帮助开发工具,这样就可以并行启动测试用例。

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

rebot --merge output1.xml output2.xml
Run Code Online (Sandbox Code Playgroud)

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

rebot -o output.xml --merge output1.xml output2.xml
Run Code Online (Sandbox Code Playgroud)


mko*_*ela 5

现在(0.57 版之后)你可以用

pabot --testlevelsplit [path to tests]
Run Code Online (Sandbox Code Playgroud)

更多信息的官方链接https://github.com/mkorpela/pabot