Excepción Ruby + watir-webdriver Selenium Grid2

Usando selenium-server-standalone-2.18.0.jar. Ejecutar el concentrador y el nodo en el mismo host. Ejecutando el código del cliente en un host separado

En la consola central, puedo ver que uno de los nodos se ha conectado con 5 íconos de Firefox. Cuando ejecuto mi código de cliente, veo que uno de los íconos de Firefox se elimina como si el concentrador hubiera enviado la solicitud al nodo conectado. No veo errores en los registros del concentrador. Estoy iniciando el navegador usando ruby ​​+ watir-webdriver así:

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

Y el error que estoy recibiendo:

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

preguntado el 24 de agosto de 12 a las 10:08

2 Respuestas

Selenium Grid solucionó muchos problemas a partir de la versión 2.21.0. Debería intentar ejecutar con un JAR más nuevo.

Respondido 26 ago 12, 14:08

Hola lo solucionaste? Sé que ha pasado medio año desde que publicaste, pero pensé que tal vez el problema estaba relacionado con tu variable de capacidades...

Así es como lo hice funcionar: tenga en cuenta que estoy usando Cucumber con Watir-webdriver y Selenium Grid2:

En mi caso, uso una variable env.rb llamada browser_name. Se establece así:

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

Luego en el archivo env.rb

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

Entonces, al comenzar la prueba, antes de ejecutarla, se configura con la cuadrícula con el nombre_del_navegador, en este caso, por defecto es firefox....

De todos modos, funciona para mí. También estoy usando Selenium Grid 2 versión 2.31

respondido 13 mar '13, 19:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.