2011-02-11 5 views
5

Tengo problemas para obtener un ejemplo de pepino que funcione con selenio. Estoy corriendoEl selenio no funciona con Pepino/Capibara (listo para usar) - MacOSX

  • Rails3
  • pepino 0.10.0
  • Carpincho 0.4.1.2

Lectura de la mana en , parecería que todo lo que necesita para obtener un ejemplo de ejecute bajo el selenio es para hacer lo siguiente:

Paso 1: prefijo del escenario con @javascript

@javascript 
Scenario: User does x 
... 

Paso 2: Configurar env.rb para contar capibara controlador que debe utilizar:

Capybara.javascript_driver = :selenium 

Cuando corro:

bundle exec cucumber feature/myfeature.feature 

consigo el siguiente:

Using the default profile... 
F------------F 

Failing Scenarios: 
cucumber features/myfeature.feature:7 # Scenario: User does x 

1 scenario (1 failed) 
12 steps (12 skipped) 
0m0.012s 

n ventana de firefox Nada. Corre, se cuelga y muere.

Así que para comprobar si capibara y el selenio WebDriver está trabajando, escribí el siguiente código:

require 'capybara' 
require 'capybara/dsl' 

Capybara.default_driver = :selenium 

class Test 
    include Capybara 
    def dotest 
    visit('http://www.stackoverflow.com') 
    end 
end 

Test.new.dotest 

Y corrió usando:

bundle exec ruby /tmp/test.rb 

que funciona. Firefox abre la ventana y navega a www.stackoverflow.com.

Entonces, ¿cómo puedo obtener información de diagnóstico para comprender qué le está haciendo el pepino al capibara?

Estoy ejecutando OSX10., Ruby 1.8.7 y Firefox 3.6.13.

+0

Capybara 0.4.0 tiene medio año de antigüedad. Recomiendo ejecutar 'actualización de paquete '- quizás eso ya solucione su problema. –

+0

Ahora estoy en Capybara 0.4.1.2. El mismo problema. – BlueFish

+0

¿Hay alguna forma de obtener información de registro? – BlueFish

Respuesta

7

Ok ... descubrí mi problema. En algún lugar de los tazones de pepino hay una dependencia de DatabaseCleaner que se activa una vez cuando usas el controlador de selenio. La declaración de falla:

F______________F 

Me dijo que la falla estaba ocurriendo en la configuración y el desmontaje. Pepino no estaba informando la excepción e incluso con el -b no hizo nada.

Cómo me encontré con el problema:

  1. Añadir rubí de depuración como una dependencia joya

  2. Agregar requiere "ruby-debug" para env.rb

  3. I añadió la siguiente instrucción para env.rb:

Before do 
    breakpoint; 0 
end 
  1. ejecutó la función mediante exec haz. El depurador se inició.

  2. Escriba cat StandardError que indicará al depurador el punto de interrupción cuando se lanza "StandardError". StandardError es la clase base para todos los errores en Cucumber. Lo que queremos hacer es descubrir dónde se produce el error y por qué.

  3. Type en cont para decirle al depurador para reanudar

Después de la adición de base de datos más limpia como una dependencia joya, todo lo que fue. Firefox comenzó a dispararse y las cosas comenzaron a funcionar según lo anunciado.

+0

Tuve el mismo problema cuando la aplicación no se pudo conectar a la base de datos de prueba. Tus pasos me dieron un seguimiento de la pila, para poder encontrar el problema. –

0

¿Usted intentó

bundle exec cucumber feature/myfeature.feature 

!!

+0

Mismo resultado. Error con el mismo error – BlueFish

+0

Puede obtener información de registro de prueba utilizando: tail -f log/test.log –

+0

Gracias, pero esa no es la información que estoy buscando. Estoy tratando de descubrir por qué el pepino/capibara no lanza Firefox para comenzar a ejecutar el escenario. El registro de prueba no muestra eso. Muestra (correctamente) cualquier inserción de ActiveModel, etc. – BlueFish

Cuestiones relacionadas