rspec selenium-webdriver

rspec - Selenium:: WebDriver:: Error:: JavascriptError: esperando que falle la carga de evaluation.js Firefox 23



selenium-webdriver (4)

Hoy, al ejecutar mis pruebas rspec, aparece el siguiente error cuando en alguna parte de una prueba hay una llamada `page.execute_script ''.

Selenium::WebDriver::Error::JavascriptError: waiting for evaluate.js load failed # [remote server] file:///tmp/webdriver-profile20130807-3105-fpynb7/extensions/[email protected]/components/driver_component.js:8360:in `r'' # [remote server] file:///tmp/webdriver-profile20130807-3105-fpynb7/extensions/[email protected]/components/driver_component.js:392:in `fxdriver.Timer.prototype.runWhenTrue/g'' # [remote server] file:///tmp/webdriver-profile20130807-3105-fpynb7/extensions/[email protected]/components/driver_component.js:386:in `fxdriver.Timer.prototype.setTimeout/<.notify''

Hay un archivo evaluate.js en el directorio / resources (en lugar de componentes) de la ruta anterior, como lo está en otras máquinas.

Esto sucedió después de actualizar a Firefox 23 de 22. No he podido deshacer aún para confirmar que volver a 22 realmente soluciona el problema, pero eso es todo lo que he cambiado, creo.

¿Alguien más ha visto este problema?

Ejecutando Kubuntu 12.04, Capybara 1.1.4, Selenium-webdriver gem 2.33.0

Intenté actualizar Capybara a 2.whatever y selenium-webdriver a 2.34.0, sin cambios.


Ejecuté el siguiente y funcionó:

gem install selenium-webdriver -v "2.35.0"


He actualizado mis gemas a:

gem ''capybara'', ''~> 2.1.0'' gem ''selenium-webdriver'', ''~> 2.35.1''

Esto funcionó para mí.

Actualizar:

Capybara 2.1.0 me ha dado un problema con Phantomjs y finalmente uso la versión 2.0.3.


Instalé Selenium Webdriver recientemente y vi este mismo problema con algunos de mis scripts de prueba de Python. Después de algunas excavaciones, pude determinar que execute_script estaba execute_script cuando intentó convertir el valor de retorno de JS en un objeto que podría evaluarse de forma nativa (en Python para mi escenario).

Colgaría:

self.driver.execute_script(''document.body.innerHTML="<form></form>";'')

No colgaría:

self.driver.execute_script(''document.body.innerHTML="<form></form>"; return true;'')

Aún puede devolver objetos más complicados, solo tengo cuidado de que JS siempre return explícitamente el valor que quiero o true si solo necesito que se ejecute el script.

Espero que esto ayude.

Algunas de las lecturas que hice para resolver esto:


Tuve el mismo problema en Mac OS X Lion con FF 23.

Pero el problema desapareció cuando actualicé selenium-webdriver a 2.34.0

gem "selenium-webdriver", "~> 2.34.0" en mi Gemfile.

bundle update selenium-webdriver

bundle install

El pepino funciona bien con selenio ahora.