introduction junit framework
Denna handledning ger en inblick i JUnit och dess användning i selen-skript. Det här är handledning nr 11 i vår omfattande Selen-handledningsserier.
I grund och botten är JUnit ett testverktyg för öppen källkod och används för att testa små / stora enheter kod. För att köra JUnit-testet behöver du inte skapa ett klassobjekt eller definiera huvudmetoden. JUnit tillhandahåller påståendebibliotek som används för att utvärdera testresultatet. Kommentarer om JUnit används för att köra testmetoden. JUnit används också för att köra Automation Suite med flera testfall.
Vad du kommer att lära dig:
- Lägga till JUnit-biblioteket i Java-projektet
- JUnit-anteckningar Används i selen-skript
- JUnit påståenden
- Slutsats:
- Rekommenderad läsning
Lägga till JUnit-biblioteket i Java-projektet
Först lär vi oss hur man lägger till JUnit-bibliotek i ditt Java-projekt:
var hittar jag min nätverksnyckel
Steg 1: Högerklicka på Java-projekt-> Bygg väg-> Konfigurera byggsökväg
Steg 2: Klicka på Bibliotek-> Lägg till bibliotek
Steg 3: Klicka på Junit.
Steg 4: Välj Junit4-> Slutför
Steg 5: Klicka på OK.
Det finns många ramar som Data Driven Framework, Keyword Driven Framework och Hybrid Framework som använder JUnit-verktyget som testlöpare och som hjälper till att starta batchexekvering och rapportering.
JUnit-anteckningar Används i selen-skript
Det finns många anteckningar tillgängliga i Junit. Här har vi beskrivit några kommentarer som används mycket ofta i Selen-skript och ramverk.
# 1. @Testa
@Testa annotering används för att köra ett Junit-test.
Exempel :
@Test public void junitTest() { System.out.println('Running Junit test'); Assert.assertEquals(1,1); }
Hur man kör ett JUnit-test:
Navigera för att köra -> Kör som JUnit-test
# 2. @Innan:
@Innan annotering används för att köra ett specifikt test före varje test.
public class Junttest { @Before public void beforeTest(){ System.out.println('Running before test'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } }
Produktion:
Kör före testet
Kör Junit-test
Exempel på före anteckning med två testmetoder.
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'); } }
Produktion:
Kör före testet
Kör JUnit-test
Kör före testet
Kör andra JUnit-testet
Innan du kör JUnit-testmetoden körs testmetoden. På samma sätt, innan du kör secondJuntiTest igen, körs beforeTest-metoden och producerar utdata som ovan.
# 3. @Innan lektionen
Den här metoden körs en gång innan alla test körs. Metoden måste vara en statisk metod. Initialisering av fastighetsfiler, databaser etc görs i metoden 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'); } }
Produktion:
Exekveras före klassmetoden
Kör JUnit-test
Kör andra JUnit-testet
# 4. @Efter
Denna metod körs efter varje test.
public class Junttest { @Test public void junitTest(){ System.out.println('Running Junit test'); } @After public void afterTest(){ System.out.println('Running after method'); } }
Produktion:
Kör JUnit-test
Kör efter metoden
# 5. @Efter lektionen
Liksom @BeforeClass kör @AfterClass en gång efter att alla testmetoder har körts. Liksom en @BeforeClass-metod måste @AfterClass-metoden vara en statisk metod.
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'); } }
Produktion:
Kör JUnit-test
Kör andra JUnit-testet
Kör efterklassmetod
JUnit-påståenden används för att validera vissa villkor och stoppar körningen av programmet om villkoren inte är uppfyllda.
# 6. Parameteriserad JUnit-klass:
En parametrerad klass används för att köra samma scenario med flera datamängder.
Nedan följer exemplet för att skicka flera parametrar i ett JUnit-test.
@Parameters annoteringstagg används för att skicka flera data. Här har vi tagit 2 * 2-dimensionell matris och data kan visualiseras som nedan:
@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); } }
JUnit påståenden
JUnit hävdar likheter : Detta kontrollerar om de två värdena är lika och påståendet misslyckas om båda värdena inte är lika.
Detta jämför Boolean, int, String, float, long, char etc.
Syntax :
Assert.assertEqual ('undantaget värde', 'verkligt värde');
Exempel :
Assert.assertEqual ('ABC', 'ABC'); // Båda strängarna är lika och påståendet kommer att passera.
Assert.assertEqual ('ABC', 'DEF'); // Påståendet misslyckas eftersom båda strängarna inte är lika.
Assert.assertEqual ('Strängar är inte lika', 'ABC', 'DEF'); // meddelandet kastas om lika villkor inte är uppfyllt.
Nedan följer exemplet med användning av JUnit-påstående i selen:
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);
I ovanstående exempel kommer påståendet att misslyckas eftersom båda strängarna inte är lika. En är texten i användarnamnsfältet och den andra är texten i lösenordsfältet.
JUnit hävdar sant : Returnerar sant om villkoret är sant och påståendet misslyckas om villkoret är falskt.
Assert.assertTrue (“meddelande”, villkor);
Assert.assertTrue ('Båda strängarna är inte lika', ('HelloWorld'). Lika med ('HelloWorld'));
Här kommer påståendet att passera när båda strängarna matchar. Det kommer att skriva ut meddelandet om påståendet misslyckas.
JUnit hävdar falskt : Returnerar sant om villkoret är falskt och påståendet misslyckas om villkoret är sant.
Assert.assertFalse (“meddelande”, villkor);
Assert.assertFalse ('Båda strängarna är lika', ('Hello'). Är lika med ('HelloWorld'));
Det kommer inte att finnas något påståendefel eftersom villkoret är falskt.
Slutsats:
De flesta av programmerarna använder Junit eftersom det är enkelt och inte tar mycket ansträngningar för att testa. En enkel grön eller röd stapel visar testets faktiska resultat. Junit gör livet enkelt eftersom det har en egen uppsättning bibliotek och anteckningar. Här har vi också beskrivit vanliga anteckningar som används med selen-skript och ramverk.
Mer detaljer om ramverk och användning av JUnit-anteckningar kommer att diskuteras i den kommande handboken som är dedikerad uteslutande för ramdesign med Junit. Denna handledning hjälper oss att utforma ramverket med Junit.
Nästa handledning # 12 : I nästa handledning skulle vi diskutera allt om TestNG, dess funktioner och dess applikationer. TestNG är ett avancerat ramverk utformat på ett sätt att utnyttja fördelarna för både utvecklare och testare.
Rekommenderad läsning
- Gurkselen-handledning: Gurka Java Selen WebDriver-integration
- Selen Framework Creation and Accessing Test Data from Excel - Selenium Tutorial # 21
- Implementation of Our First WebDriver Script - Selenium WebDriver Tutorial # 10
- Introduktion till Selen WebDriver - Selen Tutorial # 8
- Fördjupade förmörkningsövningar för nybörjare
- Hur man använder TestNG Framework för att skapa selen-skript - TestNG Selen Tutorial # 12
- Effektiv skriptning av selen och felsökning av scenarier - Selen-handledning nr 27
- Felsökning av selenskript med loggar (Log4j-handledning) - Selen-handledning # 26