如何并行运行机器人框架测试用例而不是并行测试套件?
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
【讨论】:
以上是关于如何并行运行机器人框架测试用例而不是并行测试套件?的主要内容,如果未能解决你的问题,请参考以下文章