Selenium con Cucumber (Tutorial del marco BDD)
En este tutorial, aprenderá cómo integrar Cucumber con Selenium Controlador web.
¿Qué es Cucumber?
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
¿Qué 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 Cucumber con Selenium?
Cucumber y la 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 Cucumber as Cucumber petroquímica Es fácil de leer y comprender el flujo de la aplicación.
Cucumber La herramienta se basa en el marco de desarrollo impulsado por el comportamiento que actúa como el puente Entre las siguientes personas:
- Ingeniero de Software y Analista de Negocios.
- Probador manual y probador de automatización.
- Probador manual y desarrolladores.
Cucumber Marco BDD también beneficia al cliente comprender el código de la aplicación Ya que utiliza el lenguaje Gherkin, que es texto simple, cualquier persona de la organización puede comprender el comportamiento del software. La sintaxis de Gherkin está en texto simple, legible y comprensible.
Requisito previo para usar Cucumber con Selenium
Antes que empecemos Cucumber Selenium Para la integración necesitamos los siguientes elementos:
- Selenium archivos jar:
- Selenium-servidor-independiente
Se puede descargar en http://www.seleniumhq.org/download/
Archivos jar para Cucumber :
- Cucumber-núcleo
- Cucumber-html
- cobertura de código de cobertura
- Cucumber-Java
- Cucumber-Junito
- Cucumber-jvm-deps
- Cucumber-informes
- 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-centro."
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:
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 'Cucumber Archivo jar central.
Nota: : Para su comodidad, hemos incluido los archivos jar necesarios para descargar desde Maven. aquí. 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 usando Cucumber con Selenium.
Estudiemos los pasos a utilizar. Cucumber 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.
Crear Java proyecto con el nombre “CucumberCon Selenium”como se muestra en la siguiente captura de pantalla.
Paso 2) Agregar archivos Jar en el proyecto.
Haga clic derecho en el Proyecto> Seleccionar Propiedades> Ir a Java Construir camino. Agregue todas las bibliotecas descargadas anteriormente.
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.
Ahora ingrese el nombre de la carpeta "Características" y haga clic en el botón "Finalizar".
Ahora, cree un archivo de funciones en la carpeta "Características" con el nombre "MyTest.feature". El proceso es similar a crear una carpeta.
Nota: Es posible que necesite instalar el Cucumber 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) Cómo escribir un script para el ejecutor de pruebas de selenio Selenium Cucumber diseño de marco
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 lo anterior Cucumber Java código de ejemplo, ejecutamos el prueba de pepino utilizando las siguientes 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.
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í, en realidad, escribimos un script de Selenium para realizar la prueba en Cucumber métodos.
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". Cucumber La anotación se utiliza para mapear con un archivo de características. Cada método de anotación está definido:
@Dado La anotación define el método para abrir Firefox y ejecutar 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.
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.
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'.
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, necesitamos actualizar solo el script 'Steps.java'. Aquí escribimos el script de Selenium como se muestra en los pasos a continuación. Primero, necesitamos agregar Selenium archivo jar a este proyecto.
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 del script de selenio anterior.
Paso 2) Ejecute el script.
Después de la actualización ejecutamos Runner.java.
Paso 3) Analizar la salida.
En la salida puedes ver lo siguiente:
- 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.
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.
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(); } }
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.
Paso 4) Analizar la salida.
En la salida puedes ver lo siguiente:
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.
Conclusión
Cucumber 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.
Cucumber se puede integrar con Selenium utilizando los siguientes 3 pasos
- Cree un archivo de características en el que defina la característica y los escenarios paso a paso utilizando el lenguaje Gherkin.
- Cree el archivo Testrunner. En este archivo integramos Cucumber con marco BDD en Selenium. Ejecutamos este script.
- Definición de paso de creación, el script de selenio real definido en este paquete.