我有5个相互独立的测试套件。 我必须针对相同的环境运行它。我的大多数测试套件都包含API调用。 套件内的测试用例应按顺序运行,因为它们相互依赖。
有没有办法可以通过pybot命令并行运行所有测试套件?
答案 0 :(得分:11)
Robot Framework中没有本地处理并行执行测试的方法。 有Pabot, a parallel executor for RF。 Pabot允许测试套件分发并组合报告和日志。
答案 1 :(得分:3)
我们也Workshare处理了此事(当时我们不知道Mikko工作),我们最近开源了。它现在是生产级别,因为我们使用它来并行启动我们的CI(jenkins)测试。它可以生成一个完整的最终报告,它可以重新运行失败的测试,它有一个全局设置/拆除机制,它生成xunit兼容结果文件,它也适用于Windows :)(尽管Linux是一个更好的选择!)
您可以在以下位置找到它: https://github.com/workshare/parallel_pybot
答案 2 :(得分:0)
当测试完全独立并且可以完全并行运行时,我已经取得了一些成功,只需编写一个执行脚本,遍历我想要并行运行测试的单元的所有IP地址,然后使用该IP地址作为参数调用测试。我还告诉它只创建output.xml文件,根据主机名或IP地址命名它们,然后脚本使用rebot进行后处理,从而创建一个包含所有单元的聚合报告。
答案 3 :(得分:0)
简单的解决方案是使用Jekins:
只需在Jenkins作业构建部分设置参数,例如:
然后触发上游作业。你会让它们并行运行。
但是您仍然需要确保您访问的文件被其中一个测试作业锁定。