testing - tutorial - Cómo realizar pruebas de bucle en Selenium IDE?
selenium tutorial español pdf (7)
He estado probando en Selenium IDE. Es bastante fácil de usar, y he creado algunos casos de prueba con él. He estado buscando en Google, tratando de encontrar una manera de repetir mis pruebas automáticamente. He visto una solución con gotolabel, while loops, etc. Pero no pude hacer ninguna de ellas funciona. ¿Puede alguien darme un consejo sobre cómo repetir mi prueba n
veces, o repetir para siempre? Agradezco cualquier ayuda.
Encontré este tutorial mucho más útil, porque algunas de las respuestas anteriores son simplemente soluciones "ir a", en lugar de construcciones repetitivas de bucle:
http://www.software-testing-tutorials-automation.com/2013/07/example-of-while-and-endwhile-loop.html
Esta es una muestra para el usuario de sampcop para automatizar las quejas de spam utilizando la etiqueta y los comandos de etiquetas de Goto:
1st Login en spamcop.net
2º uso Reportar la opción Spam
3 ° comenzar este script
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://www.spamcop.net/sc" />
<title>testecase</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">testecase</td></tr>
</thead><tbody>
<tr>
<td>label</td>
<td>target1</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Report Now</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//input[@value=''Send Spam Report(s) Now'']</td>
<td></td>
</tr>
<tr>
<td>gotoLabel</td>
<td>target1</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
Hacer esto:
- Descargue este archivo js: https://github.com/darrenderidder/sideflow/blob/master/sideflow.js
- Inicie Selenium IDE desde Firefox y abra el menú de opciones.
- Suba el archivo .js al campo "Selenium Core extensions (user-extensions.js)".
El archivo js proporciona funcionalidad goto, gotoIf y while en Selenium IDE. El siguiente ejemplo muestra un bucle simple:
<tr>
<td>getEval</td>
<td>index = 0;</td>
<td></td>
</tr>
<tr>
<td>while</td>
<td>index < 10;</td>
<td></td>
</tr>
<tr>
<td>storeEval</td>
<td>index</td>
<td>value</td>
</tr>
<tr>
<td>echo</td>
<td>${value}</td>
<td></td>
</tr>
<tr>
<td>getEval</td>
<td>index++;</td>
<td></td>
</tr>
<tr>
<td>endWhile</td>
<td></td>
<td></td>
</tr>
Soy nuevo en Selenium (recién comencé a usarlo hace unos minutos). Después de una rápida búsqueda en Google de "lazo de selenio" surgió esta pregunta de .com. Inmediatamente salté a la extensión y comencé a usar bucles. La respuesta aceptada es muy útil. Sin embargo, quería señalar algo más para otros que son nuevos para el selenio (y tropezar en esta página).
Creé una prueba simple para una página web simple. Agregué un bucle para que la prueba se ejecutara indefinidamente (hasta que pause / lo detuve). Sin embargo, noté que al hacer esto, los contadores de Ejecuciones / Fallas dentro de la GUI de Selenium no aumentan con cada ciclo (supongo que porque un solo caso de prueba nunca se ejecutó hasta su finalización, sino que solo bucleó indefinidamente). Así que cavé un poco más. Mi objetivo era dejar funcionando la misma prueba durante mucho tiempo (unas pocas horas, o posiblemente durante la noche) para ver si había fallas (estoy persiguiendo un error intermitente en este momento).
La forma más sencilla (para mí, después de unos minutos de buscar / experimentar) era hacer lo siguiente (probablemente no se necesitan complementos, aunque el complemento adjunto es definitivamente útil si quiere ejecutar algunos pequeños bucles dentro de un caso de prueba):
- guarde el caso de prueba en un archivo de texto
- guarde el conjunto de pruebas en un archivo de texto
- abra el archivo de texto de la suite de pruebas en un editor de texto
- copie y pegue el caso de prueba varias veces dentro del conjunto de pruebas (por ejemplo, mil veces)
- luego abra el banco de pruebas en Selenium y ejecute el conjunto de pruebas
Ahora tengo el mismo conjunto de pruebas simple que se ejecuta muchas veces, y los contadores de Ejecuciones / Fallas se incrementan como se espera (sin la necesidad de ningún bucle).
Su archivo de suite de pruebas es solo un archivo HTML, solo haga lo siguiente:
<tr><td><a href="testCase1.html">testCase1</a></td></tr>
<tr><td><a href="sameStep.html">sameStep</a></td></tr>
<tr><td><a href="testCase2.html">testCase1</a></td></tr>
<tr><td><a href="sameStep.html">sameStep</a></td></tr>
Use el plugin Flow Control para Firefox . Después de reiniciar Firefox, use el comando de label
para marcar un punto en el script, y el comando gotolabel
para saltar allí.
Por ejemplo:
O si prefiere ver el código fuente, esta es una etiqueta:
<tr>
<td>label</td>
<td>start</td>
<td></td>
</tr>
Y esto hace que el punto de ejecución regrese a la etiqueta:
<tr>
<td>gotolabel</td>
<td>start</td>
<td></td>
</tr>
Hay otros comandos que puede ver en la página de plug-ins, y documentados en el proyecto Selenium IDE: Flow Control GitHub .
como se indica en la respuesta anterior, instale la extensión de usuario, que agregará funcionalidad de bucle a las pruebas IDE de Selenio. El siguiente ejemplo muestra un bucle simple:
<tr>
<td>getEval</td>
<td>index = 0;</td>
<td></td>
</tr>
<tr>
<td>while</td>
<td>index < 10;</td>
<td></td>
</tr>
<tr>
<td>storeEval</td>
<td>index</td>
<td>value</td>
</tr>
<tr>
<td>echo</td>
<td>${value}</td>
<td></td>
</tr>
<tr>
<td>getEval</td>
<td>index++;</td>
<td></td>
</tr>
<tr>
<td>endWhile</td>
<td></td>
<td></td>
</tr>