Selenium IDE: comando para esperar 5 segundos

90

Estoy usando el IDE de Selenium 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 de 3 a 5 segundos para cargarse.

Mis mandamientos:

open /Page/mysite.html
//Wait Command? (5 seconds)
ClickAndWait link=do something
LaPhi
fuente

Respuestas:

107

Use el comando de pausa e ingrese la cantidad de milisegundos en el campo Objetivo.

Establezca la velocidad más rápida (Acciones -> Más rápido), de lo contrario no funcionará.

Adam Prax
fuente
¡Gracias! Inserte el comando, pero Selenium no se detiene. Comando = pausa, Valor = 10000
LaPhi
53
Utilizar en Targetlugar de Value. Command = Pause, Target = 1000.
khairul
1
@Khairul me alegro de que hayas agregado ese comentario, ¡me ha estado volviendo loco por qué pause()no funciona!
cchana
La velocidad no influye en el comando de pausa, es como dice @Khairul en cambio: Ponlo en el objetivo.
Mendhak
cuando hace una pausa al final de un caso de prueba al ejecutar un conjunto de pruebas, no funcionará
Alfonso Fernandez-Ocampo
85

Esto retrasará las cosas durante 5 segundos:

Comando: pausa
Objetivo: 5000
Valor:

Esto retrasará las cosas durante 3 segundos:

Comando: pausa
Objetivo: 3000
Valor:

Documentación:

http://release.seleniumhq.org/selenium-core/1.0/reference.html#pause

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

MacGyver
fuente
2
Entonces, configure 5000 durante 5 segundos
Ripon Al Wasim
1
Es una locura que hagan que el objetivo sea el valor a esperar en milisegundos. Quiéralo. Gracias por publicar esto, ya que ni siquiera intenté ingresar el valor en el objetivo.
John Z
6

Para aquellos que trabajan con ant, utilizo esto para indicar una pausa de 5 segundos:

<tr>
    <td>pause</td>
    <td>5000</td>
    <td></td>
</tr>

Es decir, target: 5000y valuevacío. Como indica la referencia:

pausa (tiempo de espera)

Argumentos:

  • waitTime: la cantidad de tiempo para dormir (en milisegundos)

Espere la cantidad de tiempo especificada (en milisegundos)

fedorqui 'ASÍ que deja de hacer daño'
fuente
4

Su mejor opción es probablemente waitForConditionescribir una función de JavaScript que devuelva verdadero cuando se carga el mapa.

muy cafeinado
fuente
¡Gracias por tu comentario! Pero, ¿existe ahora una forma OOTB de esperar x segundos?
LaPhi
1
No, no hay forma directa de esperar x segundos. Consulte la lista completa de comandos compatibles .
Muy cafeína
2
pausa x000 segundos esperará x segundos
Thunder Rabbit
1

Esto hará lo que está 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 no sean confiables

Pawel Pabich
fuente
Mucho mejor opción en Selenium 2.
craastad
0

El comando de pausa se puede utilizar directamente en el ide en formato html.

Si usa java o C, puede usar Thread.sleep (5000). El tiempo está en milisegundos. Otros idiomas admiten "dormir 5" o time.sleep (5). tienes múltiples opciones para esperar un tiempo determinado.

cascabel
fuente
2
Thread.Sleep nunca es una buena idea y es por eso que Selenium proporciona primitivas de espera. Si los usa, puede especificar un valor de tiempo de espera mucho más alto, lo que hace que las pruebas sean más confiables sin ralentizarlas, ya que la condición se puede evaluar con la frecuencia necesaria, por ejemplo. cada 50ms.
Pawel Pabich
Mi respuesta en el thread.sleep solo está relacionada con responder la pregunta de cómo hacer que espere en el ide. A medida que la pausa se traduce en thread.sleep cuando se convierte de html a java o c en el ide.
rattlerbred
0

Antes del comando, clickAndWaitagregue 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 pausar es la mayoría de las veces más eficiente y estable.

Jorge
fuente
0

Esto esperará hasta que aparezca su enlace y luego podrá hacer clic en él.

Command: waitForElementPresent Target: link=do something Value:

the_average_average
fuente
0

Uno que encontré que funciona para el sitio que pruebo es este:

waitForCondition | selenium.browserbot.getUserWindow (). $. active == 0 | 20000

Klendathu

Klendathu
fuente
0

En Chrome, para "Selenium IDE", también me costaba que no se detuviera. Se detendrá, si da lo siguiente:

  • Comando: pausa
  • Objetivo: en blanco
  • Valor: 10000

Esto se detendrá durante 10 segundos.

TechSingh
fuente
1
El objetivo debe ser 10000 y el valor debe estar en blanco
Sirmyself
No estoy seguro de qué complemento del navegador está probando, pero funcionó bien para mí en Chrome. También depende de la extensión que esté utilizando.
TechSingh