ventanas permitir internet habilitar extension emergentes desbloquear complemento como chrome bloquear internet-explorer selenium popup regression-testing

internet explorer - permitir - Manejo de ventanas emergentes del navegador con Selenio



permitir ventanas emergentes firefox (5)

¡¡Funciona!! Solo para que sea más fácil para la gente que prefiere selenese.

Esto funcionó para mí usando IE7 (modo normal).

Qué maldita molestia. Gracias al monstruo de espagueti en el cielo por eso o no hay forma de que lo haya conseguido trabajando en IE.

<tr> <td>getEval</td> <td>selenium.browserbot.getCurrentWindow().open('''', ''windowName'');</td> <td></td> </tr> <tr> <td>click</td> <td>buttonName</td> <td></td> </tr> <tr> <td>windowFocus</td> <td>windowName</td> <td></td> </tr> <tr> <td>waitForPopUp</td> <td>windowName</td> <td>3000</td> </tr> <tr> <td>selectWindow</td> <td>windowName</td> <td></td> </tr>

Estamos ejecutando pruebas de regresión de Selenium contra nuestra base de códigos existente, y ciertas pantallas en nuestra aplicación web usan ventanas emergentes para pasos intermedios.

Actualmente usamos los comandos en la prueba:

// force new window to open at this point - so we can select it later selenium().getEval("this.browserbot.getCurrentWindow().open('''', ''enquiryPopup'')"); selenium().click("//input[@value=''Submit'']"); selenium().waitForPopUp("enquiryPopup", getWaitTime()); selenium().selectWindow("enquiryPopup");

... que funciona la mayor parte del tiempo . Ocasionalmente, la prueba fallará en la línea waitForPopUp() con

com.thoughtworks.selenium.SeleniumException: Permission denied

¿Alguien puede sugerir un método mejor y más confiable ?

Además, principalmente ejecutamos estas pruebas en IE6 y 7.


Acabo de probar agregando otra función de selenio, windowFocus() :

// force new window to open at this point - so we can select it later selenium().getEval("this.browserbot.getCurrentWindow().open('''', ''enquiryPopup'')"); selenium().click("//input[@value=''Submit'']"); selenium().windowFocus("enquiryPopup"); selenium().waitForPopUp("enquiryPopup", getWaitTime()); selenium().selectWindow("enquiryPopup");

La prueba tuvo éxito cuando la ejecuté localmente, pero solo con todas las llamadas a métodos: crear / enfocar / esperar / seleccionar.

Estoy a punto de dejar que el servidor de compilación ejecute todas las pruebas, y si eso tiene éxito también, haré una función de biblioteca fuera de él ...!


Intente agregar algunas declaraciones de espera sobre las llamadas que le causan problemas.

He tenido los mismos errores antes y la única forma en que pude resolverlos de manera confiable fue haciendo llamadas a System.Threading.Thread.Sleep (5000) ..


Necesitaba seleccionar un iframe dentro de una ventana emergente y completar un formulario. Tuve problemas para usar el cmd de selectWindow donde el selenio no pudo encontrar mi iframe, por lo que eliminé el comando.

Este selenese funcionó bien para mí (donde el título iframe y id = account_frame):

<tr> <td>click</td> <td>//a[@class=''item_add'']</td> <td></td> </tr> <tr> <td>windowFocus</td> <td>account_frame</td> <td></td> </tr> <tr> <td>waitForPopUp</td> <td>account_frame</td> <td>10000</td> </tr>


Si está ejecutando en modo * iehta, entonces se encontrará con algunos problemas técnicos aquí y allá. Ejecutamos Selenium en mi trabajo y parece que hay muchos problemas con IE y AJAX.

Sin embargo, parece que el problema con el que te encuentras es que Selenium está intentando acceder a un componente en otra ventana antes de que se cargue por completo. No estoy seguro de cómo se configura el intervalo de tiempo de espera predeterminado, pero es posible que desee intentar aumentarlo a 60 (60000 ms) segundos para poder superar el problema.

Aparte de eso, le sugiero que ejecute sus pruebas en Firefox (usando * chrome), ya que produce resultados mucho más confiables, pero a veces simplemente no es posible debido a los requisitos del negocio.