Saltar al contenido

Selenio con pepino (BDD Framework): Tutorial con ejemplo

En este tutorial, aprenderá a integrar Cucumber con Selenium Webdriver.

¿Qué es un 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 texto sin formato en inglés utilizando el idioma Gherkin.

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

¿Qué es el selenio?

El selenio es una herramienta automatizada para Pruebas funcionales de la aplicación basada en web. Selenium admite varios 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?

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

La mayoría de las organizaciones usan Selenium para pruebas funcionales. Estas organizaciones que usan selenio quieren integrar el selenio con pepino como lo hace Cucumber la aplicación es fácil de leer y comprender el flujo de la aplicación.

Una herramienta de pepino se basa en el marco de desarrollo impulsado por el comportamiento un sirve como puente entre las siguientes personas:

  1. Ingeniero de Software y Analista de Negocios.
  2. Probador manual y probador automatizado.
  3. Desarrolladores y probadores portátiles.

Marco de pepino BDD también beneficiará al cliente comprender el código de la aplicación ya que utiliza el lenguaje Gherkin contenido en Texto sin formato. Cualquiera en la organización puede comprender el comportamiento del software. La sintaxis de Gherkin es un texto simple que es legible y fácil de entender.

Requisito previo para usar pepino con selenio.

Antes de comenzar a integrar Selenium Cucumber, necesitamos los siguientes elementos:

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

Archivos de tarro para pepino:

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

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

Necesita buscar y descargar archivos uno por uno individualmente.

Por ejemplo, le mostraremos uno de los archivos jar descargados, es decir, «Cucumber-core».

Haga clic en el enlace de descarga de arriba. Redirige al sitio siguiente. Ahora busque el frasco específico, es decir, ‘Pepino Core’ como se muestra 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: Por su bien, hemos incluido los archivos jar necesarios para descargar de Maven aquí. Con el tiempo, estos frascos pueden actualizarse y volverse incompatibles. Descárguelos utilizando el método que se muestra arriba.

Pruebas automatizadas con pepino con selenio.

Estudiemos los pasos para usar Pepino con selenio paso a paso. Cubriremos 3 casos aquí:

Escenario 1: Impresión de texto en la consola.

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

Paso 1) Crear proyecto en eclipse.

Cree un proyecto Java llamado «CucumberWithSelenium» como se muestra en la imagen de abajo.

Paso 2) Adición de archivos Jar en el proyecto.

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

Paso 3) Crear un archivo de características

Para crear un archivo de características, primero cree una 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’ llamado «MyTest.feature». El proceso es similar a crear una carpeta.

Nota: Es posible que deba instalar el complemento Eclipse Cucumber para que 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 casos.

Las líneas siguientes 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 caso 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) Selenium testrunner script escrito para el diseño del marco de selenium cucumber

Aquí creamos un paquete ‘TestRunner’ y luego un 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 Java Cucumber anterior, ejecutamos el prueba de pepino utilizando las siguientes notas:

@Corre con () una anotación informa sobre la clase de corredor de pruebas para realizar nuestras pruebas.

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

Captura de pantalla del archivo TestRunner.

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

Ahora aquí creamos un paquete «StepDefinition» y luego un archivo de script «Steps.java» debajo de él. Escribimos aquí un script de selenio aquí para hacer la prueba sobre los 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, se crea la clase con el nombre ‘Pasos’. La anotación de pepino se usa para mapear a un archivo de características. Cada método de anotación está definido:

@Dado anotación define el método para abrir Firefox y ejecutar la aplicación

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

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

Por supuesto, solo estamos imprimiendo un mensaje.

A continuación se muestra la imagen del script y el árbol del proyecto ‘Steps.java’, cómo se ve.

Nota: La definición de grado son solo los pasos que desea seguir con este método del pepino.

Paso 7) Ejecute el script.

El usuario puede ejecutar este script desde un script de ejecución de prueba, es decir, ‘Runner.java’ como se muestra a continuación.

Paso 8) Analiza la salida.

Al ejecutar el script ‘Runner.java’, muestra el texto en la consola. Es el mismo texto que se define en el script ‘Steps.java’.

Escenario 2: ingrese las credenciales de inicio de sesión y restablezca el valor.

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

Para el Caso 2, solo necesitamos actualizar el script ‘Steps.java’. Aquí escribimos el script de selenio como se muestra a continuación. Primero, necesitamos agregar un archivo jar de selenio a este proyecto.

Paso 1) Aquí actualizamos el script «Steps.java» como se muestra en el código a continuación y en la foto.


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 del script de selenio anterior.

Paso 2) Ejecute el script.

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

Paso 3) Analiza la salida.

En la salida puede ver lo siguiente:

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

Aquí tenemos que actualizar el «Step.java» y el archivo de funciones.

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.

Paso 2) Ahora actualice el script Step.java.

Actualizamos los métodos para ejecutar los parámetros, el script actualizado que 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();					
    }		
}		

Paso 3) Ahora ejecute el script de actualización.

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

Paso 4) Analiza la salida.

En la salida puede ver lo siguiente:

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

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 que defina la característica y los escenarios paso a paso utilizando el lenguaje Gherkin.
  2. Cree un archivo Testrunner. En este archivo, integramos Cucumber con el marco BDD en Selenium. Ejecutamos este script.
  3. Cree una definición de paso, la secuencia de comandos de selenio real definida en este paquete.