加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 用水豚进行平行硒试验

发布时间:2020-12-17 04:37:00 所属栏目:百科 来源:网络整理
导读:背景: 我有一组针对我的Rails 3应用程序运行的Capybara集成测试.对于测试套件的其他部分,我正在使用Rspec. 我的Mac OSX开发机器上有一个selenium 2.6.0独立服务器集线器. java -jar selenium-server-standalone-2.6.0.jar -role hub 我正在运行几个虚拟机,
背景:

我有一组针对我的Rails 3应用程序运行的Capybara集成测试.对于测试套件的其他部分,我正在使用Rspec.

我的Mac OSX开发机器上有一个selenium 2.6.0独立服务器集线器.

java -jar selenium-server-standalone-2.6.0.jar -role hub

我正在运行几个虚拟机,每个虚拟机都与一个selenium节点连接到集线器:

java -jar selenium-server-standalone-2.6.0.jar -role webdriver -hub http://0.0.1.12:4444/grid/register port 5555 -browser browserName="internet explorer",version=8,platform=WINDOWS

这很好用,在这个截图中,控制台显示我有一个连接到集线器的IE7和IE8浏览器:

我已经设置了capybara来对抗selenium hub(将测试委托给节点).

Capybara.app_host = "myapp.dev"
Capybara.default_driver = :selenium
Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app,:browser => :remote,:url => "http://localhost:4444/wd/hub",:desired_capabilities => :internet_explorer)
end

它可以工作,但它只会在单个internet_explorer节点上运行测试.它似乎是“排在第一位”的那个;如果我将其关闭,测试将在另一个节点上成功运行.

我一直在尝试parallel_tests项目,按照建议配置capybara,但这仍然只会启动一个集成测试.

如何同时在所有internet_explorer节点上运行我的集成?

奖金问题:如果我想在所有连接的节点上运行我的集成测试,无论浏览器功能如何,我该怎么做?

解决方法

在这里,您必须为不同的浏览器触发相同的测试,因此可以尝试启动两个测试过程,即两次运行相同的命令.

当您启动节点时,Grid将处理不同节点上的执行.

在您的情况下,您正在执行测试,并且仅针对Grid启动套件/进程.仅用于测试目的尝试一次又一次地触发这些测试.如果您无法通过此使用Ant或类似的东西来控制您的测试执行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读