我可能会遗漏一些明显的东西,但这就是我的设置:
在1,2和4上,我运行命令rvm使用ruby-2.1.1,并应用puppet模块安装以下gem: ['watir-webdriver','headless','bacon','selenium-webdriver','rspec','cucumber','test-unit','page-object','ci_reporter']
然后,在#1上,我跑:
java -Xms1024M -Xmx2048M -jar selenium-server-standalone-2.40.0.jar -role hub
on#2,(与#1机器相同,我运行:
java -jar selenium-server-standalone-2.40.0.jar -role node -host <#1 VM DNS> -port 5555 -hub http://<#1VM DNS>:4444/grid/register
或命令:
java -jar selenium-server-standalone-2.40.0.jar -role node -hub http://<#1 VM DNS>:4444/grid/register -maxSession 20 -port 5555
在两个案例中,我没有得到集线器的指示,节点确实已连接,或者在已注册到集线器的节点上,我在节点上获得的最后一行是:
06:20:03.931 INFO - Starting auto register thread. Will try to register every 5000 ms.
06:20:03.932 INFO - Registering the node to hub :http://<#1 VM DNS>:4444/grid/register
IMO,“注册”表示正在进行中,尚未完成。无论如何,所以我打开了中心控制台@
http://&lt;#1 VM DNS&gt;:4444 /
我得到:
您正在使用网格2.40.0 在官方的selenium wiki上寻求帮助:更多帮助 默认监控页面:console
单击控制台链接,我看到以下连接的代理:
id:http://&lt;#3 IP地址,Windows Xp Pro&gt;:5555,操作系统:XP
我在Windows XP上运行旧命令(所以当集线器重新启动时,它似乎已连接)
C:\ Documents and Settings \ user1&gt; java -jar selenium-server-standalone-2.40。 0.jar -role node -hubHost&lt;#1 VM DNS&gt; -hubPort 4444
现在,我需要在ruby / Watir中针对windows节点运行firefox中的简单测试。
因为我无法对无头VM#1或#4运行浏览器测试,除非我安装并运行了xvfb帧缓冲区,对吧?
现在我跑
require "watir-webdriver"
caps = Selenium::WebDriver::Remote::Capabilities.firefox
caps.version = 12
caps.platform = :WINDOWS
caps[:name] = "Watir WebDriver"
browser = Watir::Browser.new(
:remote,
:url => "http://<#1 VM DNS>:4444/wd/hub",
:desired_capabilities => caps)
browser.goto "http://www.google.com"
p browser.title == "Google"
browser.close
我收到错误:
[remote server] org.openqa.grid.web.servlet.handler.RequestHandler(RequestHandler.java):114:in`process':转发新会话时出错:Capabilities [{platform = WINDOWS,javascriptEnabled = true,cssSelectorsEnabled = true,browserName = firefox,nativeEvents = false,name = Watir WebDriver,rotating = false,takesScreenshot = true,version = 12}](org.openqa.grid.common.exception.GridException)(Selenium :: WebDriver ::错误::不明错误)