0

使用selenium-server-standalone-2.18.0.jar。 在同一台主机上运行集线器和节点。 在单独的主机上运行客户端代码Ruby + watir-webdriver Selenium Grid2异常

在集线器控制台中,我能够看到其中一个节点已连接5个firefox图标。当我运行我的客户端代码时,我发现其中一个Firefox图标被拿走,就好像集线器已向连接的节点发出了请求。我在中心日志中看不到任何错误。 我使用红宝石+的Watir-webdriver的,像这样在启动浏览器:

capabilities = WebDriver::Remote::Capabilities.firefox 
b=Watir::Browser.new(:remote, :url => "http://[remote-host]:4444/wd/hub", :desired_capabilities => capabilities) 

和错误我收到:

from (irb):52>> b=Watir::Browser.new(:remote, :url => "http://[remote-host]:4444/wd/hub", :desired_capabilities => capabilities) 
Selenium::WebDriver::Error::UnknownError: Error forwarding the new session new session request for webdriver should contain a location header with the session. (org.openqa.grid.common.exception.GridException) 
from [remote server] org.openqa.grid.web.servlet.handler.RequestHandler(RequestHandler.java):151:in `process' 
from [remote server] org.openqa.grid.web.servlet.DriverServlet(DriverServlet.java):81:in `process' from [remote server] org.openqa.grid.web.servlet.DriverServlet(DriverServlet.java):67:in `doPost' 
from [remote server] javax.servlet.http.HttpServlet(HttpServlet.java):727:in `service' 
from [remote server] javax.servlet.http.HttpServlet(HttpServlet.java):820:in `service' 
from [remote server] org.openqa.jetty.jetty.servlet.ServletHolder(ServletHolder.java):428:in `handle'from [remote server] org.openqa.jetty.jetty.servlet.WebApplicationHandler(WebApplicationHandler.java):473:in `dispatch' from [remote server] org.openqa.jetty.jetty.servlet.ServletHandler(ServletHandler.java):568:in \`handle' 
from [remote server] org.openqa.jetty.http.HttpContext(HttpContext.java):1530:in `handle' 
from [remote server] org.openqa.jetty.jetty.servlet.WebApplicationContext(WebApplicationContext.java):633:in `handle' from [remote server] org.openqa.jetty.http.HttpContext(HttpContext.java):1482:in `handle' 
... 

回答

0

硒电网有很多固定为2.21.0问题。你应该尝试运行一个新的JAR。

0

嗨你解决了吗?我知道你发布已经有半年了,但我想也许问题是关于你的变量的能力......

这是我如何得到它的工作 - 请记住,我使用黄瓜与Watir-webdriver和Selenium Grid2:

在我的情况下,我使用名为browser_name的env.rb变量。它的设置是这样的:

def browser_name 
    (ENV['BROWSER'] ||= 'firefox').downcase.to_sym 
end 

然后在env.rb文件

Before do 
    @browser = Watir::Browser.new(:remote, :url=>"http://[mygridhubhost]:4444/wd/hub", :desired_capabilities=> browser_name) 

所以蹬掉了测试,它运行之前它与BROWSER_NAME网格设置,在这种情况下,默认为Firefox ....

无论如何,它适用于我。我也在使用Selenium Grid 2版本2.31