ruby on rails - tutorial - EOFError: se ha alcanzado el final del archivo: todas las especificaciones de js están bloqueando el Capybara con un controlador anterior de Chrome
selenium rails (3)
Carpincho usando el controlador de Chrome con la configuración:
spec_helper
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
Capybara.javascript_driver = :chrome
Parece que estoy consiguiendo
EOFError:
end of file reached
En todas mis pruebas de Javascript cuando las ejecuto con el controlador de Chrome.
Esto parece haber comenzado alrededor del 27 de octubre de 2016
Correr con poltergeist funcionan bien.
• También cuando se bloquean, parecen abrir varias instancias de Chrome que se cuelgan (pero no salen). Vea el ejemplo de captura de pantalla http://screencast.com/t/Worwl9d6Iuhr.
• estos parecen afectar solo mis especificaciones de JavaScript (: js => verdadero en Capibara)
• Reiniciar mi máquina no resolvió el problema
• Mi Chrome Mac OS X se encuentra actualmente en 54.0.2840.71
• No estoy seguro de cuándo salió la versión sub-sub-71 ya que, por supuesto, Chrome no te lo dice o incluso parece que está disponible en algún tipo de historial de actualizaciones. La información pública dice que la versión del punto secundario 54.0.2840 fue lanzada el 2016-10-12, pero no especifica cuándo se lanzó la versión sub-sub-punto 71
• Puedo reproducir el efecto en mi código en master, también, tengo una memoria específica de ejecutar estas especificaciones con el controlador de Chrome a principios de esta semana, así que estoy fuertemente sospechando que Chrome hizo una versión de sub-sub-punto aquí y rompió esto.
si alguien más puede confirmar, lo agradecería. de lo contrario, si encuentro un problema local, publicaré la respuesta aquí.
• Capibara 2.7.1
• selenium-webdriver 2.53.0
• Localicé el ejecutable Chromedriver en mi máquina en /usr/local/bin/chromedriver
[¿es este el correcto - parece que tengo uno más antiguo en /Users/jason/bin/chromedriver
?]
$ which chromedriver /usr/local/bin/chromedriver
$ /usr/local/bin/chromedriver -v ChromeDriver 2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b)
Espero que esto ayude a alguien. Hace poco recibí este error cuando estaba usando capybara / poltergeist en un puerto específico (`., Luego tuve un proceso de prueba bloqueado aún escuchando en un puerto específico.
La actualización de Chrome Driver a 2.25 resolvió el problema
para hacerlo a través de brew
$ brew unlink chromedriver
Unlinking /usr/local/Cellar/chromedriver/2.20... 1 symlinks removed
$ brew install chromedriver
==> Using the sandbox
==> Downloading https://chromedriver.storage.googleapis.com/2.25/chromedriver_mac6
######################################################################## 100.0%
==> Caveats
To have launchd start chromedriver now and restart at login:
brew services start chromedriver
Or, if you don''t want/need a background service you can just run:
chromedriver
==> Summary
🍺 /usr/local/Cellar/chromedriver/2.25: 4 files, 10.3M, built in 7 seconds
Si está utilizando rbenv, puede actualizar el cromedriver usando brew y copiar el ejecutable:
por ejemplo, estoy usando Ruby 2.4.1:
$ cp /usr/local/Cellar/chromedriver/2.30/bin/chromedriver $HOME/.rbenv/versions/2.4.1/bin/
$ chmod +x $HOME/.rbenv/versions/2.4.1/bin/chromedriver
gracias