Selenio con pepino (BDD Framework): Tutorial con ejemplo

En este tutorial, aprenderá cómo integrar Cucumber con Selenium Webdriver.

¿Qué es el pepino?

El pepino es un enfoque de prueba que respalda el desarrollo impulsado por el comportamiento (BDD). Explica el comportamiento de la aplicación en un texto simple en inglés usando el idioma Gherkin.

Obtenga más información en: https://www.guru99.com/cucumber-tutorials.html

¿Qué es el selenio?

Selenium es una herramienta de automatización para pruebas funcionales de la aplicación basada en web. Selenium admite diferentes lenguajes como java, ruby, python C #, etc.

Obtenga más información en: https://www.guru99.com/selenium-tutorial.html

En este tutorial de Pepino, aprenderemos-

  • ¿Por qué utilizar pepino con selenio?
  • Requisito previo para usar pepino con selenio.
  • Pruebas de automatización utilizando pepino con selenio.
  • Escenario 1: imprimir texto en la consola.
  • Escenario 2: ingrese la credencial de inicio de sesión y restablezca el valor.
  • Escenario 3: ingrese la credencial de inicio de sesión en Guru99 y restablezca el valor. Haga esto para 3 conjuntos de datos.

¿Por qué utilizar pepino con selenio?

El pepino y el selenio son dos tecnologías populares.

La mayoría de las organizaciones usan Selenium para pruebas funcionales. Estas organizaciones que utilizan Selenium quieren integrar Selenium con Cucumber, ya que Cucumber facilita la lectura y la comprensión del flujo de la aplicación.

La herramienta Pepino se basa en el marco de desarrollo impulsado por el comportamiento que actúa como puente entre las siguientes personas:

  1. Ingeniero de Software y Analista de Negocios.
  2. Probador manual y probador de automatización.
  3. Tester y desarrolladores manuales.

El marco de Cucumber BDD también beneficia al cliente para comprender el código de la aplicación, ya que utiliza el lenguaje Gherkin que está en texto sin formato. Cualquiera en la organización puede comprender el comportamiento del software. La sintaxis de Gherkin está en texto simple que es legible y comprensible.

Requisito previo para usar pepino con selenio

Antes de comenzar la integración de Cucumber Selenium, necesitamos los siguientes elementos:

  • Archivos de tarro de selenio:
  • Selenium-servidor-independiente

Puede descargarse en http://www.seleniumhq.org/download/

Jar archivos para pepino:

  • Corazón de pepino
  • Pepino-html
  • cobertura del código de cobertura
  • Pepino-Java
  • Pepino-junit
  • Pepino-jvm-deps
  • Informe de pepino
  • Hemcrest-core
  • Pepinillo
  • Junit

Se puede descargar en https://mvnrepository.com/search?q=Cucumber

Necesita buscar archivos y descargarlos uno por uno individualmente.

Por ejemplo, le mostraremos que descargue uno de los archivos jar, es decir, "Cucumber-core".

Haga clic en el enlace de descarga anterior. Redirige al siguiente sitio. Ahora busque el frasco en particular, es decir, 'Cucumber Core' como se muestra en la captura de pantalla a continuación:

En la página siguiente, haga clic en la versión 1.2.2,

En la siguiente pantalla, haga clic en descargar para obtener el archivo jar 'Cucumber Core'.

Nota : Para su comodidad, hemos incluido aquí los archivos jar que deben descargarse de Maven. Con el tiempo, estos frascos pueden actualizarse y volverse incompatibles. Se le solicita que los descargue utilizando el método ilustrado anteriormente.

Pruebas de automatización utilizando pepino con selenio.

Estudiemos los pasos para usar Pepino con selenio paso a paso. Aquí cubriremos 3 escenarios:

  • Escenario 1: imprimir texto en la consola.
  • Escenario 2: ingrese la credencial de inicio de sesión y restablezca el valor.
  • Escenario 3: ingrese la credencial de inicio de sesión en Guru99 y restablezca el valor. Haga esto para 3 conjuntos de datos.

Escenario 1: imprimir texto en la consola.

En este escenario, simplemente imprimimos el texto en la consola usando Cucumber.

Paso 1) Crear proyecto en eclipse.

Cree un proyecto Java con el nombre "CucumberWithSelenium" como se muestra en la siguiente captura de pantalla.

Paso 2) Agregar archivos Jar al proyecto.

Haga clic con el botón derecho en el Proyecto> Seleccionar propiedades> Ir a la ruta de compilación de Java. Agregue todas las bibliotecas descargadas anteriormente.

Paso 3) Crear archivo de características

