internet - Selenium IDE-Comando de esperar 5 segundos
selenium ide internet explorer (10)
Estoy usando el Selenium IDE para Firefox y estoy buscando un comando de espera. Mi problema es que quiero probar un sitio web con un mapa externo incrustado. Este mapa externo necesita 3-5 segundos para cargarse.
Mis comandos:
open /Page/mysite.html
//Wait Command? (5 seconds)
ClickAndWait link=do something
Antes del comando, clickAndWait
añada el siguiente código para que el script espere hasta que el enlace específico sea visible:
<tr>
<td>waitForVisible</td>
<td>link=do something</td>
<td></td>
</tr>
La práctica de usar los comandos de espera en lugar de pausa es la mayoría de las veces más eficiente y más estable.
El comando de pausa se puede usar directamente en ide en el formato html.
Si usa java o C, puede usar Thread.sleep (5000). El tiempo está en milisegundos. Otros idiomas admiten "sleep 5" o time.sleep (5). tienes múltiples opciones solo por esperar un tiempo establecido.
En Chrome, para "Selenium IDE", también estaba luchando para que no se detuviera. Pausará, si das lo siguiente:
- Comando: pausa
- Objetivo: blanco
- Valor: 10000
Esto se pausará por 10 segundos.
Esto esperará hasta que aparezca su enlace, y luego puede hacer clic en él.
Command: waitForElementPresent Target: link=do something Value:
Esto hará lo que estás buscando en C # (WebDriver / Selenium 2.0)
var browser = new FirefoxDriver();
var overallTimeout = Timespan.FromSeconds(10);
var sleepCycle = TimeSpan.FromMiliseconds(50);
var wait = new WebDriverWait(new SystemClock(), browser, overallTimeout, sleepCycle);
var hasTimedOut = wait.Until(_ => /* here goes code that looks for the map */);
Y nunca use Thread.Sleep porque hace que sus pruebas sean poco confiables
Para aquellos que trabajan con ant
, uso esto para indicar una pausa de 5 segundos:
<tr>
<td>pause</td>
<td>5000</td>
<td></td>
</tr>
Es decir, target: 5000
y value
vacío. Como la referencia indica:
pausa (waitTime)
Argumentos:
- waitTime: la cantidad de tiempo para dormir (en milisegundos)
Espere la cantidad de tiempo especificada (en milisegundos)
Tu mejor waitForCondition
es probablemente waitForCondition
y escribir una función javascript que devuelva verdadero cuando se carga el mapa.
Uno que he encontrado que funciona para el sitio que pruebo es este:
waitForCondition | selenium.browserbot.getUserWindow (). $. active == 0 | 20000
Klendathu
Use el comando de pause . Establezca la velocidad al más rápido (Acciones -> Más rápido); de lo contrario, no funcionará.
Esto retrasará las cosas durante 5 segundos:
Comando: pausa
Objetivo: 5000
Valor:
Esto retrasará las cosas por 3 segundos:
Comando: pausa
Objetivo: 3000
Valor:
Documentación: