Selenium con pepino (Marco BDD)


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

¿Qué es el pepino?

Cucumber es un enfoque de prueba que respalda el desarrollo impulsado por el comportamiento (BDD). Explica el comportamiento de la aplicación en un texto sencillo en inglés utilizando el lenguaje Gherkin.

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

Que es Selenium?

Selenium es una herramienta de automatización para Prueba de funcion 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

¿Por qué utilizar pepino con Selenium?

pepino y Selenium son dos tecnologías populares.

La mayoría de las organizaciones utilizan Selenium para pruebas funcionales. Estas organizaciones que están utilizando Selenium, quiere integrarse Selenium con pepino como hace el pepino Es fácil de leer y comprender el flujo de la aplicación.

La herramienta Cucumber se basa en el marco de desarrollo impulsado por el comportamiento que actúa como el puente entre los siguienteswing gente:

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

Marco BDD de pepino también beneficia al cliente comprender el código de la aplicación ya que utiliza el lenguaje Gherkin que está en texto sin formato. Cualquier persona de la organización puede comprender el comportamiento del software. La sintaxis de Gherkin está en texto simple que es readable y comprensible.

pepino con Selenium

Requisito previo para usar pepino con Selenium

Antes de empezar Pepino Selenium integración, necesitamos lo siguientewing artículos:

  • Selenium archivos jar:
  • Selenium-servidor-independiente

Se puede descargar en http://www.seleniumhq.org/download/

Requisito previo para usar pepino con Selenium

Archivos de tarro para pepino:

  • núcleo de pepino
  • Pepino-html
  • cobertura de código de cobertura
  • pepino-java
  • Pepino-junit
  • Pepino-jvm-deps
  • Informes de pepino
  • Núcleo de Hamcrest
  • Pepinillo
  • Junit

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

Debe buscar archivos y descargarlos uno por uno individualmente.

Por ejemplo, le mostraremos cómo descargar uno de los archivos jar, es decir, "Cucumber-core".

Haga clic en el enlace de descarga de arriba. 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:

Requisito previo para usar pepino con Selenium

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

Requisito previo para usar pepino con Selenium

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

Requisito previo para usar pepino con Selenium

Note: Para su comodidad, hemos incluido los archivos jar necesarios para descargar desde Maven. esta página. Con el tiempo, estos frascos pueden actualizarse y volverse incompatibles. Se le solicita que los descargue utilizando el método ilustrado arriba.

Pruebas de automatización utilizando pepino con Selenium.

Estudiemos los pasos para usar pepino con selenium 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.

Pruebas de automatización utilizando pepino con Selenium

Pruebas de automatización utilizando pepino con Selenium

Paso 2) Agregar archivos Jar en el proyecto.

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

Pruebas de automatización utilizando pepino con Selenium

Paso 3) Creando archivo de características

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

Pruebas de automatización utilizando pepino con Selenium

Ahora ingrese el nombre de la carpeta "Características" y haga clic en el botón "Finalizar".

Pruebas de automatización utilizando pepino con Selenium

Pruebas de automatización utilizando pepino con Selenium

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

Pruebas de automatización utilizando pepino con Selenium

Nota: Es posible que necesites instalar el pepino. Eclipse Complemento 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:

Feature: Reset functionality on login page of Application 


Scenario: Verification of Reset button 


Given Open the Firefox and launch the application			


When Enter the Username and Password			


Then Reset the credential			

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) Escribiendo selenium script de prueba para Selenium Diseño de marco de pepino.

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

package TestRunner;		

import org.junit.runner.RunWith;		
import cucumber.api.CucumberOptions;		
import cucumber.api.junit.Cucumber;		

@RunWith(Cucumber.class)				
@CucumberOptions(features="Features",glue={"StepDefinition"})						
public class Runner 				
{		

}

En el código de ejemplo de Cucumber Java anterior, ejecutamos el prueba de pepino usando el siguientewing anotaciones:

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

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

Captura de pantalla del archivo TestRunner.

Pruebas de automatización utilizando pepino con Selenium

Paso 6) Creación de secuencia de comandos de definición de pasos.

Ahora aquí creamos el paquete 'StepDefinition' y luego el archivo de script 'Steps.java' debajo de él. Aquí realmente escribimos un selenium script para realizar la prueba bajo métodos Cucumber.

package StepDefinition;		

import cucumber.api.java.en.Given;		
import cucumber.api.java.en.Then;		
import cucumber.api.java.en.When;		

public class Steps {				

     
    @Given("^Open the Firefox and launch the application$")				
    public void open_the_Firefox_and_launch_the_application() throws Throwable							
    {		
        System.out.println("This Step open the Firefox and launch the application.");					
    }		

    @When("^Enter the Username and Password$")					
    public void enter_the_Username_and_Password() throws Throwable 							
    {		
       System.out.println("This step enter the Username and Password on the login page.");					
    }		

    @Then("^Reset the credential$")					
    public void Reset_the_credential() throws Throwable 							
    {    		
        System.out.println("This step click on the Reset button.");					
    }		

}

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

@Dado anotación define el método para abrir firefox y lanzar la aplicación

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

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

En cada método, solo imprimimos un mensaje.

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

Pruebas de automatización utilizando pepino con Selenium

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

Paso 7) Ejecutando el Script.

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

Pruebas de automatización utilizando pepino con Selenium

Paso 8) Analizar la salida.

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

Pruebas de automatización utilizando pepino con Selenium

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

Aquí simplemente 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í realmente escribimos el selenium script como se muestra a continuación. Primero, necesitamos agregar Selenium archivo jar a este proyecto.

Ingrese la credencial de inicio de sesión y restablezca el valor

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

package StepDefinition;		

import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.firefox.FirefoxDriver;		

import cucumber.api.java.en.Given;		
import cucumber.api.java.en.Then;		
import cucumber.api.java.en.When;		

public class Steps {				

    WebDriver driver;			
    		
    @Given("^Open the Firefox and launch the application$")					
    public void open_the_Firefox_and_launch_the_application() throws Throwable							
    {		
       System.setProperty("webdriver.gecko.driver", "E://Selenium//Selenium_Jars//geckodriver.exe");					
       driver= new FirefoxDriver();					
       driver.manage().window().maximize();			
       driver.get("http://demo.guru99.com/v4");					
    }		

    @When("^Enter the Username and Password$")					
    public void enter_the_Username_and_Password() throws Throwable 							
    {		
       driver.findElement(By.name("uid")).sendKeys("username12");							
       driver.findElement(By.name("password")).sendKeys("password12");							
    }		

    @Then("^Reset the credential$")					
    public void Reset_the_credential() throws Throwable 							
    {		
       driver.findElement(By.name("btnReset")).click();					
    }		
}		

Captura de pantalla de lo anterior selenium guión.

Ingrese la credencial de inicio de sesión y restablezca el valor

Paso 2) Ejecute el script.

Después de la actualización ejecutamos Runner.java.

Paso 3) Analizar la salida.

En el resultado puedes ver lo siguiente.wing:

  • Navegador iniciado.
  • 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.
  • Restablecer los valores.

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.

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:

Here we update the feature file with 'Scenario Outline' and  'examples' syntax.

Feature: Reset functionality on login page of Application				


Scenario Outline: Verification of reset button with numbers of credential


Given Open the Firefox and launch the application				


When Enter the Username <username>and Password <password>				


Then Reset the credential						

Examples:                      		

|username  |password         |		

|User1     |password1        |		

|User2     |password2        |		

|User3     |password3        |

// In this line we define the set of data.

Ingrese la credencial de inicio de sesión

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;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.firefox.FirefoxDriver;		

import cucumber.api.java.en.Given;		
import cucumber.api.java.en.Then;		
import cucumber.api.java.en.When;		

public class Steps {				

    WebDriver driver;			
    		
    @Given("^Open the Firefox and launch the application$")					
    public void open_the_Firefox_and_launch_the_application() throws Throwable							
    {		
       System.setProperty("webdriver.gecko.driver", "E://Selenium//Selenium_Jars//geckodriver.exe");					
       driver= new FirefoxDriver();					
       driver.manage().window().maximize();			
       driver.get("www.demo.guru99.com/v4");					
    }		

    @When("^Enter the Username \"(.*)\" and Password \"(.*)\"$")			
    public void enter_the_Username_and_Password(String username,String password) throws Throwable 							
    {		
       driver.findElement(By.name("uid")).sendKeys(username);					
       driver.findElement(By.name("password")).sendKeys(password);					
    }		

    @Then("^Reset the credential$")					
    public void	Reset_the_credential() throws Throwable 							
    {		
       driver.findElement(By.name("btnReset")).click();					
    }		
}		

Ingrese la credencial de inicio de sesión

Paso 3) Ahora ejecute el script actualizado.

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

Ingrese la credencial de inicio de sesión

Paso 4) Analizar la salida.

En el resultado puedes ver lo siguiente.wing:

El resultado siguiente se repite para la cantidad de conjuntos de datos, es decir, 3 conjuntos.

  • Navegador iniciado.
  • 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.
  • Restablecer los valores.

Ingrese la credencial de inicio de sesión

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 Selenium usando seguirwing 3 medidas

  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 real selenium script definido en este paquete.