2012-08-06 19 views
5

Estoy en el proceso de migrar algunos de nuestros scripts de Watir heredados a Watir-Webdriver. La migración ha ido muy bien, excepto por cómo diseñaron Watir-Webdriver para manejar ventanas emergentes. En lugar de usar el método 'Attach' probado y verdadero, lo han reemplazado con un método simplificado de 'Ventana'. La sintaxis es bastante simple, sin embargo, estoy teniendo dificultades para entender cómo cerrar una ventana secundaria separada sin cerrar la ventana principal. Actualmente mi código es algo como esto -Watir Webdriver cómo cerrar child windows

b.button(:xpath => PREVIEWBUTTON).click 
    b.window(:title, POPUPWINDOW).use DO 
    b.close 
    end 

actualmente lo que está sucediendo es que el método b.close está cerrando la ventana del niño y la ventana padre. No estoy seguro de por qué sucede esto, ya que el método b.close está contenido en el bloque DO. Necesito verificar que el 'PREVIEWBUTTON' de hecho crea una ventana secundaria, pero necesito que la ventana padre permanezca abierta.

Respuesta

9

Prueba esto:

b.window(:title, POPUPWINDOW).close 
+1

Excelente, esto funcionó! También aprendí que, en mi caso, es mucho más ventajoso encontrar la ventana secundaria usando el 'índice' que figura aquí: https://github.com/watir/watirspec/blob/master/window_switching_spec.rb. ¡Gracias de nuevo! – Brian

+0

¿Hay alguna otra manera de encontrar ventanas secundarias, quizás incluso iterar sobre ellas? – stack1

Cuestiones relacionadas