Asercja określa stan aplikacji, czy jest taki sam, jakiego oczekujemy, czy nie. Jeśli asercja się nie powiedzie, przypadek testowy zakończy się niepowodzeniem i wykonanie zostanie zatrzymane.
Aby użyć Assertion w sterowniku internetowym, musisz pobrać plik jar Testng i dodać go do Eclipse. Pobierz plik jar Testng z linku podanego poniżej:
https://mvnrepository.com/artifact/org.testng/testng/6.7Istnieją dwa rodzaje asercji:
- Twarde twierdzenie
- Miękkie twierdzenie
Twarde twierdzenie
Twarda asercja to asercja, która rzuca Potwierdź wyjątek gdy przypadek testowy zakończy się niepowodzeniem. W przypadku twardej asercji możesz obsłużyć błąd, używając bloku catch, takiego jak wyjątek Java. Załóżmy, że mamy dwa przypadki testowe w zestawie. Pierwszy przypadek testowy w zestawie zawiera asercję, która kończy się niepowodzeniem, a jeśli chcemy uruchomić drugi przypadek w zestawie, musimy poradzić sobie z błędem asercji. Twarda asercja zawiera następujące metody:
- TwierdzenieRówne
- AssertNotEquals
- Twierdź prawdę
- Twierdź fałsz
- Potwierdź wartość null
- AssertNotNull
Potwierdź fałsz()
Asercja weryfikuje wartość logiczną zwróconą przez warunek. Jeśli wartość logiczna jest fałszywa, asercja przechodzi przypadek testowy, a jeśli wartość logiczna jest prawdziwa, asercja przerywa przypadek testowy w drodze wyjątku. Poniżej podano składnię metody AssertFalse():
Assert.AssertFalse(condition);
Rozumiemy na przykładzie:
package mypack; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','C:\work\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.navigate().to('https://www.spicejet.com/'); Assert.assertFalse(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); System.out.println(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); } }
W powyższym kodzie Assert.assertFalse() zawiera warunek zwracający wartość fałszywą. Dlatego przechodzi test.
Wyjście na konsolę
package mypack; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','C:\work\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.navigate().to('https://www.spicejet.com/'); Assert.assertFalse(true); System.out.println(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); }}
W powyższym kodzie metoda Assert.assertFalse() zawiera warunek prawdziwy. Zatem asercja nie powiedzie się, co oznacza, że przypadek testowy również się nie powiedzie. Niepowodzenie asercji zatrzyma wykonanie w wyniku wyjątku.
Wyjście na konsolę
Potwierdzenie prawdy()
Asercja weryfikuje wartość logiczną zwróconą przez warunek. Jeśli wartość logiczna jest prawdziwa, asercja przechodzi przypadek testowy, a jeśli wartość logiczna jest fałszywa, asercja przerywa przypadek testowy w drodze wyjątku. Poniżej podano składnię metody AssertTrue():
indeks_podciągu w sql
Assert.AssertTrue(condition);
Rozumiemy na przykładzie.
package mypack; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','C:\work\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.navigate().to('https://www.spicejet.com/'); driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).click(); Assert.assertTrue(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); System.out.println(driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).isSelected()); } }
W powyższym kodzie sterownik.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount'])').click(); To stwierdzenie służy do zaznaczenia pola „Senior”. W następnej instrukcji zastosujemy asercję, aby sprawdzić, czy przypadek testowy nie powiedzie się, czy przejdzie pomyślnie. Parametr wewnątrz metody Assert.assertTrue() zwraca wartość true, co oznacza, że przypadek testowy został zaliczony.
Wyjście
Wyjście na konsolę
TwierdzenieRówna się()
AssertEquals() to metoda używana do porównywania rzeczywistych i oczekiwanych wyników. Jeśli zarówno rzeczywiste, jak i oczekiwane wyniki są takie same, wówczas asercja przebiega pomyślnie bez wyjątku, a przypadek testowy zostaje oznaczony jako „zaliczony”. Jeśli zarówno wyniki rzeczywiste, jak i oczekiwane nie są takie same, asercja kończy się niepowodzeniem z wyjątkiem przypadku testowego i zostaje oznaczony jako „nieudany”. Poniżej podano składnię metody AssertEquals():
Assert.assertEquals(actual,expected);
Rozumiemy na przykładzie.
package mypack; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','C:\work\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.navigate().to('https://www.spicejet.com/'); Assert.assertEquals('5Adult',driver.findElement(By.id('divpaxinfo')).getText()); System.out.println(driver.findElement(By.id('divpaxinfo')).getText()); }}
Wyjście na konsolę
ciąg.wartość Java
AssertNotEquals()
Jest to przeciwieństwo funkcji AssertNotEquals() metoda. AssertNotEquals() to metoda używana do porównywania rzeczywistych i oczekiwanych wyników. Jeśli zarówno rzeczywiste, jak i oczekiwane wyniki nie są takie same, wówczas asercja przebiega pomyślnie bez wyjątku, a przypadek testowy zostaje oznaczony jako „zaliczony”. Jeśli zarówno wyniki rzeczywiste, jak i oczekiwane są takie same, asercja kończy się niepowodzeniem z wyjątkiem przypadku testowego i zostaje oznaczony jako „nieudany”. Poniżej podano składnię metody AssertNotEquals():
AssertNotEquals(actual,expected,message);
Rozumiemy na przykładzie.
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNotEquals('Hello', 'How are you'); System.out.println('Hello...This is javaTpoint'); } }
W powyższym kodzie rzeczywisty ciąg znaków, tj. Witam, nie jest równy oczekiwanemu ciągowi znaków, tj. Jak się masz. Dlatego twierdzenie przechodzi test. Spowoduje to wykonanie następnej instrukcji i następna instrukcja is System.out.println('Witam...To jest javaTpoint'); .
Wyjście
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNotEquals('Hello', 'Hello'); System.out.println('Hello...This is javaTpoint'); }}
Wyjście
Potwierdź wartość null()
AssertNull() to metoda sprawdzająca, czy obiekt ma wartość null, czy nie. Jeśli obiekt ma wartość null, asercja przechodzi przypadek testowy i przypadek testowy jest oznaczany jako „zaliczony”, a jeśli obiekt nie ma wartości null, asercja przerywa przypadek testowy, a przypadek testowy zostaje oznaczony jako „nieudany”. Poniżej podano składnię metody AssertNull():
Assert.assertNull(object);
Rozumiemy na przykładzie.
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { Assert.assertNull(null); System.out.println('Hello...This is javaTpoint'); }}
Wyjście
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNull(10); System.out.println('Hello World'); } }
Wyjście
AssertNotNull()
AssertNotNull() to metoda sprawdzająca, czy obiekt ma wartość null, czy nie. Jeśli obiekt nie ma wartości null, asercja przechodzi przypadek testowy i przypadek testowy zostaje oznaczony jako „zaliczony”, a jeśli obiekt ma wartość null, asercja przerywa przypadek testowy, a przypadek testowy zostaje oznaczony jako „nieudany”. Poniżej podano składnię metody AssertNotNull():
Assert.assertNotNull(object);
Rozumiemy na przykładzie.
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNotNull(10); System.out.println('C Language'); }}
Wyjście
package mypack; import org.junit.Assert; public class Checkbox_test { public static void main(String[] args) { // TODO Auto-generated method stub Assert.assertNotNull(null); System.out.println('C Language'); } }
Wyjście
Miękkie twierdzenie
Do tej pory dowiedzieliśmy się o twardej asercji w sterowniku internetowym przy użyciu frameworka Testng. W przypadku twardej asercji, jeśli asercja się nie powiedzie, przerywa przypadek testowy, w przeciwnym razie kontynuuje wykonanie. Czasami chcemy wykonać cały skrypt, nawet jeśli asercja się nie powiedzie. Nie jest to możliwe w przypadku twardej asercji. Aby przezwyciężyć ten problem, musimy użyć miękkiej asercji w testngu.