automation testing using cucumber tool
En el último tutorial de Selenium, le presentamos Rejilla de selenio cual es a ejecución de prueba distribuida entorno para acelerar la ejecución de un pase de prueba .
Ahora, al final de esta serie completa de capacitación sobre selenio, estamos aprendiendo Prueba de selenio y conceptos relacionados.
En este y en el siguiente tutorial, le presentaremos el Pepino - un Marco de desarrollo impulsado por el comportamiento (BDD) que se utiliza con Selenium para realizar pruebas de aceptación.
Lo que vas a aprender:
- Introducción al pepino
- Conceptos básicos del pepino
- Configuración del proyecto de pepino:
- Conclusión
- Lectura recomendada
Introducción al pepino
Un pepino es una herramienta basada en el marco de desarrollo impulsado por el comportamiento (BDD) que se utiliza para escribir pruebas de aceptación para la aplicación web. Permite la automatización de la validación funcional en un formato fácilmente legible y comprensible (como inglés simple) para analistas de negocios, desarrolladores, probadores, etc.
Los archivos de características de pepino pueden servir como un buen documento para todos. Hay muchas otras herramientas como JBehave que también son compatibles con el marco BDD. Inicialmente, Cucumber se implementó en Ruby y luego se extendió al marco de Java. Ambas herramientas admiten JUnit nativo.
El desarrollo impulsado por el comportamiento es una extensión del desarrollo impulsado por pruebas y se utiliza para probar el sistema en lugar de probar la pieza de código en particular. Discutiremos más el BDD y el estilo de redacción de las pruebas de BDD.
Cucumber se puede usar junto con Selenium, Watir y Capybara, etc. Cucumber admite muchos otros lenguajes como Perl, PHP, Python, Net, etc. En este tutorial, nos concentraremos en Cucumber con Java como lenguaje.
Conceptos básicos del pepino
Para comprender el pepino, necesitamos conocer todas las características del pepino y su uso.
java cómo crear una lista
# 1) Archivos de características:
Los archivos de características son la parte esencial del pepino que se utiliza para escribir pasos de automatización de pruebas o pruebas de aceptación. Esto se puede utilizar como documento en vivo. Los pasos son la especificación de la aplicación. Todos los archivos de características terminan con la extensión .feature.
Archivo de características de muestra:
Característica : Función de funcionalidad de inicio de sesión
Para garantizar que la funcionalidad de inicio de sesión funcione,
Quiero ejecutar la prueba del pepino para verificar que funciona.
Guión : Funcionalidad de inicio de sesión
Dado el usuario navega a SOFTWARETETINGHELP.COM
Cuando el usuario inicia sesión con el nombre de usuario como 'USUARIO' y la contraseña 'PASSWORD'
Entonces el inicio de sesión debe ser exitoso
Guión : Funcionalidad de inicio de sesión
Dado el usuario navega a SOFTWARETETINGHELP.COM
Cuando el usuario inicia sesión con el nombre de usuario como 'USER1' y la contraseña 'PASSWORD1'
Entonces se debe lanzar un mensaje de error
# 2) Característica:
T Esto proporciona información sobre la funcionalidad empresarial de alto nivel (consulte el ejemplo anterior) y el propósito de la Aplicación bajo prueba. Todo el mundo debería poder comprender la intención del archivo de funciones leyendo el primer paso de funciones. Esta parte es básicamente breve.
# 3) Escenario:
Básicamente, un escenario representa una funcionalidad particular que se está probando. Al ver el escenario, el usuario debería poder comprender la intención detrás del escenario y de qué se trata la prueba. Cada escenario debe seguir dado, cuándo y luego formato. Este idioma se denomina 'pepinillo'.
- Dado: Como se mencionó anteriormente, dado especifica las condiciones previas. Básicamente es un estado conocido.
- Cuando : Se utiliza cuando se va a realizar alguna acción. Como en el ejemplo anterior, hemos visto que cuando el usuario intenta iniciar sesión con el nombre de usuario y la contraseña, se convierte en una acción. .
- Entonces: El resultado esperado o el resultado debe colocarse aquí. Por ejemplo: verifique que el inicio de sesión sea exitoso, navegación de página exitosa.
- Fondo: Siempre que sea necesario realizar algún paso en cada escenario, esos pasos deben colocarse en segundo plano. Por ejemplo: si un usuario necesita borrar la base de datos antes de cada escenario, esos pasos se pueden poner en segundo plano.
- Y : Y se utiliza para combinar dos o más acciones del mismo tipo.
Ejemplo:
Característica : Función de funcionalidad de inicio de sesión
Guión : Funcionalidad de inicio de sesión
Dado el usuario navega a SOFTWARETETINGHELP.COM
Cuando el usuario inicia sesión con el nombre de usuario como 'USUARIO'
Y contraseña como 'contraseña'
Entonces el inicio de sesión debe ser exitoso
Y Se debe mostrar la página de inicio
el mejor software espía de teléfono para Android
Ejemplo de antecedentes:
Fondo:
Dado usuario registrado como administrador de bases de datos
Y todos los valores basura se borran
# 4) Esquema del escenario:
Los esquemas de escenarios se utilizan cuando se debe realizar la misma prueba con un conjunto de datos diferente. Tomemos el mismo ejemplo. Tenemos que probar la funcionalidad de inicio de sesión con varios conjuntos diferentes de nombre de usuario y contraseña.
Característica : Función de funcionalidad de inicio de sesión
Para garantizar que la funcionalidad de inicio de sesión funcione,
Quiero ejecutar la prueba del pepino para verificar que funciona.
Esquema del escenario : Funcionalidad de inicio de sesión
Dado el usuario navega a SOFTWARETESTINGHELP.COM
Cuando el usuario inicia sesión con el nombre de usuario como< nombre de usuario > y contraseña< contraseña >
Entonces el inicio de sesión debe ser exitoso
Ejemplos:
| nombre de usuario | contraseña |
| Tom | contraseña1 |
| Harry | contraseña2 |
| Jerry | contraseña3 |
Nota:
- Como se muestra en el ejemplo anterior, los nombres de columna se pasan como un parámetro a Cuando declaración.
- En lugar de Escenario, debe utilizar Esquema de escenario.
- Los ejemplos se utilizan para pasar diferentes argumentos en formato tabular. Los tubos verticales se utilizan para separar dos columnas diferentes. Un ejemplo puede contener muchas columnas diferentes.
# 5) Etiquetas:
Cucumber ejecuta de forma predeterminada todos los escenarios en todos los archivos de características. En proyectos en tiempo real, podría haber cientos de archivos de características que no es necesario que se ejecuten en todo momento.
Por ejemplo : Los archivos de características relacionados con la prueba de humo no necesitan ejecutarse todo el tiempo. Entonces, si menciona una etiqueta como sin humo en cada archivo de características que está relacionada con la prueba de humo y ejecuta la prueba de pepino con la etiqueta @SmokeTest. Cucumber solo ejecutará los archivos de funciones específicos de las etiquetas dadas. Siga el ejemplo siguiente. Puede especificar varias etiquetas en un archivo de características.
Ejemplo de uso de etiquetas individuales:
@Prueba de humo
Característica : Función de funcionalidad de inicio de sesión
Para garantizar que la funcionalidad de inicio de sesión funcione,
Quiero ejecutar la prueba del pepino para verificar que funciona.
Esquema del escenario : Funcionalidad de inicio de sesión
Dado el usuario navega a SOFTWARETESTINGHELP.COM
Cuando el usuario inicia sesión con el nombre de usuario como< nombre de usuario > y contraseña< contraseña >
Entonces el inicio de sesión debe ser exitoso
Ejemplos:
| nombre de usuario | contraseña |
| Tom | contraseña1 |
| Harry | contraseña2 |
| Jerry | contraseña3 |
Ejemplo de uso de varias etiquetas:
Como se muestra en el siguiente ejemplo, el mismo archivo de características se puede usar para escenarios de prueba de humo, así como para escenarios de prueba de inicio de sesión. Cuando tenga la intención de ejecutar su script para una prueba de humo, use @SmokeTest. De manera similar, cuando desee que su script se ejecute para la prueba de inicio de sesión, use la etiqueta @LoginTest.
Se puede mencionar cualquier número de etiquetas para un archivo de características así como para un escenario.
@SmokeTest @LoginTest
Característica : Función de funcionalidad de inicio de sesión
Para garantizar que la funcionalidad de inicio de sesión funcione,
Quiero ejecutar la prueba del pepino para verificar que funciona.
Esquema del escenario : Funcionalidad de inicio de sesión
Dado el usuario navega a SOFTWARETETINGHELP.COM
Cuando el usuario inicia sesión con el nombre de usuario y la contraseña
Entonces el inicio de sesión debe ser exitoso
Ejemplos:
| nombre de usuario | contraseña |
| Tom | contraseña1 |
| Harry | contraseña2 |
| Jerry | contraseña3 |
De manera similar, puede especificar etiquetas para ejecutar el escenario específico en un archivo de características. Consulte el siguiente ejemplo para ejecutar un escenario específico.
Característica : Función de funcionalidad de inicio de sesión
Para garantizar que la funcionalidad de inicio de sesión funcione,
Quiero ejecutar la prueba del pepino para verificar que funciona.
@escenariopositivo
Guión : Funcionalidad de inicio de sesión
Dado el usuario navega a SOFTWARETETINGHELP.COM
Cuando el usuario inicia sesión con el nombre de usuario como 'USUARIO' y la contraseña 'PASSWORD'
Entonces el inicio de sesión debe ser exitoso
@negaviveScenario
Guión : Funcionalidad de inicio de sesión
Dado el usuario navega a SOFTWARETETINGHELP.COM
Cuando el usuario inicia sesión con el nombre de usuario como 'USER1' y la contraseña 'PASSWORD1'
Entonces mensaje de error debe arrojar
# 6) Corredor JUnit:
Para ejecutar el archivo de características específicas, pepino usa JUnit Runner estándar y especifica etiquetas en @Cucumber. Opciones. Se pueden asignar varias etiquetas utilizando comas separadas. Aquí puede especificar la ruta del informe y el tipo de informe que desea generar.
Ejemplo de Junit Runner:
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith; @RunWith (Cucumber.class) @ Cucumber.Options (format = {'SimpleHtmlReport: report / smokeTest.html'}, tags = {'@ smokeTest'}) Clase pública JUnitRunner {} Del mismo modo, puede dar instrucciones al pepino para que ejecute varias etiquetas. El siguiente ejemplo ilustra cómo usar varias etiquetas en pepino para ejecutar diferentes escenarios.
|_+_|# 7) Informe de pepino:
Cucumber genera su propio formato HTML. Sin embargo, se pueden realizar mejores informes utilizando Jenkins o la herramienta de bambú. Los detalles de los informes se tratan en el próximo tema del pepino.
quiero probar productos para empresas
Configuración del proyecto de pepino:
La explicación detallada de la configuración del proyecto de pepino está disponible por separado en el siguiente tutorial. Consulte el tutorial de pepino, parte 2, para obtener más información sobre la configuración del proyecto. Recuerde que no se requieren instalaciones de software adicionales para pepino.
Implementación del archivo de características:
Tenemos que implementar estos pasos en Java para probar los archivos de funciones. Es necesario crear una clase que contenga las declaraciones dadas, cuándo y luego. Pepino usa sus anotaciones y todos los pasos están incrustados en esas anotaciones (dado, cuándo, entonces). Cada frase comienza con “^” para que pepino entienda el comienzo del paso. Del mismo modo, cada paso termina con '$'. El usuario puede usar expresiones regulares para pasar diferentes datos de prueba. Las expresiones regulares toman datos de los pasos de características y pasan a definiciones de pasos. El orden de los parámetros depende de cómo se pasen desde el archivo de características. Consulte el siguiente tutorial para la configuración del proyecto y la asignación entre archivos de características y clases de Java.
Ejemplo:
El siguiente ejemplo sirve para ilustrar cómo se pueden implementar los archivos de funciones.
En este ejemplo, no hemos utilizado ninguna API de selenio. Esto es solo para mostrar cómo funciona el pepino como un marco independiente. Siga el siguiente tutorial para la integración de selenio con pepino.
|_+_|Cuando ejecuta la clase de corredor de pepino, pepino comenzará a leer los pasos del archivo de características. Por ejemplo, cuando ejecuta @smokeTest, cucumber leerá Característica paso y Dado una declaración de guión . Tan pronto como el pepino encuentre Dada la declaración, lo mismo Dado Se buscará la declaración para sus archivos java. Si se encuentra el mismo paso en el archivo java, entonces pepino ejecuta la función especificada para el mismo paso; de lo contrario, pepino se saltará el paso.
Conclusión
En este tutorial, hemos cubierto las características de la herramienta pepino y su uso en un escenario en tiempo real.
El pepino es una de las herramientas favoritas para muchos proyectos, ya que es fácil de entender, legible y contiene funciones comerciales.
En el próximo capítulo , cubriremos cómo configurar un proyecto de pepino - java y cómo integrar Selenium WebDriver con Cucumber.
Lectura recomendada
- Tutorial de Cucumber Selenium: Integración de Cucumber Java Selenium WebDriver
- Más de 30 mejores tutoriales de selenio: aprenda selenio con ejemplos reales
- Tutorial de Selenium Grid: configuración y ejemplo de pruebas entre navegadores
- Spock para pruebas funcionales y de integración con selenio
- Uso de la herramienta de automatización de compilación Maven y la configuración del proyecto Maven para Selenium - Tutorial de Selenium n. ° 24
- Introducción a Selenium WebDriver - Tutorial de Selenium n. ° 8
- Tutoriales detallados de Eclipse para principiantes
- Tutorial de la herramienta de prueba de accesibilidad WAVE