【问题标题】:Is there any way to run robot framework test suites in parallel?有没有办法并行运行机器人框架测试套件?
【发布时间】:2014-05-16 07:01:03
【问题描述】:

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

有什么方法可以通过 pybot 命令并行运行所有测试套件?

【问题讨论】:

    标签: python testing robotframework


    【解决方案1】:

    Robot Framework 中没有对并行执行测试的本地处理。 有Pabot, a parallel executor for RF。 Pabot 允许分发测试套件并制作组合报告和日志。

    【讨论】:

    • 非常有用的工具。将运行我们的回归套件所需的时间从 8 小时减少到 2 小时。
    【解决方案2】:

    我们也在Workshare 对此事发表了看法(当时我们不知道 Mikko 的工作),我们最近将其开源。它现在是生产级别,因为我们使用它在我们的 CI (jenkins) 上并行启动我们的测试。它可以生成完整的最终报告,可以重新运行失败的测试,它具有全局设置/拆卸机制,它生成与 xunit 兼容的结果文件,并且它也适用于 Windows :)(尽管 Linux 是更好的选择!)

    您可以在以下位置找到它: https://github.com/workshare/parallel_pybot

    【讨论】:

    • 存储库https://github.com/workshare/parallel_pybot 不再存在(至少在该地址下)
    • 这是答案中提到的parallel_pybot的新家吗? github.com/nilshamerlinck/parallel_pybot
    • 是的,看起来像!幸运的是有人及时分叉了它:)
    【解决方案3】:

    当测试完全独立并且可以完全并行运行时,我仅编写了一个执行脚本就取得了一些成功,该脚本遍历了我想要并行运行测试的单元的所有 IP 地址,然后使用该 IP 地址作为参数调用测试。我还告诉它只创建 output.xml 文件,根据主机名或 IP 地址命名它们,然后脚本使用 rebot 进行后处理,从而创建包含所有单元的聚合报告。

    【讨论】:

      【解决方案4】:

      简单的解决方案是使用 Jekins:

      1. 你可以安装带有robotframework插件的Jeknins。你可以有 两个作业默认并行运行,没有任何从节点。
      2. 或者你有多个从节点,然后使用机器人中的标签和节点标签来分配作业。

      只需在Jenkins作业构建部分设置参数,如:

      1. pybot --include tag1 test.robot for job1
      2. 然后为job2设置pybot --include tag2 test.robot。

      然后触发上游作业。你会让它们并行运行。

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

      【讨论】:

        猜你喜欢
        • 2023-03-10
        • 2019-03-15
        • 2019-08-02
        • 1970-01-01
        • 2016-05-03
        • 2016-02-20
        • 2017-04-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多