Selenium con Cucumber (Quadro BDD)
In questo tutorial imparerai come integrare Cucumber con Selenium Webdriver.
Che cos'è la Cucumber?
Cucumber è un approccio di test che supporta lo sviluppo guidato dal comportamento (BDD). Spiega il comportamento dell'applicazione in un semplice testo inglese utilizzando la lingua Gherkin.
Scopri di più su – https://www.guru99.com/cucumber-tutorials.html
Che cos'è la Selenium?
Selenium è uno strumento di automazione per Test di funzionalità dell'applicazione basata sul web. Selenium supporta linguaggi diversi come Java, Ruby, Python C#, ecc.
Scopri di più su – https://www.guru99.com/selenium-tutorial.html
Perché usare Cucumber con Selenium?
Cucumber e a Selenium sono due tecnologie popolari.
La maggior parte delle organizzazioni utilizza Selenium per prove funzionali. Queste organizzazioni che utilizzano Selenium, voglio integrare Selenium con Cucumber as Cucumber fa è facile da leggere e comprendere il flusso dell'applicazione.
Cucumber lo strumento si basa sul framework Behavior Driven Development che funge da ponte tra le seguenti persone:
- Ingegnere informatico e analista aziendale.
- Tester manuale e tester di automazione.
- Tester manuale e sviluppatori.
Cucumber Anche il framework BDD avvantaggia il cliente nella comprensione del codice dell'applicazione poiché utilizza il linguaggio Gherkin che è in testo semplice. Chiunque nell'organizzazione può comprendere il comportamento del software. La sintassi di Gherkin è in un testo semplice, leggibile e comprensibile.
Prerequisito per l'utilizzo Cucumber con Selenium
Prima di iniziare Cucumber Selenium integrazione, abbiamo bisogno dei seguenti elementi:
- Selenium file jar:
- Selenium-server-autonomo
Può essere scaricato su http://www.seleniumhq.org/download/
File Jar per Cucumber :
- Cucumber-nucleo
- Cucumber-html
- copertura del codice di copertura
- Cucumber-Giava
- Cucumber-giusto
- Cucumber-jvm-deps
- Cucumberrefertazione
- Nucleo di Hamcrest
- Cetriolino
- giunzione
Può essere scaricato su https://mvnrepository.com/search?q=Cucumber
È necessario cercare i file e scaricarli uno per uno individualmente.
Ad esempio, ti mostreremo come scaricare uno dei file jar, ovvero "Cucumber-nucleo."
Fare clic sul collegamento di download qui sopra. Reindirizza al sito sottostante. Ora cerca il barattolo particolare, ovvero 'Cucumber Core' come mostrato nella schermata seguente:
Nella pagina successiva, Click della versione 1.2.2,
Nella schermata successiva, fare clic su download per ottenere il "Cucumber File jar Core'.
Note:: Per tua comodità, abbiamo raggruppato i file jar necessari per il download da Maven qui. Con il tempo questi vasetti potrebbero aggiornarsi e diventare incompatibili. Viene richiesto di scaricarli utilizzando il metodo sopra illustrato.
Test di automazione utilizzando Cucumber con Selenium.
Studiamo i passaggi da utilizzare Cucumber con il selenio passo dopo passo. Qui tratteremo 3 scenari:
- Scenario 1: stampa del testo nella console.
- Scenario 2: immettere le credenziali di accesso e reimpostare il valore.
- Scenario 3: inserire le credenziali di accesso su Guru99 e reimpostare il valore. Fatelo per 3 set di dati.
Scenario 1: stampa del testo nella console.
In questo scenario, stampiamo semplicemente il testo nella console utilizzando Cucumber.
Passo 1) Crea un progetto in Eclipse.
Creare Java progetto dal nome “CucumberCon Selenium" come mostrato nello screenshot qui sotto.
Passo 2) Aggiunta di file Jar nel progetto.
Fare clic con il tasto destro sul progetto > Seleziona Proprietà > Vai a Java Costruisci percorso. Aggiungi tutte le librerie scaricate in precedenza.
Passo 3) Creazione del file delle caratteristiche
Per creare un file di funzionalità, crea prima la cartella delle funzionalità come mostrato nello screenshot seguente.
Ora inserisci il nome della cartella "Funzioni" e fai clic sul pulsante "Fine".
Ora crea un file di funzionalità nella cartella "Features" con il nome "MyTest.feature" – Il processo è simile alla creazione di una cartella
Nota: Potrebbe essere necessario installare il file Cucumber Eclipse Plugin affinché funzioni. Vai a - Guida->Installa nuovo software->copia e incolla il collegamento http://cucumber.github.io/cucumber-eclipse/update-site/ e installare
Passo 4) Scrivi scenari.
Le righe seguenti sono scritte nel file "MyTest.feature" utilizzando il linguaggio Gherkin come mostrato di seguito:
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
Spiegazione del codice
Riga 1) In questa riga scriviamo funzionalità aziendali.
Riga 2) In questa riga scriviamo uno scenario da testare.
Riga 3) In questa riga definiamo la precondizione.
Riga 4) In questa riga definiamo l'azione che dobbiamo eseguire.
Riga 4) In questa riga definiamo l'esito o il risultato atteso.
Passo 5) Scrittura di script di testrunner di selenio per Selenium Cucumber progettazione del quadro
Qui creiamo il pacchetto "TestRunner" e quindi il file di classe "Runner.java" sotto di esso.
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 { }
Nel sopra Cucumber Java codice di esempio, eseguiamo il file prova del cetriolo utilizzando le seguenti annotazioni:
@Corri con() L'annotazione indica la classe del test runner per iniziare a eseguire i nostri test.
@CucmberOptions() l'annotazione viene utilizzata per impostare alcune proprietà per il nostro test del cetriolo come file di funzionalità, definizione del passaggio, ecc.
Schermata del file TestRunner.
Passo 6) Creazione dello script di definizione dei passaggi.
Ora qui creiamo il pacchetto 'StepDefinition' e poi il file script 'Steps.java' sotto di esso. Qui scriviamo effettivamente uno script selenium per eseguire il test sotto Cucumber metodi.
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."); } }
Nel codice precedente, la classe viene creata con il nome "Steps". Cucumber l'annotazione viene utilizzata per mappare con il file delle caratteristiche. Ogni metodo di annotazione è definito:
@Dato annotazione definisce il metodo per aprire Firefox e avviare l'applicazione
@Quando metodo di definizione dell'annotazione per immettere nome utente e password
@Poi metodo di definizione dell'annotazione per reimpostare la credenziale
Con ciascun metodo, stampiamo solo un messaggio.
Di seguito è riportato lo screenshot dello script "Steps.java" e dell'albero del progetto, come appare.
Nota: La definizione dei passaggi non è altro che i passaggi che desideri eseguire con questo metodo del cetriolo.
Passo 7) Esecuzione dello script.
L'utente può eseguire questo script dallo script del Test runner, ovvero "Runner.java" come mostrato nello screenshot seguente.
Passo 8) Analizzare l'output.
Eseguendo lo script "Runner.java", viene visualizzato il testo sulla console. È lo stesso testo definito nello script 'Steps.java'.
Scenario 2: immettere le credenziali di accesso e reimpostare il valore.
Qui inseriremo semplicemente le credenziali nella pagina di accesso demo di Guru99 e reimposteremo il valore
Per lo scenario 2 dobbiamo aggiornare solo lo script 'Steps.java'. Qui scriviamo effettivamente lo script selenium come mostrato nei passaggi sottostanti. Per prima cosa, dobbiamo aggiungere Selenium jar a questo progetto.
Passo 1) Qui aggiorniamo lo script "Steps.java" come mostrato nel codice e nello screenshot seguenti.
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(); } }
Screenshot dello script di selenio sopra.
Passo 2) Esegui lo script.
Dopo l'aggiornamento eseguiamo Runner.java.
Passo 3) Analizzare l'output.
Nell'output è possibile vedere quanto segue:
- Browser avviato.
- Viene aperto il sito demo della banca Guru99.
- Nome utente e password vengono inseriti nella pagina di accesso.
- Reimpostare i valori.
Scenario 3: inserire le credenziali di accesso su Guru99 e reimpostare il valore. Fatelo per 3 set di dati.
Qui dobbiamo aggiornare sia "Step.java" che il file delle funzionalità.
Passo 1) Aggiorna il file delle funzionalità come mostrato di seguito:
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.
Passo 2) Ora aggiorna lo script Step.java.
Qui aggiorniamo i metodi per passare i parametri, script aggiornato mostrato di seguito:
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(); } }
Passo 3) Ora esegui lo script aggiornato.
La schermata seguente mostra l'esecuzione corretta dello script e il tempo impiegato da ciascun set di dati.
Passo 4) Analizzare l'output.
Nell'output è possibile vedere quanto segue:
L'output di seguito viene ripetuto per il numero di set di dati, ovvero 3 set.
- Browser avviato.
- Viene aperto il sito demo della banca Guru99.
- Nome utente e password vengono inseriti nella pagina di accesso.
- Reimpostare i valori.
Conclusione
Cucumber è uno strumento BDD molto popolare. È di facile lettura e può essere compreso da tutte le parti interessate, comprese le persone tecniche e non tecniche.
Cucumber può essere integrato con Selenium utilizzando i seguenti 3 passaggi
- Crea un file di funzionalità in cui definire la funzionalità e gli scenari passo dopo passo utilizzando il linguaggio Gherkin.
- Crea il file del testrunner. In questo file abbiamo integrato Cucumber con struttura BDD in Selenium. Eseguiamo questo script.
- Crea definizione Step, l'effettivo script di selenio definito in questo pacchetto.