2009-08-10 13 views
15

Estoy tratando de probar un diálogo de confirmación JS con Cucumber on Rails. Tengo una ventana. Antes de descargar el controlador de eventos que te indicará un cuadro de diálogo de confirmación si tratas de salir de la página pero no tengo idea de cómo probarlo, ¿alguien tiene una idea de cómo se puede hacer esto?Pepino + prueba alerta JS

Respuesta

6

Hay varias funciones de selenio puede utilizar para capturar alertas/confirma ellos no están disponibles directamente con la implementación de selenio webrat, pero cuando de webrat config.mode = :selenium que se puede utilizar como sigue usando:.

Then /^I should see a JS alert$/ do 
    selenium.is_alert_present.should be_true 
end 

# or 

Then /^I should see a "Are you sure?" JS confirm dialog$/ do 
    selenium.get_alert.should eql("Are you sure?") 
end 

# you can also click the OK/Cancel buttons on confirm boxes with 

selenium.chooseOkOnNextConfirmation(); 
#and 
selenium.chooseCancelOnNextConfirmation(); 

Probablemente no sean las mejores pruebas, pero te da una idea. internamente el selenio anula las funciones de alerta() y confirmación() de JS para que pueda capturar esta información.

Puede encontrar más documentos sobre el selenium faq o en el servidor de la gema

+0

Si no desea usar 'selenium.chooseOkOnNextConfirmation()' puede usar 'selenium.get_alert' para consumir la alerta después de llamar a' selenium.is_alert_present'. Si no hace ninguna de estas cosas, su próxima declaración de selenio fallará debido a la alerta pendiente. – Loktar

0

Puede usar Webrat o Selenio con pepino para probar esto.

Mi conjetura es que desea navegador simulado o pruebas del navegador automatizado,

Puede utilizar Webrat o Webrat :: Selenio El selenio o simplemente con el pepino en tales casos.

He probado esto usando Selenium and Cucumber antes, pero parece que no puedo encontrar el código, y edito la publicación si lo hago.

HTH

0

yo recomendaría usar screw-unit Javascript para probar el comportamiento en una página. También puede echar un vistazo al complemento blue-ridge de Relevance, que incorpora una unidad de tornillo y agrega soporte para la línea de comandos y en las pruebas js del navegador. Puedes encontrarlo en github en relevancia/blue-ridge. (Todavía no tengo el representante para publicar más de un enlace :(

Sería un ejercicio interesante usar la unidad de tornillo y/o el borde azul para conducir las pruebas de pepino, y probablemente no tan difícil de tirar . off

0

This gist tiene pasos para probar un diálogo de confirmación JS en los carriles 2 y 3 con cualquier conductor capibara, debe ser fácil de adaptar a un cuadro de alerta.