2009-05-15 37 views
8

Estoy comenzando con Selenium IDE y tratando de probar una aplicación web que está llena de cuadros de diálogo modales (window.showModalDialog).¿Cómo pruebo los diálogos modales con Selenium?

La grabación de la prueba parece funcionar (excepto que no hay nada en el registro cuando aparece el cuadro de diálogo) pero no se reproducen correctamente. La secuencia de comandos realmente abre la ventana (activada por un clic del botón), pero luego simplemente espera indefinidamente.

¿Alguna sugerencia?

Respuesta

3

Desde el Selenium FAQ, selenio, aparentemente funciona con algunos tipos de cuadros de diálogo pero no en otros:

no puedo interactuar con un cuadro de diálogo emergente. ¡Mi prueba se detiene en seco!

Puede, pero solo si el diálogo es un cuadro de diálogo de alerta o confirmación . Los otros cuadros de diálogo especiales no pueden ser descartados por javascript, y por lo tanto, actualmente no se puede interactuar con . Estos incluyen el "Guardar archivo", "Recordar esta contraseña" (Firefox), y los diálogos modales (IE). Cuando aparecen, Selenium solo puede retorcerse desesperado.

Para resolver este problema, puede usar una solución alternativa (si existe); de lo contrario, , es posible que deba excluir la prueba de su corpus automatizado. Para el diálogo "Guardar Archivo" en Firefox, una nueva plantilla se puede especificar cuando se ejecuta a través del RC que siempre va a hacer que el archivo a ser descargado a un ubicación especificada, sin consultar al usuario (ver http://forums.openqa.org/thread.jspa?messageID=31350) . El cuadro de diálogo "Recordar esta contraseña" no debe volver a aparecer después de elegir para recordarlo. Actualmente no hay que se pueda hacer sobre IE diálogos modales.

Parece que recuerdo a alguien que trabaja alrededor de esto con un script AutoHotKey que descarta el diálogo.

+0

El problema es que estos no son diálogos pequeños: son interfaces ricas que deben probarse. Intentaré algo más, supongo. ¡Gracias! –

3

He estado usando selenio IDE para probar modales jQuery durante bastante tiempo ahora, nunca han tenido algún problema. Estas son las cosas que hago para asegurar que la prueba se ejecuta correctamente en la reproducción:

  • ejecutar la secuencia de comandos a la velocidad más lenta posible
  • cuando el modal se abre, yo uso el comando waitForElementPresent para verificar la presencia de al menos uno de los elementos constitutivos en la página; Siendo un argumento, si un elemento se carga correctamente, es seguro asumir que todos los elementos y, por lo tanto, la ventana modal se cargaron correctamente.

Espero que esto ayude. Si desea más ayuda, puede compartir el código conmigo junto con el error de ejecución que IDE le presenta.

0

Esta es la forma en que manejo pop-up de alerta en Selenio IDE

haga clic derecho sobre el elemento (en este caso su pop-up ventana) hay algunos comandos que puede elegir. También hay un show con todos los comandos disponibles que pueden ser de ayuda. Deberías usar AssertElementPreset y supongo que el mejor localizador en este caso es CSS. Para que pueda elegir AssertElementPresent.

O

se pueden utilizar dos comandos en Selenio IDE

selectWindow | null 
verifyElementPresent | css=div.content 

Espero que esto ayude!

Cuestiones relacionadas