如何在Selenium Grid2中运行Watir-Webdriver测试

kam*_*mal 6 ruby watir-webdriver selenium-grid2

我可能会遗漏一些明显的东西,但这里是我设置的:

  1. CentOs 6.4无头VM(运行Selenium hub)
  2. CentOs 6.4无头虚拟机(运行节点)(与#1相同的虚拟机)
  3. Windows Xp Pro VM(运行节点)
  4. CentOs 6.4无头VM(运行Watir测试)

在1,2和4上,我运行命令rvm使用ruby-2.1.1,并应用puppet模块安装以下宝石:['watir-webdriver','headless','bacon','selenium-webdriver ','rspec','黄瓜','测试单位','页面对象','ci_reporter']

然后,在#1上,我运行:

java -Xms1024M -Xmx2048M -jar selenium-server-standalone-2.40.0.jar -role hub

在#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
Run Code Online (Sandbox Code Playgroud)

或者命令:

java -jar selenium-server-standalone-2.40.0.jar -role node -hub http://<#1 VM DNS>:4444/grid/register -maxSession 20 -port 5555
Run Code Online (Sandbox Code Playgroud)

在两种情况下,我没有得到集线器上的指示,该节点确实已连接,或者在已注册到集线器的节点上,我在该节点上获得的最后一行是:

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
Run Code Online (Sandbox Code Playgroud)

IMO,"注册"表示正在进行中,尚未完成.无论如何,所以我打开了中心控制台@

http:// <#1 VM DNS>:4444 /

我得到:

你正在使用网格2.40.0在官方的selenium wiki上找到帮助:更多帮助这里默认监控页面:console

单击Console链接,我看到以下Proxies连接:

id:http:// <#3 IP地址,Windows XP专业版>:5555,操作系统:XP

我在Windows XP上运行了旧命令(所以当集线器重新启动时,它似乎已连接)

C:\ Documents and Settings\user1> java -jar selenium-server-standalone-2.40.0.jar -role node -hubHost <#1 VM DNS> -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
Run Code Online (Sandbox Code Playgroud)

我收到错误:

[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,rotate = false,takesScreenshot = true,version = 12}](org.openqa.grid.common.exception.GridException)(Selenium :: WebDriver :: Error ::未知错误)