Cetriolo - Opzioni della riga di comando

Il cetriolo può essere utilizzato per testare quasi tutti i sistemi informatici. Finora abbiamo visto come eseguire un test utilizzando Eclipse IDE. C'è un altro modo attraverso il quale possiamo eseguire il test Cucumber che è tramite l'interfaccia della riga di comando. Allora qual è il vantaggio di farlo?

L'esecuzione di qualsiasi framework di test dal terminale ha i suoi vantaggi, come l'override delle configurazioni di esecuzione menzionate nel codice.

Per eseguire il test Cucumber con il prompt dei comandi, utilizzare i seguenti passaggi dopo la configurazione del sistema.

Step 1- Crea un progetto di test Maven denominato commandLine.

  • Vai a File → Nuovo → Altri → Maven → Progetto Maven → Avanti.

  • Fornisci l'ID del gruppo (l'ID del gruppo identificherà il tuo progetto in modo univoco in tutti i progetti).

  • Fornisci ID artefatto (l'ID artefatto è il nome del vaso senza versione. Puoi scegliere qualsiasi nome in minuscolo).

  • Fare clic su Fine.

  • Apri pom.xml -

    • Vai a Esplora pacchetti sul lato sinistro di Eclipse.

    • Espandi il progetto CucumberTest.

    • Individuare pom.xml file.

    • Fare clic con il tasto destro e selezionare l'opzione Apri con "Editor di testo".

  • Aggiungi dipendenza per Selenium - Questo indicherà Maven, quali file jar Selenium devono essere scaricati dal repository centrale al repository locale.

    • Apri pom.xml è in modalità di modifica, crea il tag delle dipendenze (<dependencies> </dependencies>), all'interno del tag del progetto.

    • All'interno del tag delle dipendenze, crea il tag delle dipendenze. (<dependency> </dependency>).

    • Fornisci le seguenti informazioni all'interno del tag di dipendenza.

<dependency> 
   <groupId>org.seleniumhq.selenium</groupId> 
   <artifactId>selenium-java</artifactId> 
   <version>2.47.1</version> 
</dependency>
  • Aggiungi dipendenza per Cucumber-Java: questo indicherà Maven, quali file Cucumber devono essere scaricati dal repository centrale al repository locale.

    • Crea un altro tag di dipendenza.

    • Fornisci le seguenti informazioni all'interno del tag di dipendenza.

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-java</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • Aggiungi dipendenza per Cucumber-JUnit - Questo indicherà Maven, quali file Cucumber JUnit devono essere scaricati dal repository centrale al repository locale.

    • Crea un altro tag di dipendenza.

    • Fornisci le seguenti informazioni all'interno del tag di dipendenza.

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-junit</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • Aggiungi dipendenza per JUnit: indica Maven, quali file JUnit devono essere scaricati dal repository centrale al repository locale.

    • Crea un altro tag di dipendenza.

    • Fornisci le seguenti informazioni all'interno del tag di dipendenza.

<dependency> 
   <groupId>junit</groupId> 
   <artifactId>junit</artifactId> 
   <version>4.10</version> 
   <scope>test</scope> 
</dependency>
  • Verifica i binari.

    • Una volta modificato con successo pom.xml, salvalo.

    • Vai a Progetto → Pulisci - Ci vorranno pochi minuti.

Step 2 - Crea un pacchetto denominato "outline" in src / test / java

Step 3 - Creare un file di funzionalità denominato "commandLine.feature".

  • Seleziona e fai clic con il pulsante destro del mouse sulla struttura del pacchetto.

  • Fare clic su "Nuovo" file.

  • Assegna al file un nome come "commandLine.feature"

  • Scrivi sotto il testo all'interno del file e salvalo.

    Feature - Schema dello scenario

    Scenario Outline - Funzionalità di accesso per un sito di social networking.

    Dato che l'utente naviga su Facebook

    Quando inserisco il nome utente come "<username>" e la password come "<password>"

    Quindi il login dovrebbe avere esito negativo

Esempi

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

Note- Qui, l'annotazione di esempio descrive l'intervallo di input da fornire durante l'esecuzione dello scenario. Lo scenario di test verrà eseguito per ciascuno degli input forniti. Quindi, nell'esempio fornito, lo scenario di test verrà eseguito tre volte.

Step 4 - Crea un file di definizione del passaggio.

  • Seleziona e fai clic con il pulsante destro del mouse sulla struttura del pacchetto.

  • Fare clic su "Nuovo" file.

  • Assegna al file il nome commandLine.java

  • Scrivi il testo seguente all'interno del file e salvalo.

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- Nel codice, dobbiamo definire una funzione con due argomenti di input: uno username e l'altro sarà per la password. Quindi, per ogni set di input fornito nel tag di esempio, verrà eseguito il set di GIVEN, WHEN e THEN.

Step 5 - Crea un file di classe corridore.

  • Seleziona e fai clic con il pulsante destro del mouse sulla struttura del pacchetto.

  • Fare clic su "Nuovo" file.

  • Assegna al file un nome come, runTest.java

  • Scrivi il testo seguente all'interno del file e salvalo.

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

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

public class runTest { }
  • Apri un prompt dei comandi.

  • Vai alla directory in cui risiede questo pacchetto "commandLine". e: \ Workspace \ LoginTest \ src> cd test \ java

  • Esegui il comando mvn test: vedrai che tutti gli scenari descritti nel file delle caratteristiche sono stati eseguiti (se non ci sono errori). Infine, in basso troverai le seguenti informazioni.

Risultato

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

Il comando precedente esegue tutto come menzionato nella classe JUnit Runner. Tuttavia, se vogliamo sovrascrivere le configurazioni menzionate nel Runner, di seguito sono riportati i pochi esempi per farlo.

  • Ora esegui il comando mvn test - Dcucumber.options = "- help" sul prompt dei comandi. L'esecuzione di questo stamperà tutte le opzioni disponibili.

  • Per eseguire solo tag specifici, eseguire il comando mvn test -Dcucumber.options = "- tags @SmokeTest" sul prompt dei comandi. Eseguirà solo i tag contrassegnati con @SmokeTest.

  • Per cambiare il formato del risultato, esegui il comando E: \ Workspace \ LoginTest> mvn test -Dcucumber.options = "- plugin junit: target / cucumber-junit-report.xml" sul prompt dei comandi Modifica il report formato al generatore di rapporti JUnit.