Prueba de la página de inicio de sesión con Robot Framework
Con Robot Framework, hemos aprendido lo siguiente hasta ahora:
- Importar bibliotecas
- Trabajando con variables
- Crear palabras clave personalizadas
- Cómo escribir casos de prueba
- Cómo crear configuración y desmontaje
- Cómo ejecutar casos de prueba
- Cómo trabajar con casos de prueba basados en datos
Usaremos todas las funciones anteriores y las usaremos para probar la página de inicio de sesión en este capítulo. Tenemos una página de inicio de sesión que incluye la identificación de correo electrónico y la contraseña. Cuando ingrese la identificación de correo electrónico y la contraseña correctas, será redirigido a una página de bienvenida. Si el usuario ingresa una identificación de correo electrónico o contraseña no válida, la página será redirigida a la página de error.
La siguiente captura de pantalla muestra una página de inicio de sesión:
código HTML
<html>
<head>
<title>Login Page</title>
</head>
<body>
<script type="text/javascript">
function wsSubmit() {
if (document.getElementById("email").value == "[email protected]" && document.getElementById("passwd").value == "admin") {
location.href = "http://localhost/robotframework/success.html";
} else {
location.href = "http://localhost/robotframework/loginfailed.html";
}
}
</script>
<div id="formdet">
Email : <input type="text" id="email" value="" id="email" /><br/><br/>
Password : <input type="password" id="passwd" value="" /><br/><br/>
<input type="submit" id="btnsubmit" value="Submit" onClick="wsSubmit();"/>
</div>
</body>
</html>
La siguiente pantalla aparece cuando la identificación de correo electrónico o la contraseña no son válidas:
código HTML
<html>
<head>
<title>Login Failed</title>
</head>
<body>
<div id="loginfailed">
<h1>Login Failed</h1>
</div>
</body>
</html>
La siguiente pantalla aparece cuando tanto la identificación de correo electrónico como la contraseña son válidas:
código HTML
<html>
<head>
<title>Login Successful</title>
</head>
<body>
<div id="loginfailed">
<h1>Login Successful</h1>
</div>
</body>
</html>
Ahora vamos a escribir casos de prueba para la página de prueba anterior. Para empezar, primero ejecutaremos el comando para abrir Ride.
Mando
ride.py
Una vez hecho esto, comenzaremos con la configuración del proyecto como se muestra a continuación:
Haga clic en Nuevo proyecto e ingrese el nombre del proyecto.
Guardaremos el tipo de proyecto como Directorio. El nombre dado al proyecto es testlogin.
Haga clic en Aceptar para guardar el proyecto.
Ahora, crearemos un conjunto de pruebas dentro del proyecto.
Haga clic en New Suite y se mostrará una pantalla como se muestra a continuación:
Haga clic en Aceptar para guardar el conjunto de pruebas. Necesitamos importar la biblioteca de selenio ya que trabajaremos con el navegador.
Importar la biblioteca en el proyecto principal y también al conjunto de pruebas creado.
Haga clic en Biblioteca como en la captura de pantalla anterior. Al hacer clic en Biblioteca, aparecerá la siguiente pantalla.
Haga clic en Aceptar para guardar la biblioteca del proyecto.
Una vez que la biblioteca se guarda para el proyecto, mostrará la biblioteca en la configuración:
Repita el mismo paso para el conjunto de pruebas creado.
Aquí está la biblioteca agregada para el conjunto de pruebas:
Ahora, en el proyecto principal, crearemos una configuración y un desmontaje. Nos gustaría abrir la página de inicio de sesión en el navegador Chrome y maximizar la ventana. En el desmontaje, cerraremos el navegador.
Para la configuración, crearemos una palabra clave definida por el usuario llamada Open Login Page. Esta palabra clave tomará 2 argumentos, la URL de la página de inicio de sesión y el nombre del navegador.
Ahora, necesitamos 2 variables escalares que nos ayudarán a almacenar los valores: url y el nombre del navegador.
En paseo, crea 2 variables ${loginpage} y ${browser} como sigue -
${loginpage}
${browser}
Guarde ambas variables.
Las variables se mostrarán en su proyecto de la siguiente manera:
Ahora, agregaremos la configuración y el desmontaje para el proyecto principal.
Haga clic en el proyecto en el lado izquierdo. En la configuración, haga clic en Configuración de la suite.
Hemos creado una configuración que utiliza la palabra clave del usuario. Open Login Page con argumentos ${loginpage} y ${browser}.
Haga clic en Aceptar para guardar la configuración.
Ahora, tenemos que crear la palabra clave definida por el usuario Open Login Page, que se hace de la siguiente manera:
Haga clic derecho en el proyecto y haga clic en New User Keyword -
Al hacer clic New User Keyword, aparece la siguiente pantalla -
Aquí, la palabra clave tiene 2 argumentos: ${loginpage} y ${browser}. Haga clic en Aceptar para guardar la palabra clave del usuario.
Ahora debemos ingresar las palabras clave de la biblioteca, lo que abrirá la URL.
Open Login Page La palabra clave definida por el usuario tiene los siguientes detalles:
*** Keywords ***
Open Login Page
[Arguments] ${loginpage} ${browser}
Open Browser ${loginpage} ${browser}
Maximize Browser Window
Title Should Be Login Page
Ahora crearemos Suite Teardown para la suite.
Haga clic en Editar para Desmontaje de la suite e ingrese los detalles:
Para el desmontaje de Suite, usamos directamente la palabra clave de biblioteca, que cerrará el navegador. Haga clic en Aceptar para guardar el desmontaje de la suite.
Ahora, haga clic en Testlogin Suite que hemos creado.
Creemos ahora una configuración para el conjunto de pruebas: configuración de prueba. Esta configuración debe ejecutarse primero.
Haga clic en Editar para Configuración de prueba e ingrese los detalles.
Para la configuración de prueba, hemos creado una palabra clave definida por el usuario llamada Login Page Display, que tomará el argumento como ${loginpage} como en la captura de pantalla anterior.
Haga clic en Aceptar para guardar la configuración de la prueba.
Ahora, necesitamos crear la palabra clave de usuario. Login Page Display.
Haga clic con el botón derecho en el conjunto de pruebas y haga clic en New User Keyword como se muestra a continuación -
La palabra clave de usuario nuevo mostrará la pantalla como se muestra a continuación:
Haga clic en Aceptar para guardar la palabra clave.
Ingresemos ahora la palabra clave que necesitamos para la palabra clave del usuario. Login Page Display.
Aquí queremos ir a la loginpage y compruebe si el título de la página coincide con el valor dado.
Ahora, agregaremos una plantilla al conjunto de pruebas y crearemos casos de prueba basados en datos.
Para crear una plantilla, haga clic en la suite y en el lado derecho haga clic en Editar para la plantilla de prueba.
Se le dirigirá a la siguiente pantalla:
Test Login es nuevamente una palabra clave definida por el usuario. Haga clic en Aceptar para guardar la plantilla.
Antes de crear la palabra clave Test Login, necesitamos algunas variables escalares. Las variables escalares tendrán los detalles de la identificación de correo electrónico, contraseña, página de éxito, página de error, etc.
Crearemos variables escalares para el conjunto de pruebas de la siguiente manera:
Hemos creado variables escalares de correo electrónico, contraseña, página de éxito y página de error, como se muestra en la captura de pantalla anterior.
Ahora crearemos Test LoginPalabra clave definida por el usuario. Haga clic con el botón derecho en el conjunto de pruebas y haga clic en Nueva palabra clave de usuario.
Haga clic en Aceptar para guardar la palabra clave.
La siguiente captura de pantalla muestra las palabras clave ingresadas para el inicio de sesión de prueba:
Enter Email, Enter Password, Submit Details y Login Should Fail son palabras clave definidas por el usuario, que se definen de la siguiente manera:
Ingrese correo electrónico
Introducir la contraseña
Enviar detalles
El inicio de sesión debe fallar
Ahora, escribiremos casos de prueba, que llevarán diferentes detalles de identificación de correo electrónico y contraseña a la plantilla creada.
La siguiente es una lista de casos de prueba:
Caso de prueba de ID de correo electrónico no válido
El correo electrónico se pasa con los valores [email protected] y $ {contraseña} es la contraseña almacenada en la variable.
Contraseña invalida
ID de correo electrónico y contraseña no válidos
ID de correo electrónico vacío
Contraseña vacía
Correo electrónico y contraseña vacíos
Ahora, hemos terminado con los casos de prueba y podemos ejecutar los mismos.
Vaya a la pestaña Ejecutar y haga clic en Iniciar para ejecutar los casos de prueba.
Aquí están los mensajes de registro para los casos de prueba:
20181027 18:11:40.353 : INFO : Opening browser 'chrome' to base url '
http://localhost/robotframework/login.html'.
20181027 18:11:45.960 : INFO : Page title is 'Login Page'.
Starting test: Testlogin.Testlogin Suite.Invalid EmailId
20181027 18:11:45.991 : INFO : Opening url 'http://localhost/robotframework/login.html'
20181027 18:11:46.169 : INFO : Page title is 'Login Page'.
20181027 18:11:46.180 : INFO : Typing text '[email protected]' into text field 'email'.
20181027 18:11:46.706 : INFO : Typing text 'admin' into text field 'passwd'.
20181027 18:11:47.075 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:47.565 : INFO : Current location is 'http://localhost/robotframework/loginfailed.html'.
20181027 18:11:47.584 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Invalid EmailId
Starting test: Testlogin.Testlogin Suite.Invalid Password
20181027 18:11:47.600 : INFO : Opening url 'http://localhost/robotframework/login.html'
20181027 18:11:47.767 : INFO : Page title is 'Login Page'.
20181027 18:11:47.783 : INFO : Typing text '[email protected]' into text field 'email'.
20181027 18:11:48.342 : INFO : Typing text 'invalid' into text field 'passwd'.
20181027 18:11:48.701 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:49.035 : INFO : Current location is 'http://localhost/robotframework/loginfailed.html'.
20181027 18:11:49.051 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Invalid Password
Starting test: Testlogin.Testlogin Suite.Invalid EmailId And Password
20181027 18:11:49.054 : INFO : Opening url 'http://localhost/robotframework/login.html'
20181027 18:11:49.213 : INFO : Page title is 'Login Page'.
20181027 18:11:49.221 : INFO : Typing text 'invalid' into text field 'email'.
20181027 18:11:49.555 : INFO : Typing text 'invalid' into text field 'passwd'.
20181027 18:11:49.883 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:50.162 : INFO : Current location is 'http://localhost/robotframework/loginfailed.html'.
20181027 18:11:50.176 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Invalid EmailId And Password
Starting test: Testlogin.Testlogin Suite.Empty Emailid
20181027 18:11:50.188 : INFO : Opening url 'http://localhost/robotframework/login.html'
20181027 18:11:50.302 : INFO : Page title is 'Login Page'.
20181027 18:11:50.306 : INFO : Typing text '' into text field 'email'.
20181027 18:11:50.486 : INFO : Typing text 'admin' into text field 'passwd'.
20181027 18:11:50.693 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:50.935 : INFO : Current location is 'http://localhost/robotframework/loginfailed.html'.
20181027 18:11:50.958 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Empty Emailid
Starting test: Testlogin.Testlogin Suite.Empty Password
20181027 18:11:50.958 : INFO : Opening url 'http://localhost/robotframework/login.html'
20181027 18:11:51.063 : INFO : Page title is 'Login Page'.
20181027 18:11:51.071 : INFO : Typing text '[email protected]' into text field 'email'.
20181027 18:11:51.367 : INFO : Typing text '' into text field 'passwd'.
20181027 18:11:51.561 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:51.796 : INFO : Current location is 'http://localhost/robotframework/loginfailed.html'.
20181027 18:11:51.808 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Empty Password
Starting test: Testlogin.Testlogin Suite.Empty Email And Password
20181027 18:11:51.811 : INFO : Opening url 'http://localhost/robotframework/login.html'
20181027 18:11:51.908 : INFO : Page title is 'Login Page'.
20181027 18:11:51.916 : INFO : Typing text '' into text field 'email'.
20181027 18:11:52.049 : INFO : Typing text '' into text field 'passwd'.
20181027 18:11:52.193 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:52.419 : INFO : Current location is 'http://localhost/robotframework/loginfailed.html'.
20181027 18:11:52.432 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Empty Email And Password
Conclusión
Hemos visto aquí cómo probar una página de inicio de sesión con diferentes entradas, que validarán si el inicio de sesión funciona bien o no. Los detalles de cómo se lleva a cabo la ejecución se dan en la sección de registro.