introduction junit framework
Tento kurz poskytne informace o JUnit a jeho použití ve skriptu selenu. Toto je tutoriál č. 11 v našem komplexní řada výukových programů selenu.
JUnit je v zásadě nástroj pro testování jednotek s otevřeným zdrojovým kódem a slouží k testování malých / velkých jednotek kódu. Chcete-li spustit test JUnit, nemusíte vytvářet objekt třídy ani definovat hlavní metodu. JUnit poskytuje knihovnu tvrzení, která se používá k vyhodnocení výsledku testu. Ke spuštění testovací metody se používají poznámky JUnit. JUnit se také používá ke spuštění sady Automation, která má několik testovacích případů.
Co se naučíte:
- Přidání knihovny JUnit do projektu Java
- Anotace JUnit použité ve skriptech selenu
- JUnit Asseritions
- Závěr:
- Doporučené čtení
Přidání knihovny JUnit do projektu Java
Nejprve se naučíme, jak přidat knihovnu JUnit do projektu Java:
Krok 1: Klikněte pravým tlačítkem na projekt Java-> Cesta sestavení-> Konfigurovat cestu sestavení
Krok 2: Klikněte na Knihovny-> Přidat knihovnu
Krok č. 3: Klikněte na Junit.
Krok č. 4: Vyberte Junit4-> Dokončit
Krok č. 5: Klikněte na OK.
Existuje mnoho rámců, jako je Data Driven Framework, Keyword Driven Framework a Hybrid Framework, které používají nástroj JUnit jako testovací běžec a které pomohou spustit dávkové spuštění a hlášení.
Anotace JUnit použité ve skriptech selenu
V Junitu je k dispozici mnoho poznámek. Zde jsme popsali několik anotací, které se velmi často používají v selenových skriptech a rámci.
# 1. @Test
@Test anotace se používá ke spuštění testu Junit.
Příklad :
@Test public void junitTest() { System.out.println('Running Junit test'); Assert.assertEquals(1,1); }
Jak spustit test JUnit:
Přejděte na běh -> Spustit jako test JUnit
# 2. @Před:
@Před anotace se používá ke spuštění jakéhokoli konkrétního testu před každým testem.
public class Junttest { @Before public void beforeTest(){ System.out.println('Running before test'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } }
Výstup:
Běží před testem
Probíhá test Junit
Příklad anotace před použitím dvou zkušebních metod 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'); } }
Výstup:
Běží před testem
Probíhá test JUnit
Běží před testem
Probíhá druhý test JUnit
Před spuštěním testovací metody JUnit bude spuštěna metoda beforeTest. Podobně před spuštěním metody secondJuntiTest znovu bude spuštěna metoda beforeTest a vytvoří výstup jako výše.
# 3. @Před hodinou
Tato metoda se provede jednou před spuštěním všech testů. Metoda musí být statická. Inicializace souborů vlastností, databází atd. Se provádí metodou 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'); } }
Výstup:
Provedeno před metodou třídy
Probíhá test JUnit
Probíhá druhý test JUnit
# 4. @Po
Tato metoda se provádí po každém testu.
public class Junttest { @Test public void junitTest(){ System.out.println('Running Junit test'); } @After public void afterTest(){ System.out.println('Running after method'); } }
Výstup:
Probíhá test JUnit
Běží po metodě
# 5. @Po hodině
Stejně jako @BeforeClass, @AfterClass se provede jednou po provedení všech testovacích metod. Stejně jako metoda @BeforeClass musí být metoda @AfterClass statická metoda.
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'); } }
Výstup:
Probíhá test JUnit
Probíhá druhý test JUnit
Spuštěná metoda afterclass
JUnit tvrzení se používají k ověření určité podmínky a zastaví provádění programu, pokud podmínky nejsou splněny.
# 6. Parametrizovaná třída JUnit:
c ++ náhodné číslo mezi
Parametrizovaná třída se používá ke spuštění stejného scénáře s více datovými sadami.
Níže je uveden příklad předání více parametrů v testu JUnit.
Značka anotace @Parameters se používá k předání více dat. Zde jsme vzali 2 * 2 dimenzionální pole a data lze vizualizovat níže:
@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 Asseritions
JUnit assertEquals : Tím se zkontroluje, zda jsou obě hodnoty stejné, a tvrzení selže, pokud se obě hodnoty nerovnají.
Porovnává Boolean, int, String, float, long, char atd.
Syntax :
Assert.assertEqual („vyloučená hodnota“, „skutečná hodnota“);
Příklad :
Assert.assertEqual („ABC“, „ABC“); // Oba řetězce jsou stejné a tvrzení projde.
Assert.assertEqual („ABC“, „DEF“); // Assertion will fail as both the strings are not equal.
Assert.assertEqual („Řetězce nejsou stejné“, „ABC“, „DEF“); // zpráva bude vyvolána, pokud není splněna stejná podmínka.
Níže je uveden příklad použití tvrzení JUnit v selenu:
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);
Ve výše uvedeném příkladu se tvrzení nezdaří, protože oba řetězce nejsou stejné. Jeden je text pole uživatelského jména a druhý je text pole hesla.
JUnit assert Pravda : Vrátí hodnotu true, pokud je podmínka pravdivá, a tvrzení selže, pokud je podmínka nepravdivá.
Assert.assertTrue („zpráva“, podmínka);
Assert.assertTrue („Oba řetězce nejsou stejné“, („HelloWorld“). Equals („HelloWorld“));
Zde projde tvrzení, protože se shodují oba řetězce. Pokud se tvrzení nezdaří, zpráva se vytiskne.
JUnit assertFalse : Vrátí true, pokud je podmínka false a tvrzení selže, pokud je podmínka true.
Assert.assertFalse („zpráva“, podmínka);
Assert.assertFalse („Oba řetězce jsou stejné“, („Hello“). Equals („HelloWorld“));
Nebude existovat žádná chyba tvrzení, protože podmínka je nepravdivá.
Závěr:
Většina programátorů používá Junit, protože je to snadné a jeho testování není příliš náročné. Skutečný výsledek testu bude zobrazen jednoduchým zeleným nebo červeným pruhem. Junit usnadňuje život, protože má vlastní sadu knihoven a anotací. Zde jsme také popsali běžně používané anotace používané se selenovými skripty a frameworkem.
Více podrobností o rámci a použití anotací JUnit bude probráno v nadcházejícím kurzu, který je věnován výhradně pro návrh architektury pomocí Junitu. Tento výukový program nám pomůže při navrhování rámce pomocí Junitu.
Další výuka č. 12 : V dalším kurzu bychom probrali vše o TestNG, jeho funkcích a aplikacích. TestNG je pokročilý rámec navržený tak, aby využil výhod jak vývojářů, tak testerů.
Doporučené čtení
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Vytváření rámce selenu a přístup k testovacím datům z aplikace Excel - Selenium Tutorial # 21
- Implementace našeho prvního skriptu WebDriver - výuka selenu WebDriver # 10
- Úvod do Selenium WebDriver - Selenium Tutorial # 8
- Výukové programy pro zatmění do hloubky pro začátečníky
- Jak používat rámec TestNG pro vytváření skriptů selenu - návod k testování selenu TestNG # 12
- Efektivní scénáře selenu a řešení potíží - Scénář selenu č. 27
- Ladění selenových skriptů pomocí protokolů (výuka Log4j) - výuka selenu č. 26