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

Posted

技术标签:

【中文标题】如何并行运行机器人框架测试用例而不是并行测试套件?【英文标题】:How to run robot framework test cases parallel and not Test Suite parallel? 【发布时间】:2019-08-02 11:03:18 【问题描述】:

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

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

执行时有两个发现:

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

我使用下面的库

robotframework-pabot==0.53 机器人框架-seleniumlibrary==3.3.1

【问题讨论】:

【参考方案1】:

第一点:如果您阅读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

【讨论】:

【参考方案2】:

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

pabot --testlevelsplit [path to tests]

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

【讨论】:

以上是关于如何并行运行机器人框架测试用例而不是并行测试套件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在机器人框架中实现并行执行

Pabot - 无法运行并行机器人框架测试

如何在 Perl 测试套件中并行运行一些但不是所有测试?

Selenium GRID:并行运行多个 Robot Framework 测试套件

如何在 TestNG 中并行运行测试用例?

无法在 pycharm 中使用 pabot 运行并行机器人框架测试