有没有办法并行运行机器人框架测试套件?

时间:2014-04-04 06:03:48

标签: python testing robotframework

我有5个相互独立的测试套件。 我必须针对相同的环境运行它。我的大多数测试套件都包含API调用。 套件内的测试用例应按顺序运行,因为它们相互依赖。

有没有办法可以通过pybot命令并行运行所有测试套件?

4 个答案:

答案 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:

  1. 您可以使用robotframework插件安装Jeknins。您可以拥有 默认情况下,两个作业并行运行,没有任何从属节点。
  2. 或者您有多个从属节点,然后在机器人和节点标签中使用标签来分配作业。
  3. 只需在Jenkins作业构建部分设置参数,例如:

    1. pybot --include tag1 test.robot for job1
    2. 然后设置pybot --include tag2 test.robot for job2。
    3. 然后触发上游作业。你会让它们并行运行。

      但是您仍然需要确保您访问的文件被其中一个测试作业锁定。