selenium assertion examples practical applications projects
W tym samouczku omówimy, jak używać asercji w różnych scenariuszach projektów w czasie rzeczywistym:
- Aby sprawdzić, czy obiekt jest widoczny (przycisk, łącze, alert).
- Aby sprawdzić, czy obecny jest tekst lub wartość.
- Aby sprawdzić, czy pole wyboru lub przycisk opcji jest zaznaczone / odznaczone.
- Aby sprawdzić, czy obiekt jest edytowalny.
=> Zapoznaj się z idealnym przewodnikiem po treningu selenu tutaj.
Czego się nauczysz:
- Wykorzystanie asercji - samouczek wideo
- Stwierdzenia praktyczne przykłady
- Zweryfikuj w skryptach
- Wniosek
Wykorzystanie asercji - samouczek wideo
Stwierdzenia praktyczne przykłady
Obsługiwalibyśmy te scenariusze za pomocą funkcji takich jak:
- isDisplayed () - Służy do weryfikacji obecności elementu na stronie internetowej. Zwraca wartość true, jeśli element jest obecny.
- jest zaznaczony() -Ta metoda określa, czy element jest wybrany, czy nie. Zwraca wartość true, jeśli element jest zaznaczony, a false, jeśli nie. Jest szeroko stosowany w polach wyboru, przyciskach opcji i opcjach w zaznaczeniu.
- jest włączony() - Służy do weryfikacji, czy dane pole tekstowe jest edytowalne lub dostępne dla użytkownika do interakcji. Zwraca prawdę, jeśli użytkownik może wprowadzić do niej dane, w przeciwnym razie, jeśli jest wyłączona, zwraca wartość fałszywą.
Kliknij tutaj dla przykładowych przypadków testowych dla strony internetowej irctc.
# 1) Aby sprawdzić, czy obiekt jest widoczny:
Aby zweryfikować obecność obiektu, możemy użyć isDisplayed () do określenia jego stanu.
@Test public void verifyLogo() { WebDriver driver = new FirefoxDriver(); driver.get(“https://www.irctc.co.in”); WebElement IrctcLogo = driver.findElement(By.Id(“irctclogo”)); Assert.assertEquals(true, IrctcLogo.isDisplayed()); System.out.println(“IRCTC logo is displayed – Assert passed”); }
Tutaj IrctcLogo jest WebElementem i sprawdza, czy ten element jest wyświetlany.
AssertEquals sprawdza, czy zarówno wartość oczekiwana, jak i rzeczywista są równe. W tym przypadku jest to wartość logiczna (prawda).
Wartość oczekiwana: prawdziwe
Aktualna wartość: IrctcLogo.isDisplayed () - zwraca T / F w zależności od jego dostępności na stronie internetowej.
To samo można sprawdzić za pomocą AssertTrue (IrctcLogo.isDisplayed ());
Tutaj potwierdza, że prawdziwy warunek boolowski, to znaczy IrctcLogo.isDisplayed (), ma wartość True.
# 2) Aby sprawdzić, czy tekst lub wartość są obecne:
Aby zweryfikować obecność określonego tekstu / wartości, możemy pobrać tekst elementu z kodu źródłowego HTML za pomocą metody getText () i porównać go z oczekiwanym ciągiem znaków.
@Test public void verifyLogo() { WebDriver driver = new FirefoxDriver(); driver.get(“https://www.irctc.co.in”); WebElement IrctcLogo = driver.findElement(By.Id(“irctclogo”)); String ExpectedText = “IRCTC railways”; Assert.assertEquals(ExpectedText, IrctcLogo.getText()); System.out.println(“IRCTC text is a expected – Assert passed”); }
Tutaj IrctcLogo jest elementem sieciowym i stwierdza, czy elementy te zawierają tekst wyświetlany jako „Koleje IRCTC”.
AssertEquals sprawdza, czy zarówno wartość oczekiwana, jak i rzeczywista są równe. W tym przypadku jest to ciąg znaków (koleje IRCTC)
Wartość oczekiwana: Koleje IRCTC
Aktualna wartość: IrctcLogo.getText () - zwraca tekst elementu - IrctcLogo ze strony WWW
przypadki testowe dla aplikacji internetowych w testowaniu ręcznym
# 3) Aby sprawdzić, czy pole wyboru lub przycisk opcji jest zaznaczone / odznaczone
Aby zweryfikować status pola wyboru, możemy użyć isSelected (), aby zrozumieć jego stan.
selenium java pytania i odpowiedzi do wywiadu
Przykładowa strona HTML: (sample.html)
Sample Page
Milk
Butter
Cheese
Water
Juice
Ice
Przycisk opcji - wybrane:
@Test public void verifyElementSelection() { WebDriver driver = new FirefoxDriver(); driver.get('C:\Users\UserName\Desktop\sample.html'); WebElement Butter = driver.findElement(By.Id(“Butter”)); Butter.click(); //clicks on the radio button of Butter Assert.assertEquals(true, Butter.isSelected()); //Verifies that the radio button is selected after action System.out.println(“Radio button is selected – Assert passed”); }
Tutaj Butter odnosi się do przycisku radiowego WebElement i stwierdza, czy element został wybrany. AssertEquals sprawdza, czy zarówno wartość oczekiwana, jak i rzeczywista są równe. W tym przypadku potwierdza wartość logiczną (prawda)
Wartość oczekiwana: prawdziwe
Aktualna wartość: Butter.isSelected () - zwraca wartość true / false w zależności od tego, czy przycisk radiowy jest zaznaczony, czy nie.
To samo można sprawdzić za pomocą AssertTrue (Butter.isSelected ());
Tutaj potwierdza, że prawdziwy warunek boolowski, to znaczy Butter.isSelected () ma wartość True.
Przycisk opcji - niezaznaczony:
@Test public void verifyElementSelection() { WebDriver driver = new FirefoxDriver(); driver.get('C:\Users\UserName\Desktop\sample.html'); WebElement Milk = driver.findElement(By.Id(“Milk”)); //Verifies that the radio button is not selected Assert.assertEquals(false, Milk.isSelected()); System.out.println(“Radio button is not selected – Assert passed”); }
Assert.assertEquals (false, Milk.isSelected ()); W przeciwieństwie do tego, aby potwierdzić, że przycisk opcji nie jest zaznaczony, możemy użyć assert dla wartości zwracanej False.
To samo można sprawdzić za pomocą Assert.assertEquals (false, Milk.isSelected ());
W tym przypadku stwierdza fałszywy warunek logiczny, czyli Milk.isSelected () jako fałszywy.
To samo można wykorzystać do weryfikacji pól wyboru.
Pole wyboru - wybrane:
@Test public void verifyElementSelection() { WebDriver driver = new FirefoxDriver(); driver.get('C:\Users\UserName\Desktop\sample.html'); WebElement Juice = driver.findElement(By.Id(“Juice”)); Juice.click(); //clicks on the radio button of Juice Assert.assertEquals(true, Juice.isSelected()); //Verifies that the checkbox is selected after action System.out.println(“Checkbox is selected – Assert passed”); }
Tutaj Juice do pola wyboru WebElement i potwierdza, czy element jest wybrany.
AssertEquals sprawdza, czy zarówno wartość oczekiwana, jak i rzeczywista są równe. W tym przypadku potwierdza wartość logiczną (prawda).
Wartość oczekiwana: prawdziwe
Aktualna wartość: Juice.isSelected () - zwraca wartość true / false w zależności od tego, czy przycisk radiowy jest zaznaczony, czy nie.
To samo można sprawdzić za pomocą Assert.assertEquals (true, Juice.isSelected ())
Tutaj potwierdza, że prawdziwy warunek boolowski, to znaczy Juice.isSelected () ma wartość True.
CheckBox - UnSelected:
@Test public void verifyElementSelection() { WebDriver driver = new FirefoxDriver(); driver.get('C:\Users\UserName\Desktop\sample.html'); WebElement Water = driver.findElement(By.Id(“Water”)); Water.click(); //clicks on the radio button of Juice Assert.assertEquals(true, Water.isSelected()); //Verifies that the checkbox is selected after action System.out.println(“Checkbox is selected – Assert passed”); }
Assert.assertEquals (false, Water.isSelected ()); W przeciwieństwie do tego, aby potwierdzić, że pole wyboru nie jest zaznaczone, możemy użyć assert dla wartości zwracanej False.
To samo można sprawdzić za pomocą Assert.assertEquals (false, Water.isSelected ());
Tutaj stwierdza fałszywy warunek boolowski, to znaczy Water.isSelected () jest fałszywy.
# 4) Aby sprawdzić, czy obiekt jest edytowalny
Służy do sprawdzania, czy element jest dostępny do interakcji. W celu weryfikacji możemy użyć metody isEnabled (). Tej metody można użyć dla dowolnego elementu WebElement, takiego jak pole tekstowe, przycisk opcji, przycisk, lista rozwijana itp.
Przykładowa Strona: (login.html)
Username Password Login Remember me Cancel Forgot password?
Sprawdź, czy element jest włączony:
@Test public void verifyElementEditable() { WebDriver driver = new FirefoxDriver(); driver.get('C:\Users\UserName\Desktop\login.html'); WebElement Password = driver.findElement(By.Name(“passwordtext”)); Assert.assertEquals(true, Username.isEnabled()); //Verifies that the textbox elementis enabled System.out.println(“Element is enabled – Assert passed”); }
Tutaj hasło jest elementem sieciowym pola tekstowego i stwierdza, że element ten nie jest wyłączony.
AssertEquals sprawdza, czy zarówno wartość oczekiwana, jak i rzeczywista są równe. W tym przypadku jest to wartość logiczna (prawda)
Wartość oczekiwana: prawdziwe
Aktualna wartość: Username.isEnabled () - zwraca T / F w zależności od tego, czy pole tekstowe jest dostępne do edycji / wpisywania.
To samo można zweryfikować za pomocą Assert.assertEquals (true, Username.isEnabled ())
Tutaj potwierdza, że prawdziwy warunek boolowski, to jest Username.isEnabled (), ma wartość True.
Sprawdź, czy element jest wyłączony:
@Test public void verifyElementEditable() { WebDriver driver = new FirefoxDriver(); driver.get('C:\Users\UserName\Desktop\login.html'); WebElement RememberMe = driver.findElement(By.Name(“rememberMe”)); Assert.assertEquals(false, RememberMe.isEnabled()); //Verifies that element is disabled System.out.println(“Element is Disbaled – Assert passed”); }
Tutaj RememberMe jest elementem sieciowym pola tekstowego i stwierdza, czy ten element nie jest wyłączony.
AssertEquals sprawdza, czy zarówno wartość oczekiwana, jak i rzeczywista są równe. W tym przypadku jest to wartość logiczna (fałsz).
Wartość oczekiwana: fałszywy
Aktualna wartość: RememberMe.isEnabled () - zwraca T / F w zależności od tego, czy element jest dostępny do interakcji / włączony.
To samo można zweryfikować za pomocą Assert.assertEquals (false, RememberMe.isEnabled ()).
Tutaj stwierdza, że fałszywy warunek boolowski, czyli RememberMe.isEnabled (), ma wartość False.
Zweryfikuj w skryptach
Verify jest klasą używaną do porównywania oczekiwanych i rzeczywistych wyników testów, tak jak robi to klasa assert, ale gdy się nie powiedzie, nie zatrzyma wykonywania testu, kontynuuje uruchamianie przypadków testowych. W Selenium Web Driver osiąga się to za pomocą Soft Assertion.
Sprawdź elementy w sterowniku sieciowym Selenium
1. Niewiele poleceń Verify dostępnych w Selenium IDE i Selenium RC to
jak wygląda klucz WEP
- verifyTextPresent / verifyTextNotPresent
- verifyElementPresent / verifyElementNotPresent
2. Więc w Selenium Web Driver, jeśli chcemy zweryfikować wyniki bez przerywania skryptu, użyj Soft Assertion. Lub
3. Możemy użyć poleceń Selenium Web Driver. Zobacz poniższy kod, który sprawdzi
- Tekst dotyczący pogody jest obecny lub nie
- Element pogody jest obecny lub nie
package com.wordpress.pages; import java.util.List; import org.junit.Assert; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.Web Driver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class LearnAssertion { static Web Driver driver; @Test public void Test(){ System.setProperty('Web Driver.chrome.driver', 'D:\New folder\exe\chromedriver.exe'); driver = new ChromeDriver(); driver.get('https://www.ksrtc.in/oprs-web/'); //Verify Title of the Site String Expected_Title ='KSRTC Official Website for Online Bus Ticket Booking - KSRTC.in'; String Actual_Title = driver.getTitle(); Assert.assertEquals(Expected_Title, Actual_Title); //Verify Text or the element 'Home' 'PNR Enquiry' 'Cancel Tickets' 'KSTDC Package Tours' 'About Us' //'Contact US' is present of the Site List Tab = driver.findElements(By.xpath('//div(@class='menu')//a')); for(int i=1;i<=Tab.size();i++){ WebElementTab_Name=driver.findElement(By.xpath('(//div(@class='menu')//a)('+i+')')); Tab_Name.isDisplayed(); String Tab_Value = Tab_Name.getText(); System.out.println(Tab_Value); if(Tab_Value.equalsIgnoreCase('HOME')){ System.out.println('HOME tab is present'); break; } else {System.out.println('HOME tab is not present'); } } }}
Kiedy używać poleceń dotyczących zasobów / poleceń weryfikacji
1. Użyj poleceń Assert, aby upewnić się, że przypadek testowy idzie we właściwym kierunku, co oznacza, że ładowana jest właściwa konfiguracja użytkownika, ładowana jest właściwa strona lub ładowane jest właściwe środowisko itd.
2. Użyj poleceń Weryfikuj, aby porównać wyniki testu z wartościami wyjściowymi, takimi jak zalogowanie się na niewłaściwej stronie i każda weryfikacja, którą wykonasz, zakończy się niepowodzeniem
3. Logicznie pogrupuj polecenia testowe i rozpocznij każdą grupę od „potwierdzenia” i „weryfikacji” zawartości
Wniosek
Jak omówiono powyżej, widzieliśmy różne praktyczne zastosowania metod asercji, które można wykorzystać do walidacji przypadków testowych. W ten sposób Asercje pomagają nam w weryfikacji przypadków testowych i zapewniają, czy test ma status pozytywny czy negatywny.
=> Sprawdź tutaj, aby zobaczyć samouczki szkoleniowe A-Z Selenium tutaj.
rekomendowane lektury
- Selenium Find Element By Text Samouczek z przykładami
- 30+ najlepszych samouczków dotyczących selenu: naucz się selenu z prawdziwymi przykładami
- Struktura oparta na słowach kluczowych w selenie z przykładami
- Samouczek GeckoDriver Selenium: Jak używać GeckoDriver w projektach Selenium
- Lokalizatory selenu: identyfikacja elementów sieci Web za pomocą XPath w selenie (przykłady)
- Poznaj podstawy języka Java w selenie z przykładami
- Dowiedz się, jak używać adnotacji TestNG w selenie (z przykładami)
- Przewodnik po testowaniu przenośności z praktycznymi przykładami