Tvrdnja određuje stanje aplikacije je li ono isto što očekujemo ili ne. Ako tvrdnja ne uspije, testni slučaj je neuspješan i zaustavlja izvođenje.
Da biste koristili Assertion in Web Driver, morate preuzeti Testng jar datoteku i dodati je u eclipse. Preuzmite Testng jar datoteku s donje veze:
https://mvnrepository.com/artifact/org.testng/testng/6.7Postoje dvije vrste tvrdnji:
- Teška tvrdnja
- Meka tvrdnja
Teška tvrdnja
Čvrsta tvrdnja je tvrdnja koja baca AssertException kada je test slučaj neuspješan. U slučaju Hard Assertion, možete riješiti pogrešku korištenjem catch bloka kao što je Java iznimka. Pretpostavimo da imamo dva testna slučaja u paketu. Prvi testni slučaj u paketu ima tvrdnju koja nije uspjela, a ako želimo pokrenuti drugi slučaj u tužbi, tada moramo riješiti pogrešku tvrdnje. Čvrsta tvrdnja sadrži sljedeće metode:
- UstvrdiJednako
- AssertNotEquals
- AssertTrue
- AssertFalse
- AssertNull
- AssertNotNull
AssertFalse()
Tvrdnja provjerava Booleovu vrijednost koju vraća uvjet. Ako je Booleova vrijednost lažna, tada tvrdnja prolazi testni slučaj, a ako je Booleova vrijednost istinita, tada tvrdnja prekida testni slučaj iznimkom. Sintaksa metode AssertFalse() data je u nastavku:
Assert.AssertFalse(condition);
Razumimo kroz primjer:
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()); } }
U gornjem kodu, Assert.assertFalse() sadrži uvjet koji vraća lažnu vrijednost. Stoga prolazi testni slučaj.
Izlaz na konzolu
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()); }}
U gornjem kodu, metoda Assert.assertFalse() sadrži pravi uvjet. Prema tome, tvrdnja nije uspjela što znači da je testni slučaj također neuspješan. Neuspjeh tvrdnje zaustavit će izvršenje iznimkom.
Izlaz na konzolu
AssertTrue()
Tvrdnja provjerava Booleovu vrijednost koju vraća uvjet. Ako je Booleova vrijednost istinita, tada tvrdnja prolazi testni slučaj, a ako je Booleova vrijednost lažna, tada tvrdnja prekida testni slučaj iznimkom. Sintaksa metode AssertTrue() data je u nastavku:
Assert.AssertTrue(condition);
Shvatimo kroz primjer.
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()); } }
U gornjem kodu, driver.findElement(By.cssSelector('input[id*='SeniorCitizenDiscount']')).click(); Ova se izjava koristi za odabir okvira 'Senior Citizen'. U sljedećoj izjavi primjenjujemo tvrdnju da provjerimo je li testni slučaj neuspješan ili prolazan. Parametar unutar metode Assert.assertTrue() vraća istinitu vrijednost, stoga je testni slučaj prošao.
Izlaz
Izlaz na konzoli
UstvrdiJednako()
AssertEquals() je metoda koja se koristi za usporedbu stvarnih i očekivanih rezultata. Ako su i stvarni i očekivani rezultati isti, tada tvrdnja prolazi bez iznimke i testni slučaj se označava kao 'prošao'. Ako i stvarni i očekivani rezultati nisu isti, tada tvrdnja nije uspjela uz iznimku i testni slučaj je označen kao 'nije uspio'. Sintaksa metode AssertEquals() dana je u nastavku:
Assert.assertEquals(actual,expected);
Shvatimo kroz primjer.
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()); }}
Izlaz na konzolu
AssertNotEquals()
Suprotno je funkciji AssertNotEquals() metoda. AssertNotEquals() je metoda koja se koristi za usporedbu stvarnih i očekivanih rezultata. Ako i stvarni i očekivani rezultati nisu isti, tada tvrdnja prolazi bez iznimke i testni slučaj se označava kao 'prošao'. Ako su i stvarni i očekivani rezultati isti, tada tvrdnja nije uspjela uz iznimku i testni slučaj je označen kao 'nije uspio'. Sintaksa metode AssertNotEquals() dana je u nastavku:
AssertNotEquals(actual,expected,message);
Shvatimo kroz primjer.
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'); } }
U gornjem kodu, stvarni niz, tj. Zdravo, nije jednak očekivanom nizu, tj. Kako ste. Prema tome, tvrdnja prolazi test slučaj. Ovo će izvršiti sljedeću naredbu, a sljedeća naredba je System.out.println('Halo...ovo je javaTpoint'); .
Izlaz
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'); }}
Izlaz
AssertNull()
AssertNull() je metoda koja provjerava je li objekt null ili ne. Ako je objekt null, tada tvrdnja prolazi testni slučaj, a testni slučaj se označava kao 'prošao', a ako objekt nije null, tada tvrdnja prekida testni slučaj i testni slučaj se označava kao 'neuspio'. Sintaksa metode AssertNull() data je u nastavku:
Assert.assertNull(object);
Shvatimo kroz primjer.
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'); }}
Izlaz
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'); } }
Izlaz
AssertNotNull()
AssertNotNull() je metoda koja provjerava je li objekt null ili ne. Ako objekt nije null, tada tvrdnja prolazi testni slučaj i testni slučaj se označava kao 'prošao', a ako je objekt null, tada tvrdnja prekida testni slučaj i testni slučaj se označava kao 'neuspio'. Sintaksa metode AssertNotNull() data je u nastavku:
Assert.assertNotNull(object);
Shvatimo kroz primjer.
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'); }}
Izlaz
greibach normalan oblik
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'); } }
Izlaz
SoftAssertion
Do sada smo učili o Hard Assertion u Web Driveru pomoću okvira Testng. U teškoj tvrdnji, ako tvrdnja ne uspije, tada se prekida testni slučaj, inače se nastavlja s izvršenjem. Ponekad želimo izvršiti cijelu skriptu čak i ako tvrdnja ne uspije. To nije moguće u Hard Assertion. Da bismo prevladali ovaj problem, moramo koristiti meku tvrdnju u testng-u.