Jak używać Assert w selenium

Jak używać Assert w selenium

Być może przeprowadziłeś wiele testów przy użyciu różnych funkcji testng i nigdy nie uznać testu „przeszedł” lub „nie powiodło się” podczas tych egzekucji. Nadszedł czas, aby uruchomić niektóre rzeczywiste testy za pomocą selenium WebDriver w testng teraz, kiedy znamy wszystkie kluczowe zasady w testng. Skorzystamy z Testng Twierdza dla tego celu. W tym artykule przeprowadzono wdrożenie metod Assert i opisuje kod miękkie i twarde korzyści. W tym samouczku wykonujemy dwa przypadki: proste aspekty oraz twarde i miękkie aspekty. Ta zawartość opisuje użycie miękkiego twierdzenia w porównaniu z twardym twierdzeniem. Przed napisaniem skryptu mamy tendencję do instalowania Java JDK i Eclipse, dodawania bibliotek słoików selenium i skonfiguruj zależności wraz z sterownikami przeglądarki.

Wymagania:

Przed napisaniem kodu należy utworzyć środowisko programistyczne do uruchamiania i wykonywania kodu. Najpierw zainstaluj i skonfiguruj zestaw JDK i Eclipse. Następnie musisz pobrać i dołączyć plik JAR TESTNG w instalacji Eclipse, aby użyć twierdzenia w sterowniku internetowym. Możesz uzyskać pliki JAR Testng z podanego linku: https: // mvnrepository.com/artefact/org.testng/testng. Następnie dodaj pliki JAR do biblioteki Eclipse w następującym procesie: Przejdź do opcji Project => Wybuduj i skonfiguruj> Java Build Path> Biblioteki, aby dodać te pobrane słoiki zewnętrzne. Teraz dodaj zależności do Eclipse> POM.plik XML.




io.github.Bonigarcia
WebDriverManager
5.3.1
test



org.Apache.Maven
Maven-Artifact
4.0.0-alfa-2


Testng twierdzenie z przykładem:

W tym samouczku omówimy dwa przypadki:

    1. Proste twierdzenie
    2. Twarde i miękkie twierdzenie

Przypadek 1:

Przechodzimy przez podstawowe metody assert w celu weryfikacji.

Krok # 1: Utwórz klasę void

Aby zastosować twierdzenie, musimy utworzyć osobną klasę „publiczną pustkę” i przeprowadzić testy twierdzeń w tej klasie, w przeciwieństwie do innych właściwości selenium testowania automatyzacji za pomocą głównej klasy statycznej.

public void titletest ()

Krok 2: Skonfiguruj Webdriver

W tym kroku skonfigurujemy sterownik przeglądarki za pomocą następującego skryptu, którego przeglądarka Chrome używa do tego samouczka. Poniższy kod skryptu używa:

WebDriverManager.chromedriver ().organizować coś();
Chromedriver Driver = new Chromedriver ();

Krok #3: Otwórz przeglądarkę

Na tym etapie przeglądarka Chrome otworzy dany adres URL strony internetowej. Jak w tym przykładzie, użyj https: // www.eBay.com/ strona.

Użyj następującej metody skryptu:

kierowca.Get ("https: // www.eBay.com/”);


Można to zobaczyć na poniższym rysunku, że chrom jest kontrolowany przez zautomatyzowane oprogramowanie testowe.

Krok #4: Wyszukiwanie tytułu ze strony

Na tym etapie przeglądarka Chrome otworzy dany adres URL strony internetowej. Jak w tym przykładzie, użyj https: // www.eBay.com/ strona.


Sprawdź stronę internetową i znajdź tytuł strony internetowej. Jak pokazano na poniższym rysunku.

Elektronika, samochody, moda, kolekcje i więcej | eBay



Oto składnia:

Zmienna string = „Tytuł”


Tytuł jest ciągiem, który tworzy zmienną ciąg.

Krok #5: Ustaw oczekiwany tytuł

W tym etapie skopiowany tytuł ze strony zostanie użyty do utworzenia ciągu dla oczekiwanego tytułu.

Jak pokazano w poniższym kodzie, String utworzył zmienną „oczekiwaneTitle”.

String OczekiwanyTiTle = "Electronics, Cars, Fashion, Collectibles & More | eBay";

Krok #6: Zdobądź rzeczywisty tytuł

W tym kroku otrzymujemy faktyczny tytuł za pomocą metody getTitle ().

Zgodnie z ciągiem kodu, utworzyliśmy zmienną „rzeczywistąTitle”, która zapisuje metodę getTitle ().

String AuthalTitle = sterownik.getTitle ();

Krok 7: Sprawdź tytuł, który otrzymujemy

W tym kroku dopasowujemy rzeczywisty tytuł do oczekiwanego tytułu.

Składnia podano poniżej:

Zapewniać.Metoda (rzeczywista, oczekiwana)


Istnieje wiele metod aktywów, takich jak Assertequal, Assertunequal i itp.

Jak widać, parametr ma dwie wartości:

    • Rzeczywiste: wartość uzyskiwana przez testera. Na przykład prawdziwy tytuł strony musi być tutaj podany, jeśli twierdzenie testera odpowiada temu.
    • Oczekiwane: Jeśli roszczenie testera odnosi się na przykład do tytułu strony, wartość tytułu, którą przewidujesz, powinna przejść tutaj.

Poniższy kod, który używa metody AsserTequal () do dopasowania do tytułu obu, jest taki sam, czy nie.

Zapewniać.AsserTequals (faktyczneTitle, oczekiwaneTitle);

Krok #8: Match Title True Case

Kiedy faktyczny tytuł strony i oczekiwany tytuł dopasowuje się, warunek jest prawdziwy.

Rozważ przykład podany poniżej:

String OczekiwanyTiTle = "Electronics, Cars, Fashion, Collectibles & More | eBay";
String AuthalTitle = sterownik.getTitle ();
Zapewniać.AsserTequals (faktyczneTitle, oczekiwaneTitle);


Pierwszy wiersz kodu to oczekiwany tytuł. Potem otrzymujemy rzeczywisty tytuł. Następnie metoda Assert () jest używana do dopasowania faktycznego i oczekiwanego tytułu.

Wyjście w konsoli

Po uruchomieniu powyższego kodu wyjście pokazuje w konsoli, że kod został pomyślnie wykonany, a test został przekazany = Titletest.

Krok #9: Nieudany tytuł meczowy

Kiedy faktyczny tytuł strony i oczekiwany tytuł dopasowuje się, warunek się nie powiedzie.

Wyjście w konsoli:

Po uruchomieniu powyższego kodu wyjście pokazuje w konsoli, że kod wykonany bezskutecznie, a test został nie udany = Titletest.

Przypadek 2:

W tym przypadku przechodzimy miękkie twierdzenie i trudne twierdzenie.

Trudne twierdzenie i miękkie twierdzenie:

W wielu przypadkach istnieją wymagania dotyczące twierdzenia. Możesz mieć wiele twierdzeń w jednym przypadku testowym. W konkretnych przypadkach testowych jest pięć sześciu różnych punktów weryfikacyjnych. Jakbyś otrzymał niepowodzenie w jednym konkretnym twierdzeniu, co stanie się z innymi twierdzeniami, które wyprzedzają to konkretne twierdzenie?

Przykładowy scenariusz:

Weryfikujesz tytuł, a mecz tytułowy nie powiódł się. Następnie weryfikujesz określony tekst i niektóre elementy internetowe na tej samej stronie.

Przypadek testowy o twardym stwierdzeniu

W twardym twierdzeniu, jeśli jakieś pojedyncze twierdzenie się nie powiodło, skrypt się tam zatrzyma.

Przykładowy scenariusz:

Ponieważ tytuł nie pasuje i jeśli używasz Assert.Metoda arrertequals (), a następnie przypadek testowy zatrzymuje się przy tej konkretnej awarii. Nie możesz pójść dalej i weryfikacji innych aktywów, które są dostępne w tym samym przypadku testowym. Twarde aktywa są wyzwaniem, ponieważ zatrzymują się, jeśli wystąpi pojedyncza awaria.

Oto przykładowy kod, który możesz uruchomić i zobaczyć wynik.

String OczekiwanyTiTle = "Electronics, Cars, Fashion, Collectibles & More | eBay";
String AuthalTitle = sterownik.getTitle ();
Zapewniać.AsserTequals (faktyczneTitle, oczekiwaneTitle);


Po uruchomieniu powyższego kodu dane wyjściowe pokazuje w Eclipse, że kod wykonywany bezskutecznie. I test został nie udany = titletest. Możemy zauważyć, że alert po prawej stronie w kolorze czerwonym wskazuje na alerty i zatrzymuje tam wykonywanie kodu.

Miękki test testowy

W przypadku miękkiego twierdzenia, weryfikacja Assert nie będzie kontynuowana, nawet jeśli awaria tam nastąpi, a awaria zapisuje. A scenariusz będzie kontynuowany.

Krok #1: Uzyskaj wartość przycisku wyszukiwania

W tym kroku sprawdźmy https: // www.eBay.com/ witryna i uzyskaj nazwę atrybutu przycisku wyszukiwania.


Składnia podano poniżej:

String Variable = „Nazwa wejściowa”


Oto przykładowy kod:

String OczekiwanoText = "Search";

Krok #2: Uzyskaj rzeczywisty tekst

W tym kroku otrzymujemy Xpath faktycznego tekstu wyszukiwania, wykonując kroki:

KLICK PRAWE WYKORZYSTANIE> KOD GOTO> kod przycisku prawości> Wybierz opcję Kopiuj> Kopiuj xpath = [//*[@id = ”gh-btn”] ”] skopiuje dla Ciebie xpath dla Ciebie.

Pobierz wartość atrybutu, atrybuty strony internetowej to (wartość, typ, klasa) i wybieramy atrybut wartości dla tego przykładu .GetAttribute Method () jest używany do uzyskania atrybutu.

Składnia jest tutaj podana:

.getAttribute (nazwa)


Przykładowy kod jest wymieniony tutaj:

String AuthalText = sterownik.FindElement (przez.xpath ("//*[@id =" gh-btn "]"))).getAttribute („wartość”);
.getAttribute („wartość”); => Zdobądź Vale i przechowuj w „ActueText”

Krok #3: Sprawdź tekst

Sprawdź za pomocą Assert.metoda assertequals ().

Klasa publiczna Verifysofttest
@Test
public void SearchBtntest () rzuca przerywanie expception

String OczekiwanyTiTle = "Electronics, Cars, Fashion, Collectibles & More | eBay";
String OczekiwanoText = "Search";
WebDriverManager.chromedriver ().organizować coś();
Chromedriver Driver = new Chromedriver ();
kierowca.Get ("https: // www.eBay.com/”);
String AuthalTitle = sterownik.getTitle ();
String AuthalText = sterownik.FindElement (przez.xpath ("//*[@id =" gh-btn "]"))).getAttribute („wartość”);
System.na zewnątrz.println („Weryfikacja tytułu”);
softassert.AsserTequals (ActualTitle, oczekiwanyTitle, „Weryfikacja tytułu nie powiodła się”);
System.na zewnątrz.println („weryfikacja tekstu”);
softassert.AsserTequals (rzeczywisteText, Oczekiwane tekst, „Weryfikacja tekstu nie powiodła się”);
System.na zewnątrz.println („Close Browser”);
kierowca.zamknąć();

Krok #4: Wykonaj kod

Tutaj wykonamy kod wspomniany w kroku nr 3 i zobaczymy wyjście.

Wyjście w Eclipse:

Po uruchomieniu powyższego kodu wyjście pokazuje w Eclipse. Ten kod został pomyślnie wykonany, a test został przekazany = SearchBtntest. Zielony kolor pokazuje przepustkę testową.

Wniosek

Trudno jest znaleźć kod testNG bez twierdzeń, ponieważ są to najczęściej stosowane metody w testng. W tym artykule ilustruje zastosowanie metody Assert przy użyciu frameworka selenium do testowania, tester określa, czy test się powiódł, a także wszelkie wyjątki za pośrednictwem narzędzia automatycznego sterowania. W tym samouczku piszemy kod, aby ustawić sterownik przeglądarki, uruchamiać sterownik przeglądarki i wykonujemy proste twierdzenia oraz miękkie i twarde twierdzenia. W tej treści nauczyłeś się, w jaki sposób miękkie twierdzenie jest ważniejsze niż trudne twierdzenie.