使用parallel_tests gem在不同的机器上同时运行相同的Cucumber功能

时间:2014-07-18 15:03:49

标签: ruby selenium-webdriver cucumber capybara parallel-testing

使用parallel_tests gem同时在不同的机器上运行相同的黄瓜功能

我试图弄清楚如何使用parallel_tests gem同时在各种不同的机器上运行EXACT SAME Cucumber Features。

目前我让它们在不同的机器上运行但是SAME功能不会执行,它只是拆分功能并在不同的机器上运行不同的功能。

更多关于我想做的事情的澄清:

MACHINE 1 (Win 7) - EXECUTE SAME FEATURES CONCURRENTLY
MACHINE 2 (Win 8) - EXECUTE SAME FEATURES CONCURRENTLY
MACHINE 3 (Mac OS X) - EXECUTE SAME FEATURES CONCURRENTLY
...

我的架构也是:

黄瓜 - > Capybara - > Selenium Webdriver - > Selenium Grid

parallel_tests gem:https://github.com/grosser/parallel_tests

3 个答案:

答案 0 :(得分:0)

parallel_tests gem的目的是实现并行,而不是执行多个平台。

您可能会发现以下内容: Sauce Gem 30 rake tasks

" Sauce集成目前针对RSpec和Cucumber,在本地服务器上运行,您可以旋转多个副本。它为每个平台运行每个测试的副本,并将它们划分为Sauce Labs帐户默认的所有并发性"

希望它有所帮助,我还没有自己使用它。

答案 1 :(得分:0)

答案 2 :(得分:0)

我对你的陈述感到困惑:

  

目前我让它们在不同的机器上运行但是相同   功能不执行,它只是拆分功能和运行   不同机器上的不同功能。

parallel_tests用于拆分测试并在多个核心上运行它们,而不是在多台机器的分布式环境中运行。它可以使用--only-group标志对要在分布式环境上运行的测试进行分组,但它实际上并未在分布式环境中运行测试。所以你必须自己动手来让测试在分布式环境中运行。您可以在多台计算机上运行所有测试,如下所示:

  1. 使用net-ssh ssh到每个方框中。
  2. 使用每个ssh会话来运行parallel_tests脚本(这应该打破测试并在当前框中并行运行 - 只是不要使用--only-group选项as described here