Pepino - Opciones de la línea de comandos

El pepino se puede utilizar para probar casi cualquier sistema informático. Hasta ahora hemos visto cómo ejecutar una prueba usando Eclipse IDE. Hay una forma más a través de la cual podemos ejecutar la prueba de Cucumber que es a través de la interfaz de línea de comandos. Entonces, ¿cuál es la ventaja de hacerlo?

Ejecutar cualquier marco de prueba desde la Terminal tiene sus propias ventajas, como anular las configuraciones de ejecución mencionadas en el código.

Para ejecutar la prueba Cucumber con el símbolo del sistema, siga los siguientes pasos después de la configuración del sistema.

Step 1- Cree un proyecto de prueba de Maven llamado commandLine.

  • Vaya a Archivo → Nuevo → Otros → Maven → Proyecto Maven → Siguiente.

  • Proporcione la identificación del grupo (la identificación del grupo identificará su proyecto de manera única en todos los proyectos).

  • Proporcione la identificación del artefacto (la identificación del artefacto es el nombre del jar sin la versión. Puede elegir cualquier nombre que esté en minúsculas).

  • Haga clic en Finalizar.

  • Abrir pom.xml -

    • Vaya al explorador de paquetes en el lado izquierdo de Eclipse.

    • Expanda el proyecto CucumberTest.

    • Localizar pom.xml archivo.

    • Haga clic derecho y seleccione la opción Abrir con “Editor de texto”.

  • Agregar dependencia para Selenium: esto indicará Maven, qué archivos jar de Selenium se deben descargar del repositorio central al repositorio local.

    • Abrir pom.xml está en modo de edición, crear etiqueta de dependencias (<dependencies> </dependencies>), dentro de la etiqueta del proyecto.

    • Dentro de la etiqueta de dependencias, cree la etiqueta de dependencia. (<dependencia> </dependencia>).

    • Proporcione la siguiente información dentro de la etiqueta de dependencia.

<dependency> 
   <groupId>org.seleniumhq.selenium</groupId> 
   <artifactId>selenium-java</artifactId> 
   <version>2.47.1</version> 
</dependency>
  • Agregar dependencia para Cucumber-Java: esto indicará Maven, qué archivos de Cucumber se descargarán del repositorio central al repositorio local.

    • Cree una etiqueta de dependencia más.

    • Proporcione la siguiente información dentro de la etiqueta de dependencia.

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-java</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • Agregar dependencia para Cucumber-JUnit: esto indicará a Maven, qué archivos de Cucumber JUnit se deben descargar desde el repositorio central al repositorio local.

    • Cree una etiqueta de dependencia más.

    • Proporcione la siguiente información dentro de la etiqueta de dependencia.

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-junit</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • Agregar dependencia para JUnit: esto indicará Maven, qué archivos JUnit se deben descargar desde el repositorio central al repositorio local.

    • Cree una etiqueta de dependencia más.

    • Proporcione la siguiente información dentro de la etiqueta de dependencia.

<dependency> 
   <groupId>junit</groupId> 
   <artifactId>junit</artifactId> 
   <version>4.10</version> 
   <scope>test</scope> 
</dependency>
  • Verifique los binarios.

    • Una vez que pom.xml se haya editado correctamente, guárdelo.

    • Vaya a Proyecto → Limpiar - Tardará unos minutos.

Step 2 - Cree un paquete llamado "esquema" en src / test / java

Step 3 - Cree un archivo de características llamado "commandLine.feature".

  • Seleccione y haga clic con el botón derecho en el esquema del paquete.

  • Haga clic en el archivo 'Nuevo'.

  • Asigne al archivo un nombre como "commandLine.feature"

  • Escriba el texto a continuación dentro del archivo y guárdelo.

    Feature - Esquema del escenario

    Scenario Outline - Funcionalidad de inicio de sesión para un sitio de redes sociales.

    Dado que el usuario navega a Facebook

    Cuando ingreso el nombre de usuario como "<nombre de usuario>" y la contraseña como "<contraseña>"

    Entonces el inicio de sesión no debería ser exitoso

