Selenium :: WebDriver :: Error :: JavascriptError: en attente d’évaluation.js Le chargement a échoué Firefox 23

Aujourd’hui, en exécutant mes tests rspec, j’obtiens l’erreur suivante chaque fois que quelque part dans un test il y a un appel `page.execute_script ‘.

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

Il existe un fichier assessment.js dans le répertoire / resources (au lieu des composants) du chemin ci-dessus, comme sur les autres machines.

Cela s’est produit après la mise à jour vers Firefox 23 à partir de 22. Je n’ai pas encore pu revenir en arrière pour confirmer que le retour à 22 corrige effectivement le problème, mais c’est tout ce qui a changé, je crois.

Quelqu’un d’autre a-t-il vu ce problème?

Kubuntu en cours d’exécution 12.04, Capybara 1.1.4, selenium-webdriver gem 2.33.0

J’ai essayé de mettre à jour Capybara à 2.whatever et selenium-webdriver à 2.34.0, pas de changement.

J’ai eu le même problème sur Mac OS X Lion avec FF 23.

Mais le problème est parti pour moi quand j’ai mis à jour selenium-webdriver à 2.34.0

J’ai ajouté gem "selenium-webdriver", "~> 2.34.0" dans mon Gemfile.

bundle update selenium-webdriver

bundle install

Le concombre fonctionne bien avec le selenium maintenant.

J’ai mis à jour mes gemmes pour:

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

Cela a fonctionné pour moi.

Mettre à jour:

Capybara 2.1.0 m’a posé un problème avec Phantomjs et finalement, j’utilise la version 2.0.3.

J’ai couru le ci-dessous et ça a fonctionné:

  gem install selenium-webdriver -v "2.35.0" 

J’ai récemment installé Selenium Webdriver et j’ai vu ce même problème avec certains de mes scripts de test Python. Après quelques recherches, j’ai été en mesure de déterminer que execute_script était suspendu lorsqu’il tentait de convertir la valeur de retour de JS en un object pouvant être évalué en mode natif (en Python pour mon scénario).

Serait accrocher:

 self.driver.execute_script('document.body.innerHTML="
";')

Ne pendre pas:

 self.driver.execute_script('document.body.innerHTML="
"; return true;')

Vous pouvez toujours retourner des objects plus compliqués, je fais juste attention à toujours demander explicitement à JS de return la valeur que je veux ou true si j’ai juste besoin que le script soit exécuté.

J’espère que cela t’aides.

Certaines des lectures que j’ai faites pour comprendre cela: