introduction junit framework
Ten samouczek zapewni wgląd w JUnit i jego użycie w skrypcie selenu. To jest samouczek nr 11 w naszym obszerna seria samouczków Selenium.
Zasadniczo JUnit jest narzędziem do testowania jednostkowego typu open source i służy do testowania małych / dużych jednostek kodu. Aby uruchomić test JUnit, nie musisz tworzyć obiektu klasy ani definiować metody głównej. JUnit udostępnia bibliotekę asercji, która służy do oceny wyniku testu. Adnotacje JUnit służą do uruchamiania metody testowej. JUnit jest również używany do uruchamiania pakietu Automation z wieloma przypadkami testowymi.
Czego się nauczysz:
- Dodanie biblioteki JUnit w projekcie Java
- Adnotacje JUnit używane w skryptach Selenium
- JUnit Assertions
- Wniosek:
- rekomendowane lektury
Dodanie biblioteki JUnit w projekcie Java
Najpierw dowiemy się, jak dodać bibliotekę JUnit do projektu Java:
Krok 1: Kliknij prawym przyciskiem myszy projekt Java-> Build Path-> Configure Build path
Krok 2: Kliknij Biblioteki-> Dodaj bibliotekę
Krok 3: Kliknij Junit.
Krok 4: Wybierz Junit4-> Finish
Krok 5: Kliknij OK.
Istnieje wiele frameworków, takich jak Data Driven Framework, Keyword Driven Framework i Hybrid Framework, które wykorzystują narzędzie JUnit jako narzędzie do uruchamiania testów i które pomogą rozpocząć wykonywanie wsadowe i raportowanie.
Adnotacje JUnit używane w skryptach Selenium
W Junit dostępnych jest wiele adnotacji. Tutaj opisaliśmy kilka adnotacji, które są bardzo często używane w skryptach i frameworku Selenium.
# 1. @Test
jak otworzyć plik .json
@Test adnotacja służy do uruchamiania testu Junit.
Przykład :
@Test public void junitTest() { System.out.println('Running Junit test'); Assert.assertEquals(1,1); }
Jak przeprowadzić test JUnit:
Przejdź do uruchomienia -> Uruchom jako test JUnit
# 2. @Przed:
@Przed adnotacja służy do uruchamiania dowolnego konkretnego testu przed każdym testem.
jak otwierasz pliki JSON
public class Junttest { @Before public void beforeTest(){ System.out.println('Running before test'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } }
Wynik:
Uruchomiony przed testem
Uruchamiam test Junit
Przykład adnotacji przed przy użyciu metody testowej z dwoma połączeniami.
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'); } }
Wynik:
Uruchomiony przed testem
Uruchamiam test JUnit
Uruchomiony przed testem
Uruchamiam drugi test JUnit
Przed uruchomieniem metody testowej JUnit zostanie uruchomiona metoda beforeTest. Podobnie, przed ponownym uruchomieniem secondJuntiTest metoda beforeTest zostanie uruchomiona i wygeneruje dane wyjściowe jak powyżej.
# 3. @Przed zajęciami
Ta metoda jest wykonywana raz przed uruchomieniem wszystkich testów. Metoda musi być metodą statyczną. Inicjalizacja plików właściwości, baz danych itp. Odbywa się metodą 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'); } }
Wynik:
Wykonywane przed metodą klasową
Uruchamiam test JUnit
Uruchamiam drugi test JUnit
# 4. @Po
Ta metoda jest wykonywana po każdym teście.
public class Junttest { @Test public void junitTest(){ System.out.println('Running Junit test'); } @After public void afterTest(){ System.out.println('Running after method'); } }
Wynik:
Uruchamiam test JUnit
Bieg za metodą
# 5. @Po zajęciach
Podobnie jak @BeforeClass, @AfterClass wykonuje się raz po wykonaniu wszystkich metod testowych. Podobnie jak metoda @BeforeClass, metoda @AfterClass musi być metodą statyczną.
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'); } }
Wynik:
Uruchamiam test JUnit
Uruchamiam drugi test JUnit
Uruchamianie metody Afterclass
Asercje JUnit służą do sprawdzania poprawności określonego warunku i zatrzymują wykonywanie programu, jeśli warunki nie są spełnione.
# 6. Sparametryzowana klasa JUnit:
Klasa sparametryzowana służy do uruchamiania tego samego scenariusza z wieloma zestawami danych.
Poniżej znajduje się przykład przekazywania wielu parametrów w teście JUnit.
Tag adnotacji @Parameters służy do przekazywania wielu danych. Tutaj wzięliśmy tablicę wymiarową 2 * 2 i dane można wizualizować jak poniżej:
@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 Assertions
JUnit assertEquals : Sprawdza, czy dwie wartości są równe, a potwierdzenie kończy się niepowodzeniem, jeśli obie wartości nie są równe.
Porównuje Boolean, int, String, float, long, char itp.
Składnia :
Assert.assertEqual („wartość wykluczona”, „wartość rzeczywista”);
Przykład :
Assert.assertEqual („ABC”, „ABC”); // Oba łańcuchy są równe i potwierdzenie przejdzie.
Assert.assertEqual („ABC”, „DEF”); // Asercja nie powiedzie się, ponieważ oba łańcuchy nie są równe.
Assert.assertEqual („Ciągi znaków nie są równe”, „ABC”, „DEF”); // wiadomość zostanie wyrzucona, jeśli warunek równości nie zostanie spełniony.
Poniżej znajduje się przykład użycia asercji JUnit w selenie:
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);
W powyższym przykładzie asercja nie powiedzie się, ponieważ oba łańcuchy nie są równe. Jeden to tekst pola nazwy użytkownika, a drugi to tekst pola hasła.
JUnit assertTrue : Zwraca prawdę, jeśli warunek jest prawdziwy, a potwierdzenie nie powiedzie się, jeśli warunek jest fałszywy.
Assert.assertTrue („wiadomość”, stan);
Assert.assertTrue („Oba ciągi znaków nie są równe”, („HelloWorld”). Equals („HelloWorld”));
restful usługi internetowe pytania i odpowiedzi na wywiady dla doświadczonych w java
W tym przypadku asercja przejdzie, gdy oba ciągi będą zgodne. Wyświetli komunikat, jeśli potwierdzenie nie powiedzie się.
JUnit assertFalse : Zwraca prawdę, jeśli warunek jest fałszywy, a potwierdzenie nie powiedzie się, jeśli warunek jest prawdziwy.
Assert.assertFalse („wiadomość”, warunek);
Assert.assertFalse („Oba ciągi znaków są równe”, („Hello”). Equals („HelloWorld”));
Nie będzie żadnego błędu potwierdzenia, ponieważ warunek jest fałszywy.
Wniosek:
Większość programistów używa Junita, ponieważ jest to łatwe i nie wymaga wiele wysiłku, aby przetestować. Prosty zielony lub czerwony pasek pokaże rzeczywisty wynik testu. Junit ułatwia życie, ponieważ ma własny zestaw bibliotek i adnotacji. Tutaj opisaliśmy również powszechnie używane adnotacje używane w skryptach selenu i frameworku.
Więcej szczegółów na temat frameworka i wykorzystania adnotacji JUnit zostanie omówionych w nadchodzącym samouczku poświęconym wyłącznie projektowaniu frameworka za pomocą Junit. Ten samouczek pomoże nam w projektowaniu frameworka przy użyciu Junit.
Następny samouczek nr 12 : W następnym samouczku omówimy wszystko o TestNG, jego funkcjach i zastosowaniach. TestNG to zaawansowana platforma zaprojektowana w taki sposób, aby wykorzystać zalety zarówno programistów, jak i testerów.
rekomendowane lektury
- Cucumber Selenium Tutorial: Cucumber Java Selenium Integracja WebDriver
- Tworzenie Selenium Framework i dostęp do danych testowych z Excela - Samouczek Selenium # 21
- Wdrożenie naszego pierwszego skryptu WebDriver - Selenium WebDriver Tutorial # 10
- Wprowadzenie do Selenium WebDriver - samouczek Selenium # 8
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- Jak używać platformy TestNG do tworzenia skryptów selenium - Samouczek TestNG Selenium nr 12
- Efektywne skrypty Selenium i scenariusze rozwiązywania problemów - samouczek Selenium nr 27
- Debugowanie skryptów Selenium za pomocą dzienników (samouczek Log4j) - samouczek Selenium # 26