Las aplicaciones web se han vuelto esenciales para las empresas que buscan formas avanzadas de conectarse y servir a su público objetivo en el ámbito digital. Dada la importancia de las aplicaciones web en las operaciones comerciales en estos días, independientemente de la industria, deben probarse exhaustivamente para garantizar que ofrezcan experiencias de usuario de alto nivel.
Las pruebas de automatización aceleran el ciclo de vida del desarrollo de software. Además, al adoptar el enfoque de desarrollo basado en el comportamiento (BDD), diferentes partes interesadas, como desarrolladores, QA y equipos no tecnológicos, pueden colaborar activamente en el proyecto.
Los escenarios se escriben en función del comportamiento esperado. del software y se prueba para verificar si coincide con dichos escenarios.
Fuente de la imagen
Estos escenarios se documentan utilizando un lenguaje específico de dominio como Gherkin. En cada escenario de prueba, se utilizan construcciones de lenguaje natural que constituyen pequeñas frases similares al inglés para describir el comportamiento y el resultado esperado de una aplicación. Esto se hace utilizando una herramienta de software dedicada como Cucumber, que permite la ejecución de pruebas de aceptación automatizadas escritas en Gherkin.
¿Qué es Cucumber?
Cucumber es un marco de pruebas de código abierto que admite el desarrollo impulsado por el comportamiento para las pruebas de automatización de aplicaciones web. Las pruebas se escriben primero en una forma de escenario simple que describe el comportamiento esperado del sistema desde la perspectiva del usuario.
Utilizado principalmente para pruebas de aceptación, Cucumber está escrito en Ruby, mientras que las pruebas están escritas en Gherkin, un lenguaje no técnico y legible por humanos.
Pruebas de pepino y selenio: un enfoque colaborativo
Si bien las pruebas de selenio automatizadas agregan precisión y velocidad al ciclo de desarrollo, Cucumber agrega una ventaja adicional a él, haciéndolo más colaborativo para los interesados en la gestión no técnica. Ampliamente beneficioso para las pruebas de aceptación del usuario donde los escenarios de prueba son impulsados en gran medida por el comportamiento, Cucumber refuerza las pruebas de automatización.
El marco de Cucumber
El marco de Cucumber consta principalmente de tres partes principales: Archivo de características, Definiciones de pasos y el archivo Test Runner.
Archivo de características
Una unidad independiente o una función única (como un inicio de sesión) para un proyecto se puede denominar característica. Cada una de estas características tendrá escenarios que deben probarse utilizando Selenium integrado con Cucumber. Un archivo que almacena datos sobre las características, sus descripciones y los escenarios que se probarán se llama Archivo de características.
Las pruebas de pepino se escriben en estos Archivos de características que se almacenan con la extensión – «.feature» . Un archivo de funciones puede recibir una descripción para que la documentación sea más legible.
Ejemplo:
La función de inicio de sesión en un sitio web
Nombre del archivo de funciones: userLogin .feature
Descripción: El usuario podrá iniciar sesión al ingresar el nombre de usuario y la contraseña correctos en los campos correctos. El usuario debe ser dirigido a la página de inicio si el nombre de usuario y la contraseña ingresados son correctos.
Las palabras clave como GIVEN, WHEN y THEN que se utilizan para escribir la prueba en Cucumber se denominan Anotaciones.
- El usuario de GIVEN navega a la página de inicio de sesión abriendo Firefox
- CUANDO el usuario ingresa el < nombre de usuario > Y < contraseña valores
- ENTONCES se dirige al usuario a t La página de inicio
Definiciones de pasos
Ahora que las características están escritas en los archivos de características, se debe ejecutar el código para el escenario relacionado. Para saber qué lote de código debe ejecutarse para un escenario dado, las Definiciones de Pasos entran en escena. Un archivo de definiciones de pasos almacena los datos de mapeo entre cada paso de un escenario definido en el archivo de características y el código que se ejecutará.
Las definiciones de pasos pueden utilizar comandos de Java y Selenium para las funciones de Java escritas para mapear un feature al código.
Ejemplo:
package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps{@Given("^user navigates to the login page by opening Firefox$")//Code to Open Firefox Browser and launch the login page of application to define the GIVEN step of the feature@When("^user enters correct username and password values$")//take inputs for username and password fields using find element by xpath. Put the correct username and password values as inputs to define the WHEN step of the feature@Then ("^user gets directed to homepage$”)//Direct to the Homepage of the application as a result of correct username and password inputs in the WHEN step. This would define the THEN step of the feature
Test Runner File
Para ejecutar la prueba, uno necesita un archivo de ejecución de pruebas, que es una clase de ejecución de pruebas de JUnit que contiene la ubicación de la definición de paso y los demás metadatos primarios necesarios para ejecutar la prueba.
El archivo de ejecución de pruebas utiliza la anotación @RunWith () de JUnit para ejecutando pruebas. También utiliza la anotación @CucumberOptions para definir la ubicación de los archivos de características, definiciones de pasos, integraciones de informes, etc.
Ejemplo:
Clase de corredor de pruebas en el paquete cucumberTest, con los archivos de características en la ubicación «src / test / Feature» y los archivos de definición de pasos en la carpeta «src / main / stepDefinition».
Configuración de Cucumber Framework
Antes de explorar cómo funciona Cucumber y cómo escribir una prueba de pepino selenio, primero descubramos cómo configurar Cucumber.La instalación de los requisitos previos que se mencionan a continuación es todo lo que un usuario necesita para comenzar con las pruebas de automatización de pepino.
Requisitos previos para la configuración de pepino y selenio
- Instalar Java
- Instalar Eclipse IDE para Java
- Instalar Maven
- Instalar Selenium Webdriver
- Instalar JUnit
- Instalar Cucumber
¿Cómo escribir una prueba en Cucumber para Selenium Automation?
Avanzando en el escenario de la función de inicio de sesión, creemos una prueba de muestra en Cucumber. Este código ejecutará el escenario de inicio de sesión descrito en la sección de funciones y abrirá la página de inicio del sitio web al ingresar el nombre de usuario y la contraseña correctos.
Mejores prácticas en las pruebas de pepino
A continuación se muestran algunas de las mejores prácticas en las pruebas de pepino:
- Las versiones de los frascos Cucumber-java, Cucumber-junit y Cucumber-core deben ser las mismas para una conectividad perfecta.
- Agregar un Después, el enlace al código para capturar capturas de pantalla cuando la prueba falla puede ayudar a diagnosticar el problema y depurarlo.
- Use Etiquetas para organizar las pruebas según la definición de la etiqueta. Esto ayuda en los casos en los que no es necesario ejecutar todas las pruebas cada vez. Estas pruebas pueden marcarse con etiquetas y ejecutarse solo cuando sea necesario. Esto ahorra tiempo y capacidad de procesamiento del sistema y los recursos.
- Como siempre, es importante ejecutar las pruebas de Cucumber Selenium en navegadores y dispositivos reales. BrowserStack ofrece un Cloud Selenium Grid de más de 2000 navegadores y dispositivos reales con fines de prueba, tanto en vivo como automatizados. Simplemente regístrese, elija la combinación de dispositivo, navegador y sistema operativo requerida y comience a probar sitios web de forma gratuita.
Ejecute pruebas de selenio gratis
La automatización de pruebas es absolutamente esencial para Manténgase al día con las crecientes demandas de entrega más rápida y calidad óptima en los probadores. El marco de pepino en Selenium permite escribir escenarios de prueba utilizando construcciones de lenguaje natural que describen el comportamiento esperado del software para un escenario dado, lo que lo hace ideal para las pruebas de aceptación del usuario.
Por último, probar sitios web en un dispositivo real la nube es la única forma de garantizar una precisión total de los resultados. Por lo tanto, opte siempre por pruebas de dispositivos reales para verificar de manera integral el rendimiento del sitio web, la compatibilidad entre navegadores y la calidad de la experiencia del usuario que ofrece.