In questo tutorial imparerai come integrare Cucumber con Selenium Webdriver.
Cos'è il cetriolo?
Il cetriolo è un approccio di test che supporta lo sviluppo guidato dal comportamento (BDD). Spiega il comportamento dell'applicazione in un semplice testo inglese utilizzando il linguaggio Gherkin.
Ulteriori informazioni su: https://www.guru99.com/cucumber-tutorials.html
Cos'è il selenio?
Selenium è uno strumento di automazione per il test funzionale dell'applicazione basata sul web. Selenium supporta diversi linguaggi come java, ruby, python C #, ecc.
Ulteriori informazioni su: https://www.guru99.com/selenium-tutorial.html
In questo tutorial sui cetrioli, impareremo-
- Perché usare il cetriolo con selenio?
- Prerequisito per l'utilizzo di cetriolo con selenio.
- Test di automazione utilizzando cetriolo con selenio.
- Scenario 1: stampa del testo nella console.
- Scenario 2: immettere le credenziali di accesso e reimpostare il valore.
- Scenario 3: immettere le credenziali di accesso su Guru99 e reimpostare il valore. Fallo per 3 set di dati.
Perché usare il cetriolo con selenio?
Il cetriolo e il selenio sono due tecnologie popolari.
La maggior parte delle organizzazioni utilizza il selenio per i test funzionali. Queste organizzazioni che utilizzano il selenio, vogliono integrare il selenio con il cetriolo poiché il cetriolo facilita la lettura e la comprensione del flusso dell'applicazione.
Lo strumento Cucumber si basa sul framework Behaviour Driven Development che funge da ponte tra le seguenti persone:
- Ingegnere del software e analista aziendale.
- Tester manuale e tester di automazione.
- Tester manuale e sviluppatori.
Il framework Cucumber BDD avvantaggia anche il cliente per comprendere il codice dell'applicazione poiché utilizza il linguaggio Gherkin che è in testo normale. Chiunque nell'organizzazione può comprendere il comportamento del software. La sintassi di Gherkin è in un testo semplice che è leggibile e comprensibile.
Prerequisito per l'utilizzo di cetriolo con selenio
Prima di iniziare l'integrazione di cetriolo selenio, abbiamo bisogno dei seguenti elementi:
- File jar selenio:
- Selenio-server-standalone
Può essere scaricato da http://www.seleniumhq.org/download/
File di barattoli per cetriolo:
- Torsolo di cetriolo
- Cetriolo-html
- copertura del codice cobertura
- Cetriolo-Giava
- Cetriolo-junit
- Cetriolo-jvm-deps
- Segnalazione dei cetrioli
- Hemcrest-core
- Cetriolino
- Junit
Può essere scaricato da https://mvnrepository.com/search?q=Cucumber
Devi cercare i file e scaricarli uno per uno individualmente.
Ad esempio, ti mostreremo come scaricare uno dei file jar, ovvero "Cucumber-core".
Fare clic sul collegamento per il download sopra. Reindirizza al sito sottostante. Ora cerca il barattolo in particolare, cioè 'Cucumber Core' come mostrato nell'immagine di seguito:
Nella pagina successiva, fare clic sulla versione 1.2.2,
Nella schermata successiva, fai clic su download per ottenere il file jar "Cucumber Core".
Nota : per comodità, abbiamo raggruppato i file jar necessari per essere scaricati da Maven qui. Con il tempo questi vasi potrebbero essere aggiornati e diventare incompatibili. Viene richiesto di scaricarli utilizzando il metodo illustrato sopra.
Test di automazione utilizzando cetriolo con selenio.
Studiamo i passaggi per utilizzare il cetriolo con 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: immettere le credenziali di accesso su Guru99 e reimpostare il valore. Fallo per 3 set di dati.
Scenario 1: stampa del testo nella console.
In questo scenario, stampiamo semplicemente il testo nella console utilizzando Cucumber.
Passaggio 1) Crea progetto in eclipse.
Crea un progetto Java con il nome "CucumberWithSelenium" come mostrato nello screenshot qui sotto.
Passaggio 2) Aggiunta di file Jar nel progetto.
Fare clic con il pulsante destro del mouse su Progetto> Seleziona proprietà> Vai a Percorso build Java. Aggiungi tutte le librerie scaricate in precedenza.
Passaggio 3) Creazione del file delle caratteristiche
Per creare il file delle caratteristiche, creare prima la cartella delle caratteristiche come mostrato nell'immagine sottostante.
Ora inserisci il nome della cartella "Funzionalità" e fai clic sul pulsante "Fine".
Ora, crea il file delle caratteristiche nella cartella "Caratteristiche" con il nome di "MyTest.feature" - Il processo è simile alla creazione di una cartella
Nota: potrebbe essere necessario installare il plug-in Cucumber Eclipse affinché funzioni. Goto - Helps-> Installa nuovo software-> copia incolla il link http://cucumber.github.io/cucumber-eclipse/update-site/ e installa
Passaggio 4) Scrivi scenari.
Le righe seguenti sono scritte nel file "MyTest.feature" utilizzando il linguaggio Gherkin come mostrato di seguito:
Funzionalità: ripristina la funzionalità nella pagina di accesso dell'applicazione
Scenario: verifica del pulsante di ripristino
Dato Apri Firefox e avvia l'applicazione
Quando immettere il nome utente e la password
Quindi reimposta le credenziali
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 il risultato o il risultato atteso.
Passaggio 5) Scrittura dello script selenium testrunner per la progettazione del framework Selenium Cucumber
Qui creiamo il pacchetto "TestRunner" e quindi il file di classe "Runner.java" sotto di esso.
pacchetto TestRunner;import org.junit.runner.RunWith;import cucumber.api.CucumberOptions;import cucumber.api.junit.Cucumber;@RunWith (Cucumber.class)@CucumberOptions (features = "Features", glue = {"StepDefinition"})corridore di classe pubblica{}
Nel codice di esempio Java Cucumber sopra, eseguiamo il test del cetriolo utilizzando le seguenti annotazioni:
L' annotazione @RunWith () indica la classe del runner di test per avviare l'esecuzione dei nostri test.
L' annotazione @CucmberOptions () viene utilizzata per impostare alcune proprietà per il nostro test del cetriolo come il file delle caratteristiche, la definizione del passaggio, ecc.
Screenshot del file TestRunner.
Passaggio 6) Creazione dello script di definizione del passaggio.
Ora qui creiamo il pacchetto "StepDefinition" e quindi il file di script "Steps.java" sotto di esso. Qui scriviamo effettivamente uno script di selenio per eseguire il test con i metodi Cucumber.
pacchetto StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps {@Given ("Apri Firefox e avvia l'applicazione $")public void open_the_Firefox_and_launch_the_application () genera Throwable{System.out.println ("In questo passaggio, apri Firefox e avvia l'applicazione.");}@Quando ("Immettere il nome utente e la password $")public void enter_the_Username_and_Password () genera Throwable{System.out.println ("In questo passaggio inserisci il nome utente e la password nella pagina di accesso.");}@Allora ("Reimposta la credenziale $")public void Reset_the_credential () genera Throwable{System.out.println ("In questo passaggio fai clic sul pulsante Ripristina.");}}
Nel codice precedente, la classe viene creata con il nome "Passi". L'annotazione del cetriolo viene utilizzata per eseguire la mappatura con il file delle caratteristiche. Ogni metodo di annotazione è definito:
L' annotazione @Given definisce il metodo per aprire Firefox e avviare l'applicazione
@Quando l' annotazione definisce il metodo per inserire il nome utente e la password
@ Quindi l' annotazione definisce il metodo per reimpostare le credenziali
Con ogni metodo, stampiamo solo un messaggio.
Di seguito è riportato lo screenshot dello script "Steps.java" e dell'albero del progetto, come appare.
Nota: la definizione del passaggio non è altro che i passaggi che si desidera eseguire con questo metodo del cetriolo.
Passaggio 7) Esecuzione dello script.
L'utente può eseguire questo script dallo script Test runner, ovvero "Runner.java" come mostrato nell'immagine sottostante.
Passaggio 8) Analizza l'output.
Quando si esegue 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 entreremo semplicemente nelle credenziali nella pagina di accesso della demo di Guru99 e ripristineremo il valore
Per lo scenario 2 è necessario aggiornare solo lo script "Steps.java". Qui scriviamo effettivamente lo script del selenio come mostrato di seguito. Per prima cosa, dobbiamo aggiungere il file jar Selenium a questo progetto.
Passaggio 1) Qui aggiorniamo lo script "Steps.java" come mostrato nel codice e nello screenshot seguenti.
pacchetto 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 {Driver WebDriver;@Given ("Apri Firefox e avvia l'applicazione $")public void open_the_Firefox_and_launch_the_application () genera Throwable{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");driver = nuovo FirefoxDriver ();driver.manage (). window (). maxim ();driver.get ("http://demo.guru99.com/v4");}@Quando ("Immettere il nome utente e la password $")public void enter_the_Username_and_Password () genera Throwable{driver.findElement (By.name ("uid")). sendKeys ("username12");driver.findElement (By.name ("password")). sendKeys ("password12");}@Allora ("Reimposta la credenziale $")public void Reset_the_credential () genera Throwable{driver.findElement (By.name ("btnReset")). click ();}}
Screenshot dello script selenio sopra.
Passaggio 2) Esegui lo script.
Dopo l'aggiornamento, eseguiamo Runner.java.
Passaggio 3) Analizza l'output.
Nell'output puoi vedere quanto segue:
- Browser avviato.
- Il sito demo della banca Guru99 viene aperto.
- Il nome utente e la password vengono inseriti nella pagina di accesso.
- Ripristina i valori.
Scenario 3: immettere le credenziali di accesso su Guru99 e reimpostare il valore. Fallo per 3 set di dati.
Qui dobbiamo aggiornare sia "Step.java" che il file delle caratteristiche.
Passaggio 1) Aggiorna il file della funzione come mostrato di seguito:
Qui aggiorniamo il file delle caratteristiche con la sintassi "Scenario Outline" ed "examples".
Funzionalità: ripristina la funzionalità nella pagina di accesso dell'applicazione
Schema dello scenario: verifica del pulsante di ripristino con i numeri delle credenziali
Dato Apri Firefox e avvia l'applicazione
Quando immettere il nome utente
e la password Quindi reimposta le credenziali
Esempi:
| nome utente | password |
| Utente1 | password1 |
| Utente2 | password2 |
| Utente3 | password3 |
// In questa riga definiamo l'insieme di dati.
Passaggio 2) Ora aggiorna lo script Step.java.
Qui aggiorniamo i metodi per passare i parametri, script aggiornato mostrato di seguito:
pacchetto 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 {Driver WebDriver;@Given ("Apri Firefox e avvia l'applicazione $")public void open_the_Firefox_and_launch_the_application () genera Throwable{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");driver = nuovo FirefoxDriver ();driver.manage (). window (). maxim ();driver.get ("www.demo.guru99.com/v4");}@Quando ("Immettere il nome utente \" (. *) \ "E la password \" (. *) \ "$")public void enter_the_Username_and_Password (String username, String password) genera Throwable{driver.findElement (By.name ("uid")). sendKeys (nome utente);driver.findElement (By.name ("password")). sendKeys (password);}@Allora ("Reimposta la credenziale $")public void Reset_the_credential () genera Throwable{driver.findElement (By.name ("btnReset")). click ();}}
Passaggio 3) Ora esegui lo script aggiornato.
La schermata sottostante mostra la corretta esecuzione dello script e il tempo impiegato da ciascun set di dati.
Passaggio 4) Analizza l'output.
Nell'output puoi vedere quanto segue:
L'output di seguito viene ripetuto per il numero di set di dati, ovvero 3 set.
- Browser avviato.
- Il sito demo della banca Guru99 viene aperto.
- Il nome utente e la password vengono inseriti nella pagina di accesso.
- Ripristina i valori.
Conclusione.
Il cetriolo è uno strumento BDD molto popolare. È di facile lettura e può essere compreso da tutte le parti interessate, comprese le persone tecniche e non.
Il cetriolo può essere integrato con il selenio utilizzando i seguenti 3 passaggi
- Crea file di caratteristiche in cui definire la caratteristica e gli scenari passo dopo passo utilizzando il linguaggio Gherkin.
- Crea file Testrunner. In questo file, abbiamo integrato Cucumber con il framework BDD in Selenium. Eseguiamo questo script.
- Definizione del passaggio di creazione, lo script di selenio effettivo definito in questo pacchetto.