introduction junit framework
Questo tutorial fornirà una panoramica su JUnit e sul suo utilizzo nello script di selenio. Questo è il tutorial n. 11 nel nostro serie completa di tutorial sul selenio.
Fondamentalmente, JUnit è uno strumento di unit test open source e utilizzato per testare unità di codice piccole / grandi. Per eseguire il test JUnit non è necessario creare un oggetto classe o definire il metodo principale. JUnit fornisce la libreria di asserzioni che viene utilizzata per valutare il risultato del test. Le annotazioni di JUnit vengono utilizzate per eseguire il metodo di prova. JUnit viene utilizzato anche per eseguire la suite di automazione con più casi di test.
Cosa imparerai:
- Aggiunta della libreria JUnit nel progetto Java
- Annotazioni JUnit utilizzate negli script Selenium
- Asserzioni JUnit
- Conclusione:
- Lettura consigliata
Aggiunta della libreria JUnit nel progetto Java
Innanzitutto, impareremo come aggiungere la libreria JUnit al tuo progetto Java:
algoritmo del percorso più breve nel codice sorgente java
Passo 1: Fare clic con il tasto destro su Progetto Java-> Percorso di compilazione-> Configura percorso di compilazione
Passo 2: Fare clic su Librerie-> Aggiungi libreria
Passaggio 3: Fare clic su Junit.
Passaggio 4: Seleziona Junit4-> Finish
Passaggio 5: Fare clic su OK.
Esistono molti framework come Data Driven Framework, Keyword Driven Framework e Hybrid Framework che utilizzano lo strumento JUnit come test runner e che aiuteranno ad avviare l'esecuzione batch e il reporting.
Annotazioni JUnit utilizzate negli script Selenium
Ci sono molte annotazioni disponibili in Junit. Qui abbiamo descritto alcune annotazioni che vengono utilizzate molto frequentemente negli script e nel framework Selenium.
# 1. @Test
@Test l'annotazione viene utilizzata per eseguire un test Junit.
Esempio :
@Test public void junitTest() { System.out.println('Running Junit test'); Assert.assertEquals(1,1); }
Come eseguire un test JUnit:
Navigare per eseguire -> Esegui come test JUnit
# 2. @Prima:
@Prima l'annotazione viene utilizzata per eseguire qualsiasi test specifico prima di ogni test.
public class Junttest { @Before public void beforeTest(){ System.out.println('Running before test'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } }
Produzione:
In esecuzione prima del test
Esecuzione del test Junit
Esempio di annotazione prima utilizzando il metodo di test a due junit.
public class Junttest { @Before public void beforeTest(){ System.out.println('Running before test'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } @Test public void secondJunitTest(){ System.out.println('Running second Junit test'); } }
Produzione:
In esecuzione prima del test
Esecuzione del test JUnit
In esecuzione prima del test
Esecuzione del secondo test JUnit
Prima di eseguire il metodo di test JUnit verrà eseguito il metodo beforeTest. Allo stesso modo, prima di eseguire di nuovo secondJuntiTest, il metodo beforeTest verrà eseguito e produrrà un output come sopra.
# 3. @Prima della lezione
Questo metodo viene eseguito una volta prima di eseguire tutti i test. Il metodo deve essere un metodo statico. L'inizializzazione dei file delle proprietà, dei database ecc. Viene eseguita nel metodo beforeClass.
public class Junttest { @BeforeClass public static void beforeClassTest(){ System.out.println('Executed before class method'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } @Test public void secondJunitTest(){ System.out.println('Running second Junit test'); } }
Produzione:
Eseguito prima del metodo della classe
Esecuzione del test JUnit
Esecuzione del secondo test JUnit
# 4. @Dopo
Questo metodo viene eseguito dopo ogni test.
public class Junttest { @Test public void junitTest(){ System.out.println('Running Junit test'); } @After public void afterTest(){ System.out.println('Running after method'); } }
Produzione:
Esecuzione del test JUnit
Rincorrere il metodo
# 5. @Dopo la lezione
Come @BeforeClass, @AfterClass viene eseguito una volta dopo aver eseguito tutti i metodi di test. Come un metodo @BeforeClass, il metodo @AfterClass deve essere un metodo statico.
public class Junttest { @Test public void junitTest(){ System.out.println('Running Junit test'); } @Test public void secondJunitTest(){ System.out.println('Running second Junit test'); } @AfterClass Public static void afterClassTest(){ System.out.println('Running afterclass method'); } }
Produzione:
Esecuzione del test JUnit
Esecuzione del secondo test JUnit
Esecuzione del metodo afterclass
Le asserzioni JUnit vengono utilizzate per convalidare determinate condizioni e interrompe l'esecuzione del programma se le condizioni non sono soddisfatte.
# 6. Classe JUnit parametrizzata:
Una classe parametrizzata viene utilizzata per eseguire lo stesso scenario con più set di dati.
Di seguito è riportato l'esempio per passare più parametri in un test JUnit.
Il tag di annotazione @Parameters viene utilizzato per passare più dati. Qui, abbiamo preso un array dimensionale 2 * 2 e i dati possono essere visualizzati come di seguito:
@RunWith(Parameterized.class) public class Junttest { public String name; public int age; public Junttest(String name,int age){ this.name=name; this.age=age; } @Test public void testMethod(){ System.out.println('Name is: '+name +' and age is: '+age); } @Parameters public static Collection parameter(){ Object()() pData=new Object(2)(2); pData(0)(0)='Tom'; pData(0)(1)=30; pData(1)(0)='Harry'; pData(1)(1)=40; return Arrays.asList(pData); } }
Asserzioni JUnit
JUnit assertEquals : Controlla se i due valori sono uguali e l'asserzione fallisce se entrambi i valori non sono uguali.
Confronta Boolean, int, String, float, long, char ecc.
Sintassi :
Assert.assertEqual ('valore escluso', 'valore effettivo');
Esempio :
Assert.assertEqual ('ABC', 'ABC'); // Entrambe le stringhe sono uguali e l'asserzione passerà.
Assert.assertEqual ('ABC', 'DEF'); // L'asserzione fallirà poiché entrambe le stringhe non sono uguali.
Assert.assertEqual ('Le stringhe non sono uguali', 'ABC', 'DEF'); // il messaggio verrà lanciato se la condizione uguale non è soddisfatta.
Di seguito è riportato l'esempio dell'uso dell'asserzione JUnit nel selenio:
String username=driver.findElement(By.id(“username”)).getText(); String password=driver.findElement(By.id(“password”)).getText(); Assert.assertEqual(“Mismatch in both the string”, username, password);
Nell'esempio precedente l'asserzione fallirà poiché entrambe le stringhe non sono uguali. Uno è il testo del campo del nome utente e l'altro è il testo del campo della password.
JUnit assertTrue : Restituisce vero se la condizione è vera e l'asserzione fallisce se la condizione è falsa.
Assert.assertTrue ('messaggio', condizione);
Assert.assertTrue ('Entrambe le stringhe non sono uguali', ('HelloWorld'). Equals ('HelloWorld'));
Qui l'asserzione passerà quando entrambe le stringhe corrispondono. Stamperà il messaggio se l'asserzione fallisce.
JUnit assertFalse : Restituisce vero se la condizione è falsa e l'asserzione non riesce se la condizione è vera.
Assert.assertFalse ('messaggio', condizione);
Assert.assertFalse ('Entrambe le stringhe sono uguali', ('Hello'). Equals ('HelloWorld'));
Non ci sarà alcun errore di asserzione poiché la condizione è falsa.
Conclusione:
La maggior parte dei programmatori usa Junit in quanto è facile e non richiede molti sforzi per il test. Una semplice barra verde o rossa mostrerà il risultato effettivo del test. Junit semplifica la vita in quanto ha il proprio set di librerie e annotazioni. Qui abbiamo anche descritto le annotazioni di uso comune utilizzate con gli script e il framework del selenio.
Maggiori dettagli sul framework e sull'uso delle annotazioni JUnit saranno discussi nel prossimo tutorial, dedicato esclusivamente alla progettazione del framework utilizzando Junit. Questo tutorial ci aiuterà a progettare il framework utilizzando Junit.
Prossimo tutorial # 12 : Nel prossimo tutorial, discuteremo di tutto su TestNG, le sue caratteristiche e le sue applicazioni. TestNG è un framework avanzato progettato in modo da sfruttare i vantaggi sia degli sviluppatori che dei tester.
Lettura consigliata
- Esercitazione sul selenio di cetriolo: integrazione con WebDriver di selenio Java di cetriolo
- Creazione di Selenium Framework e accesso ai dati di test da Excel - Selenium Tutorial # 21
- Implementazione del nostro primo script WebDriver - Selenium WebDriver Tutorial # 10
- Introduzione a Selenium WebDriver - Selenium Tutorial # 8
- Tutorial approfonditi su Eclipse per principianti
- Come utilizzare TestNG Framework per la creazione di script di selenio - TestNG Selenium Tutorial # 12
- Scripting efficiente del selenio e scenari di risoluzione dei problemi - Tutorial sul selenio n. 27
- Debug degli script di selenio con i registri (tutorial di Log4j) - Esercitazione di selenio # 26