Ejemplos

| username  | password  | 
| username1 | password1 | 
| username2 | password2 |

Note- Aquí, la anotación de ejemplo describe el rango de entrada que se proporcionará en la ejecución del escenario. El escenario de prueba se ejecutará para cada una de las entradas proporcionadas. Entonces, en el ejemplo dado, el escenario de prueba se ejecutará tres veces.

Step 4 - Cree un archivo de definición de pasos.

  • Seleccione y haga clic con el botón derecho en el esquema del paquete.

  • Haga clic en el archivo 'Nuevo'.

  • Nombra el archivo como commandLine.java

  • Escriba el siguiente texto dentro del archivo y guárdelo.

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

import cucumber.annotation.en.Given; 
import cucumber.annotation.en.Then; i
import cucumber.annotation.en.When; 

public class stepdefinition { 
   WebDriver driver = null; 
	
   @Given("^user navigates to facebook$") 
   public void goToFacebook() { 
      driver = new FirefoxDriver(); 
      driver.navigate().to("https://www.facebook.com/"); 
   } 
	
   @When("^I enter Username as \"([^\"]*)\" and Password as \"([^\"]*)\"$") 
   public void I_enter_Username_as_and_Password_as(String arg1, String arg2) {
      driver.findElement(By.id("email")).sendKeys(arg1);
      driver.findElement(By.id("pass")).sendKeys(arg2);
      driver.findElement(By.id("u_0_v")).click(); 
   } 
	
   @Then("^login should be unsuccessful$") 
   public void validateRelogin() { 
      if(driver.getCurrentUrl().equalsIgnoreCase(
         "https://www.facebook.com/login.php?login_attempt=1&lwv=110")){ 
            System.out.println("Test Pass"); 
      } else { 
         System.out.println("Test Failed"); 
      } 
      driver.close(); 
   } 
}

Note- En código, tenemos que definir una función que tenga dos argumentos de entrada: un nombre de usuario y otro será para contraseña. Por lo tanto, para cada conjunto de entrada proporcionado en la etiqueta de ejemplo, se ejecutará el conjunto de GIVEN, WHEN y THEN.

Step 5 - Crea un archivo de clase de corredor.

  • Seleccione y haga clic con el botón derecho en el esquema del paquete.

  • Haga clic en el archivo 'Nuevo'.

  • Asigne al archivo un nombre como, runTest.java

  • Escriba el siguiente texto dentro del archivo y guárdelo.

package Outline;
 
import org.junit.runner.RunWith; 
import cucumber.junit.Cucumber; 

@RunWith(Cucumber.class) 
@Cucumber.Options(format = {"pretty", "html:target/cucumber"}) 

public class runTest { }
  • Abra un símbolo del sistema.

  • Vaya al directorio donde reside este paquete "commandLine". e: \ Workspace \ LoginTest \ src> cd test \ java

  • Ejecute el comando mvn test: Verá que se han ejecutado todos los escenarios descritos en el archivo de características (si no hay ningún error). Finalmente, en la parte inferior encontrarás la siguiente información.

Resultado

This describes the total test run, along with failure if any.

El comando anterior ejecuta todo como se menciona en la clase JUnit Runner. Sin embargo, si queremos anular las configuraciones mencionadas en el Runner, a continuación se muestran algunos ejemplos para hacerlo.

  • Ahora ejecute el comando mvn test - Dcucumber.options = "- help" en el símbolo del sistema. Ejecutar esto imprimirá todas las opciones disponibles.

  • Para ejecutar solo las etiquetas específicas, ejecute el comando mvn test -Dcucumber.options = "- tags @SmokeTest" en el símbolo del sistema. Solo ejecutará etiquetas, que están marcadas con @SmokeTest.

  • Para cambiar el formato del resultado, ejecute el comando E: \ Workspace \ LoginTest> mvn test -Dcucumber.options = "- plugin junit: target / cucumber-junit-report.xml" en el símbolo del sistema Cambia el informe formato al generador de informes JUnit.