Para crear un archivo de características, primero cree la carpeta de características como se muestra a continuación.

Ahora ingrese el nombre de la carpeta 'Funciones' y haga clic en el botón 'Finalizar'.

Ahora, cree un archivo de características en la carpeta 'Características' con el nombre "MyTest.feature". El proceso es similar a crear una carpeta.

Nota: es posible que deba instalar el complemento Cucumber Eclipse para que esto funcione. Ir a - Ayuda-> Instalar nuevo software-> copiar y pegar el enlace http://cucumber.github.io/cucumber-eclipse/update-site/ e instalar

Paso 4) Escribe escenarios.

Las siguientes líneas están escritas en el archivo 'MyTest.feature' usando el lenguaje Gherkin como se muestra a continuación:

Característica: restablecer la funcionalidad en la página de inicio de sesión de la aplicación

Escenario: verificación del botón de reinicio

Dado Abra Firefox y ejecute la aplicación.

Cuando ingrese el nombre de usuario y la contraseña

Luego restablezca la credencial

Explicación del código

Línea 1) En esta línea escribimos funcionalidad empresarial.

Línea 2) En esta línea escribimos un escenario para probar.

Línea 3) En esta línea definimos la condición previa.

Línea 4) En esta línea definimos la acción que debemos realizar.

Línea 4) En esta línea definimos el resultado o resultado esperado.

Paso 5) Escritura de secuencia de comandos de selenium testrunner para el diseño del marco de Selenium Cucumber

Aquí creamos el paquete 'TestRunner' y luego el archivo de clase 'Runner.java' debajo de él.

paquete TestRunner;import org.junit.runner.RunWith;import cucumber.api.CucumberOptions;import cucumber.api.junit.Cucumber;@RunWith (Pepino.class)@CucumberOptions (características = "Características", pegamento = {"StepDefinition"})corredor de clase pública{}

En el código de ejemplo de Cucumber Java anterior, ejecutamos la prueba de pepino utilizando las siguientes anotaciones:

La anotación @RunWith () informa sobre la clase de corredor de prueba para comenzar a ejecutar nuestras pruebas.

La anotación @CucmberOptions () se usa para establecer algunas propiedades para nuestra prueba de pepino como el archivo de características, la definición de pasos, etc.

Captura de pantalla del archivo TestRunner.

Paso 6) Creación de un script de definición de pasos.

Ahora aquí creamos el paquete 'StepDefinition' y luego el archivo de script 'Steps.java' debajo de él. Aquí, de hecho, escribimos un script de selenio para realizar la prueba con los métodos Cucumber.

package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;Pasos de clase pública {@Given ("Abre Firefox y lanza la aplicación $")public void open_the_Firefox_and_launch_the_application () arroja Throwable{System.out.println ("Este paso abre Firefox y lanza la aplicación");}@When ("Ingrese el nombre de usuario y la contraseña $")public void enter_the_Username_and_Password () arroja Throwable{System.out.println ("En este paso, introduzca el nombre de usuario y la contraseña en la página de inicio de sesión");}@Entonces ("Restablecer la credencial $")public void Reset_the_credential () arroja Throwable{System.out.println ("En este paso, haga clic en el botón Restablecer");}}

En el código anterior, la clase se crea con el nombre 'Pasos'. La anotación de pepino se usa para mapear con el archivo de características. Cada método de anotación está definido:

@Given anotación define el método para abrir Firefox e iniciar la aplicación

@Cuando la anotación define el método para ingresar el nombre de usuario y la contraseña

@Entonces la anotación define el método para restablecer la credencial

Bajo cada método, solo imprimimos un mensaje.

A continuación se muestra la captura de pantalla de la secuencia de comandos y el árbol del proyecto 'Steps.java', cómo se ve.

Nota: La definición de pasos no es más que los pasos que desea realizar con este método de pepino.

Paso 7) Ejecución del script.

El usuario puede ejecutar este script desde el script del Ejecutor de prueba, es decir, 'Runner.java' como se muestra en la siguiente captura de pantalla.

Paso 8) Analice la salida.

Al ejecutar el script 'Runner.java', muestra el texto en la consola. Es el mismo texto definido en el script 'Steps.java'.

Escenario 2: ingrese la credencial de inicio de sesión y restablezca el valor.

Aquí solo ingresaremos Credencial en la página de inicio de sesión de demostración de Guru99 y restableceremos el valor

Para el escenario 2, solo necesitamos actualizar el script 'Steps.java'. Aquí en realidad escribimos el script de selenio como se muestra a continuación. Primero, necesitamos agregar el archivo jar de Selenium a este proyecto.

