0

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

我试图弄清楚如何使用 parallel_tests gem 在各种不同的机器上同时运行完全相同的黄瓜功能。

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

关于我想要做的更多说明:

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
...

我的架构也是:

Cucumber -> Capybara -> Selenium Webdriver -> Selenium Grid

并行测试宝石:https ://github.com/grosser/parallel_tests

4

3 回答 3

0

感谢您的澄清。要在所有受支持的环境(操作系统/浏览器)上测试您的应用程序,您可以使用Selenium Grid这里是一个示例Selenium RC:在多个浏览器中自动运行测试

TestingBot 是一个使用这个的服务:http: //blog.testingbot.com/2012/02/19/selenium-cucumber-capybara

此处描述了其他方法:http: //altoros.github.io/2013/running-capybara-tests-in-remote-browsers/

http://paauspaani.blogspot.mx/2013/05/running-tests-remotely-using-selenium.html

还有一个介绍:http ://www.slideshare.net/martinkleppmann/crossbrowser-testing-in-the-real-world

这也可以帮助你有没有人想出一种在多个浏览器/网络驱动程序上运行相同黄瓜场景的方法?

希望这会给你一些线索。

于 2014-07-25T21:54:19.863 回答
0

我对你的这种说法感到困惑:

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

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

  1. 使用net-ssh SSH 进入您的每个盒子。
  2. 使用每个 ssh 会话来运行您的 parallel_tests 脚本(它应该分解测试并在当前框上并行运行它们——只是不要使用此处描述--only-group的选项)
于 2014-07-27T15:10:05.287 回答
0

parallel_tests gem 真正用于并行化,而不是执行多个平台。

您可能会发现以下有用: Sauce Gem 30 rake 任务

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

希望对你有帮助,我自己还没用过。

于 2014-07-22T05:58:47.997 回答