cucumber selenium tutorial
Cetriolo Selenium WebDriver Integrazione Java con esempio:
Nell'ultimo tutorial, abbiamo discusso lo strumento Cetriolo , il suo utilizzo e le diverse caratteristiche.
Andando avanti nel nostro libero Formazione online sul selenio serie, discuteremo come impostare un progetto cetriolo e discuterà l'integrazione di Selenium WebDriver con Cucumber.
Organizzeremo un progetto Cucumber con Maven. Per configurare Maven nel tuo sistema, per favore fare riferimento a questo tutorial su Maven della stessa serie.
come si riproducono i file swf
Cosa imparerai:
- Configurazione del progetto cetriolo
- Cetriolo Selenio WebDriver Integrazione
- Conclusione:
- Lettura consigliata
Configurazione del progetto cetriolo
Passo 1: Crea un nuovo progetto Maven:
Fare clic con il tasto destro -> Nuovo -> Altri -> Maven -> Progetto Maven -> Avanti
Passo 2: Ora il progetto sarà simile a questo:
Passaggio 3 : Aggiungi sotto le dipendenze in pom.xml
info.cukes cucumber-java 1.0.2 test info.cukes cucumber-junit 1.0.2 test junit junit 4.10 test
Passaggio 4 : Crea un file sample.feature in src / test / resources.
@test del fumo
Caratteristica : Per testare il mio test del cetriolo è in esecuzione
Voglio eseguire un file di caratteristiche di esempio.
Scenario : setup cetriolo
Dato il file delle caratteristiche di esempio è pronto
quando Eseguo il file delle caratteristiche
Poi l'esecuzione dovrebbe avere successo
Passaggio 5 : Crea una classe in src / test / java che implementerà tutti i passaggi.
public class stepDefinition { @Given('^sample feature file is ready$') public void givenStatment(){ System.out.println('Given statement executed successfully'); } @When('^I run the feature file$') public void whenStatement(){ System.out.println('When statement execueted successfully'); } @Then('^run should be successful$') public void thenStatment(){ System.out.println('Then statement executed successfully'); } }
Passaggio n. 6 : Crea un corridore JUnit per eseguire il test.
@RunWith(Cucumber.class) @Cucumber.Options(format={'pretty','html:reports/test-report'},tags= '@smokeTest') public class CucumberRunner { }
Fornire il percorso del report come indicato qui. I report verranno archiviati nella cartella 'test-report' nella cartella del progetto e il formato 'pretty' specifica il tipo di report.
Passaggio 7 : Risultati Junit e rapporto di prova:
Di seguito è riportato il rapporto quando il test del cetriolo ha esito positivo. La barra verde in Junit descrive che il test è stato superato. Allo stesso modo, la barra rossa indica che il test è fallito.
Se vogliamo utilizzare i rapporti predefiniti, navigare nel percorso menzionato in Junit Runner. In questo caso, abbiamo dato path come report-> test-report-> index.html.
Apri questo rapporto in Internet Explorer o in Firefox per verificare il risultato. Di seguito è riportato il campione del report:
Cetriolo Selenio WebDriver Integrazione
Il framework Cucumber può essere utilizzato per testare le applicazioni basate sul Web insieme a Selenium WebDriver. I casi di test sono scritti in semplici file di funzionalità facilmente comprensibili da manager, stakeholder non tecnici e analisti aziendali. E questi passaggi del file delle caratteristiche sono implementati nel file di definizione dei passaggi. Se stai usando Maven, devi aggiungere le dipendenze per Cucumber e WebDriver.
Quindi ecco il caso di test di esempio che abbiamo implementato utilizzando Cucumber e WebDriver. Come indicato di seguito, lo scenario nel file delle caratteristiche è autoesplicativo.
Funzionalità: file delle funzionalità di accesso
@selenio
Scenario : Test dello scenario di accesso per Gmail
Dato vai alla pagina di Gmail
quando l'utente ha effettuato l'accesso utilizzando il nome utente come 'utenteA' e la password come 'password'
Poi dovrebbe essere visualizzata la home page
Implementazione di WebDriver nella fase Cucumber Definizioni:
public class stepDefinition { WebDriver dr; @Given('^navigate to gmail page$') public void navigate(){ dr=new FirefoxDriver(); dr.get('http://www.gmail.com'); } @When ('^user logged in using username as '(.*)' and password as '(.*)'$') public void login(String username,String password){ dr.findElement(By.xpath('//*(@id='Email')')).sendKeys(username); dr.findElement(By.xpath('//*(@id='Passwd')')).sendKeys(password); dr.findElement(By.xpath('//*(@id='signIn')')).click(); dr.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); } @Then('^home page should be displayed$') public void verifySuccessful(){ String expectedText='Gmail'; String actualText= dr.findElement(By.xpath('//*(@id='gbq1')/div/a/span')).getText(); Assert.assertTrue('Login not successful',expectedText.equals(actualText)); } }
In questo test, abbiamo utilizzato Firefox come browser per testare la funzionalità di accesso a Gmail.
Chiaramente, l'oggetto WebDriver è una variabile di classe e viene utilizzato in tutta la classe.
Dato istruzione inizializza il browser e naviga alla pagina.
quando l'istruzione accede all'applicazione utilizzando il nome utente come 'utenteA' e la password come 'password'. Entrambi i valori 'nome utente' e 'password' vengono passati dal file di funzionalità ed entrambi i valori devono essere utilizzati nello stesso ordine.
Poi L'istruzione convalida le condizioni solo dopo l'accesso all'applicazione.
Questo è un test di esempio che descrive l'uso di cetriolo e selenio. È possibile creare un'architettura multistrato a seconda dei requisiti del progetto.
Conclusione:
In questo tutorial sull'integrazione di Cucumber Selenium Java, abbiamo coperto la maggior parte dei concetti di Cucumber che includono le funzionalità di Cucumber e il suo utilizzo insieme a WebDriver.
Ciò riduce la complessità del codice scritto per progettare i framework tradizionali come Keyword Driven e Hybrid Framework. Il cetriolo viene utilizzato nella maggior parte dei progetti in cui le persone seguono una metodologia agile poiché lo sviluppo guidato dal comportamento è una pratica software agile.
Prossimo tutorial # 32 : Ora abbiamo completato tutti i tutorial tecnici di questa serie di formazione sul selenio. Successivamente, pubblicheremo alcuni importanti argomenti generali come 'Stima dello sforzo per progetti selenio' e 'domande intervista selenio con risposte'.
Si prega di inviare le vostre domande riguardanti il tutorial sul selenio di cetriolo.
Lettura consigliata
- Introduzione a Selenium WebDriver - Selenium Tutorial # 8
- Test di automazione utilizzando lo strumento Cucumber e il selenio - Tutorial sul selenio # 30
- Integrazione del selenio con JMeter
- Integrazione di Jenkins con Selenium WebDriver: tutorial passo passo
- Implementazione del nostro primo script WebDriver - Selenium WebDriver Tutorial # 10
- Come gestire avvisi / popup in Selenium WebDriver - Selenium Tutorial # 16
- WebDriver intera configurazione e installazione con Eclipse - Selenium Tutorial # 9
- Spock per integrazione e test funzionali con selenio