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