Paso 1) Aquí actualizamos el script 'Steps.java' como se muestra en el siguiente código y captura de pantalla.

package StepDefinition;import org.openqa.selenium.By;importar org.openqa.selenium.WebDriver;importar org.openqa.selenium.firefox.FirefoxDriver;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;Pasos de clase pública {Controlador WebDriver;@Given ("Abre Firefox y lanza la aplicación $")public void open_the_Firefox_and_launch_the_application () arroja Throwable{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");controlador = nuevo FirefoxDriver ();driver.manage (). window (). maximizar ();driver.get ("http://demo.guru99.com/v4");}@When ("Ingrese el nombre de usuario y la contraseña $")public void enter_the_Username_and_Password () arroja Throwable{driver.findElement (By.name ("uid")). sendKeys ("username12");driver.findElement (By.name ("contraseña")). sendKeys ("contraseña12");}@Entonces ("Restablecer la credencial $")public void Reset_the_credential () arroja Throwable{driver.findElement (By.name ("btnReset")). click ();}}

Captura de pantalla del script de selenio anterior.

Paso 2) Ejecute el script.

Después de actualizar ejecutamos Runner.java.

Paso 3) Analice la salida.

En la salida puede ver lo siguiente:

  • Lanzamiento del navegador.
  • Se abre el sitio de demostración del banco Guru99.
  • El nombre de usuario y la contraseña se colocan en la página de inicio de sesión.
  • Reajuste los valores.

Escenario 3: ingrese la credencial de inicio de sesión en Guru99 y restablezca el valor. Haga esto para 3 conjuntos de datos.

Aquí necesitamos actualizar tanto el 'Step.java' como el archivo de características.

Paso 1) Actualice el archivo de características como se muestra a continuación:

Aquí actualizamos el archivo de características con la sintaxis de 'Esquema de escenario' y 'Ejemplos'.

Característica: restablecer la funcionalidad en la página de inicio de sesión de la aplicación

Esquema del escenario: verificación del botón de reinicio con números de credenciales

Dado Abra Firefox y ejecute la aplicación.

Cuando ingrese el nombre de usuario y la contraseña

Luego restablezca la credencial

Ejemplos:

| nombre de usuario | contraseña |

| Usuario1 | contraseña1 |

| Usuario2 | contraseña2 |

| Usuario3 | contraseña3 |

// En esta línea definimos el conjunto de datos.

Paso 2) Ahora actualice el script Step.java.

Aquí actualizamos los métodos para pasar los parámetros, el script actualizado se muestra a continuación:

package StepDefinition;import org.openqa.selenium.By;importar org.openqa.selenium.WebDriver;importar org.openqa.selenium.firefox.FirefoxDriver;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;Pasos de clase pública {Controlador WebDriver;@Given ("Abre Firefox y lanza la aplicación $")public void open_the_Firefox_and_launch_the_application () arroja Throwable{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");controlador = nuevo FirefoxDriver ();driver.manage (). window (). maximizar ();driver.get ("www.demo.guru99.com/v4");}@When ("Ingrese el nombre de usuario \" (. *) \ "Y la contraseña \" (. *) \ "$")public void enter_the_Username_and_Password (String username, String contraseña) arroja Throwable{driver.findElement (By.name ("uid")). sendKeys (nombre de usuario);driver.findElement (By.name ("contraseña")). sendKeys (contraseña);}@Entonces ("Restablecer la credencial $")public void Reset_the_credential () arroja Throwable{driver.findElement (By.name ("btnReset")). click ();}}

Paso 3) Ahora ejecute el script actualizado.

La siguiente pantalla muestra la ejecución exitosa del script y el tiempo que toma cada conjunto de datos.

Paso 4) Analice la salida.

En la salida puede ver lo siguiente:

La siguiente salida se repite para el número de conjuntos de datos, es decir, 3 conjuntos.

  • Lanzamiento del navegador.
  • Se abre el sitio de demostración del banco Guru99.
  • El nombre de usuario y la contraseña se colocan en la página de inicio de sesión.
  • Reajuste los valores.

Conclusión.

El pepino es una herramienta BDD muy popular. Es fácil de leer y puede ser entendido por todas las partes interesadas, incluidas las personas técnicas y no técnicas.

El pepino se puede integrar con selenio siguiendo los siguientes 3 pasos

  1. Cree un archivo de características en el que defina la característica y los escenarios paso a paso utilizando el lenguaje Gherkin.
  2. Cree el archivo Testrunner. En este archivo, integramos Cucumber con el marco BDD en Selenium. Ejecutamos este script.
  3. Definición de Creat Step, la secuencia de comandos de selenio real definida en este paquete.

Articulos interesantes...