Para un Pepino escenario en mi aplicación Rails 3.1, he utilizado el @etiqueta de javascript, por lo que el Selenio está activado.
Me sale el siguiente error:

Could not find Firefox binary (os=macosx). Make sure Firefox is installed or set the path manually with Selenium::WebDriver::Firefox::Binary.path= (Selenium::WebDriver::Error::WebDriverError)

Si es posible, me gustaría utilizar Google Chrome como el navegador Firefox no (que yo no lo he instalado). Es esto posible? ¿Qué se podría hacer?

De hecho, no debería Pepino/Selenio detectar un navegador y usarlo?

====EDITAR====

Después de la adición de

Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end

…a las funciones de soporte//env.rb,
Ahora me aparece este error:

Unable to find the chromedriver executable. Please download the server from http://code.google.com/p/chromium/downloads/list and place it somewhere on your PATH. More info at http://code.google.com/p/selenium/wiki/ChromeDriver. (Selenium::WebDriver::Error::WebDriverError)
  ./features/step_definitions/web_steps.rb:45:in `/^(?:|I )am on (.+)$/'
  features/update_memories.feature:11:in `Given I am on the home page'

He descargado desde aquí, y he intentado poner el chromedriver ejecutable en /usr/bin, pero me sigue apareciendo el error anterior.

====EDIT 2====

Después de ir un paso más allá y se ejecuta «sudo chmod +x /usr/bin/chromedriver» como se sugiere a continuación, me da un error después de ejecutar pepino:

@javascript
  Scenario: navigate to memory update page from home page              # features/update_memories.feature:11
    Given I am on the home page                                        # features/step_definitions/web_steps.rb:44
      unable to connect to chromedriver http://127.0.0.1:57870 (Selenium::WebDriver::Error::WebDriverError)
      ./features/step_definitions/web_steps.rb:45:in `/^(?:|I )am on (.+)$/'
      features/update_memories.feature:12:in `Given I am on the home page'
    When I activate the edit memory switch for the memory "I played"   # features/step_definitions/memories/memory_steps.rb:5
    Then I should be on the edit memory page for the memory "I played" # features/step_definitions/web_steps.rb:187
      PGError: server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
      : ROLLBACK (ActiveRecord::StatementInvalid)

Ayuda apreciada! Cada vez más cerca…

InformationsquelleAutor dmonopoly | 2011-07-25

6 Comentarios

  1. 32

    Para carpincho, agregar esto a env.rb

    Capybara.register_driver :selenium do |app|
      Capybara::Selenium::Driver.new(app, :browser => :chrome)
    end

    Descarga el Chrome conductor ejecutable y copiarlo en la ruta de acceso, por ejemplo, /usr/bin/ y hacerlo ejecutable

    $ sudo chmod +x /usr/bin/chromedriver
    • Bueno, me dieron un paso más allá con el comando chmod especificado (¡gracias!), pero me da un error nuevo. Estoy actualizando mi pregunta ahora mismo.
    • FWIW, pude instalar chromedriver con Homebrew, pero es necesario agregar /usr/local/bin a mi Textmate RUTA en Preferencias -> Avanzado> las Variables de Shell
    • Alguien es darle a este hombre que la comprobación de la respuesta correcta!
    • Para mí esta solución fue exitosa sólo cuando puse conductor en /usr/bin. Colocarlo en /usr/local/bin (también incluido en la RUTA) no el truco.
    • Hola a todos. No descargar chromedriver2. No funciona. No creo que los rieles de selenio gema se establezcan para ello. Quitar este comentario si algo ha cambiado.
    • enlace a Chrome unidad ejecutables ha cambiado a chromedriver.storage.googleapis.com/index.html
    • Acabo de añadir este a spec_helper.rb en cualquier lugar y no necesita ejecutar el sudo comando, en caso de que sea útil a alguien más. También después de descargar el Chrome conductor, tienes que descomprimir antes de meterlo en /usr/bin/ carpeta
    • He descargado desde chromedriver.storage.googleapis.com/index.html y cuando ejecuto sudo mv chromedriver /usr/bin/chromedriver, tengo Operation not permitted de error.
    • Finalmente tuve éxito con sudo mv chromedriver /usr/local/bin/chromedriver
    • GRACIAS YOOOOOUUUUUUUUUUUUUUUUUUUU. P. S, en los rieles con rspec, yo sólo tenía que poner esto en spec_helper.rb

  2. 3

    Hoy en día la forma más sencilla de obtener la chromedriver ejecutable parecen ser la instalación de la chromedriver-ayudante de la gema. Por favor, consulte https://github.com/flavorjones/chromedriver-helper para más detalles.

    Además de la instalación de la gema usted tendrá que configurar su entorno de la misma manera como ya se ha mencionado en varias otras respuestas:

    Carpincho.register_driver :el selenio do |app| 
    Carpincho::Selenio::Controlador.nueva(de la aplicación, el navegador => :chrome) 
    final
  3. 1

    Si usted está usando capybara probar este

    Capybara.register_driver :selenium do |app|

      Capybara::Selenium::Driver.new(app, :browser => :chrome)

    end

    Ver capybara docs para obtener detalles adicionales (especialmente echar un vistazo a la Configuración y añadir la sección de controladores)

    • He seguido lo que usted sugiere, pero me sale un nuevo error (ver actualizado pregunta)… cualquier posibilidad de que usted podría ayudar y actualización de su respuesta?
  4. 1
    Capybara.default_driver = :chrome
    Selenium::WebDriver::Chrome::Service.executable_path = '/usr/local/bin/chromedriver' # specify the path of chromedriver
    Capybara.register_driver :chrome do |app|
      Capybara::Selenium::Driver.new(app, :browser => :chrome)
    end
  5. 0

    Intente cambiar el ajuste «*chrome» a «*googlechrome» en la clase de función de configuración.

    • Hmm, en qué archivo?
    • No. El selenio tiene el confuso *chrome vs *googlechrome opciones, pero en Capybara las opciones son las menos loco :firefox vs :chrome.
  6. 0

    trate de poner la ruta de acceso de chrome controladores en su variable de entorno PATH si usted está en una distro de linux con bash.

    Carpincho.register_driver :el selenio do |app|
    Carpincho::Selenio::Controlador.nueva(de la aplicación, el navegador => :chrome)
    final

    Descargar el Chrome conductor ejecutable y copiarlo en la ruta de acceso, por ejemplo, /usr/bin/y hacerlo ejecutable

    $ sudo chmod +x /usr/bin/chromedriver

    esto funcionó para mí

Dejar respuesta

Please enter your comment!
Please enter your name here