assertions selenium using junit
Ovaj vodič za selen o tvrdnjama objašnjava što su tvrdnje u selenu i različite vrste tvrdnji i metoda tvrđenja pomoću okvira Junit i TestNG:
zadana maska podmreže za klasu d
Tvrdnje se koriste za provjeru valjanosti testnog slučaja i pomažu nam razumjeti je li testni slučaj prošao ili nije. Smatra se da je tvrdnja ispunjena ako se stvarni rezultat aplikacije podudara s onim očekivanog rezultata.
Dok automatiziramo web aplikacije pomoću selena, moramo provjeriti valjanost testova kako bismo provjerili rade li prema očekivanjima ili ne(to jest, ako je rezultat testa uspješan / neuspješan).
=> Ovdje pogledajte Vodič za početnike selena.
Smatra se da je test slučaj položen samo ako su ispunjene sve tvrdnje. Tvrdnje u seleniju mogu se riješiti unaprijed definiranim metodama Junit i TestNG okvira, što će biti detaljno objašnjeno u ovom članku.
Što ćete naučiti:
- Tvrdnje u selenu
- Vrste tvrdnji u selenu
- Metode potvrde Junita
- TestNG metode potvrđivanja
- Uzorci programa za tvrdnje
- Zaključak
Tvrdnje u selenu
Tvrdnje se koriste za vršenje različitih vrsta provjera valjanosti u testnim slučajevima, što nam opet pomaže da odlučimo je li testni slučaj prošao ili nije prošao. WSmatramo test uspješnim ako se izvodi bez iznimke.
Video vodič za tvrdnje
Vrste tvrdnji u selenu
U seleniju postoje dvije vrste tvrdnji, a kategorizacija ovisi o tome kako se tvrdnja ponaša nakon što uvjet prođe ili ne uspije.
Ovdje bismo razgovarali o dvije vrste tvrdnji u Selen :
- Teške tvrdnje
- Meke tvrdnje
Kliknite ovdje za uzorak test slučajevi za ispitivanje tvrdnji.
# 1) Tvrde tvrdnje (ili jednostavno tvrdnje)
Tvrda tvrdnja ne nastavlja se s izvršenjem dok se ne zadovolji uvjet tvrdnje.
Tvrde tvrdnje obično dovode do pogreške u tvrdnji kad uvjeti za tvrdnju nisu ispunjeni. Test slučaj bit će odmah označen kao Neuspjeh kada zakaže tvrda tvrdnja.
Scenarij za korištenje ove vrste tvrdnji je da, kada želite provjeriti jeste li se pravilno prijavili i ako niste uspješno prijavili neuspjeh na testu, jer nema smisla nastaviti dalje ako je preduvjet ( prijava) sama ne uspije.
Uzmimo još jedan primjer ilustriran ovdje:
Razmotrite testni slučaj da biste potvrdili naslov web stranice.
public class LearnAssertions { WebDriver driver; //Store current project workspace location in a string variable ‘path’ String path = System.getProperty('user.dir”); @BeforeTest public void SetDriver(){ //Mention the location of ChromeDriver in localsystem System.setProperty('webdriver.chrome.driver',path+'\Drivers\chromedriver.exe'); driver = new ChromeDriver();// Object is created- Chrome browser is opened driver.manage().window().maximize(); } @Test public void verifyTitle() { driver.get(https://www.amazon.com); String ActualTitle = driver.getTitle(); String ExpectedTitle = “Amazon.com: Online Shopping for Electronics, Apparel, Computers, Books, DVDs & more”; Assert.assertEquals(ActualTitle, ExpectedTitle); System.out.println(“Assert passed”); } @AfterTest public void closedriver(){ //closes the browser instance driver.close(); }
U primjeru će varijabla ‘ActualTitle’ sadržavati tekst naslova iz automatizacije. ‘ExpectedTitle’ sadrži očekivane podatke o nizu. Assert.assertEquals () provjerava jesu li oba teksta jednaka. Gornji test će proći i nastaviti se na sljedeći redak izvršenja jer su stvarni tekst i očekivani tekst isti.
Konzola :
Tvrdnja je prošla.
PROŠLO: VerifyTitle
Isti testni slučaj u slučaju neuspjeha izbacit će izuzetak i zaustaviti izvršenje u tom slučaju.
Promijenimo sada očekivani naslov u pogrešan.
public class LearnAssertions { WebDriver driver; //Store current project workspace location in a string variable ‘path’ String path = System.getProperty('user.dir'); @BeforeTest public void SetDriver(){ //Mention the location of chromeDriver in localsystem System.setProperty('webdriver.chrome.driver',path+'\Drivers\chromedriver.exe'); driver = new ChromeDriver();// Object is created- Chrome browser is opened driver.manage().window().maximize(); } @Test public void verifyTitle() { driver.get(https://www.amazon.com); String ActualTitle = driver.getTitle(); String ExpectedTitle = “Welcome to Amazon”; Assert.assertEquals(ActualTitle, ExpectedTitle); System.out.println(“Assert passed”); } @AfterTest public void closedriver(){ //closes the browser instance driver.close(); }
Konzola:
java.lang.AssertionError:očekuje se (Dobrodošli na Amazon)alipronađeno (Amazon.com: Online kupnja elektronike, odjeće, računala, knjiga, DVD-a i još mnogo toga)
Iz konzole možemo vidjeti da je iskaz za preskakanje preskočen (System.out.println) jer je u izjavi Assert nađen neuspjeh i bacio je iznimku.
# 2) Meke tvrdnje
Meka tvrdnja nastavlja se sljedećim korakom izvođenja testa, čak i ako uvjet tvrdnje nije zadovoljen.
Meke tvrdnje su vrsta tvrdnji koje ne izbacuju iznimku automatski kada tvrdnja ne uspije ako se za to ne zatraži. Ovo je korisno ako radite više provjera valjanosti u obliku, od kojih samo nekoliko provjeravanja izravno utječu na odlučivanje o statusu testnog slučaja.
Ovdje koristimo klasu koja se naziva SoftAssert, a metoda assertAll () poziva se za bacanje svih iznimki uhvaćenih tijekom izvršavanja. Kada se koristi softAssert, on izvodi tvrdnju i ako se pronađe iznimka, ona se ne baca odmah, već se nastavlja sve dok ne pozovemo metodu assertAll () da baci sve uhvaćene iznimke.
Pametno je koristiti različite objekte klase ‘SoftAssert’ za svaki testni slučaj.
Razmotrite test slučaj da biste potvrdili naslov stranice
U donjem primjeru stvorena su dva objekta klase ‘SoftAssert’ koji će se koristiti u dva različita testna slučaja.
public class LearnAssertionsSoft { WebDriver driver; //Object of Class SoftAssert is created to use its methods SoftAssert softassert = new SoftAssert(); SoftAssert softassert2 = new SoftAssert(); //current project workspace String path = System.getProperty('user.dir'); @BeforeTest public void SetDriver(){ System.setProperty('webdriver.chrome.driver',path+'\Drivers\chromedriver.exe'); driver = new ChromeDriver();// Object is created - Chrome browser is opened driver.manage().window().maximize(); } //Soft Assertion example - with a failure test case example @Test public void verifyTitle(){ driver.get('https://amazon.in'); String ActualTitle = driver.getTitle(); System.out.println('Actual Title :'+ActualTitle); String ExpectedTitle = 'cameras, books, watches, apparel, shoes and e-Gift Cards. Free Shipping & Cash on Delivery Available.'; //Soft assert applied to verify title softassert.assertEquals(ActualTitle, ExpectedTitle); //If failed, this line gets printed and execution is not halted System.out.println('Assertion 1 is executed”); softassert.assertAll(); } //Soft Assertion example - with a positive flow test case example @Test public void verifyElement(){ WebElement AmazonIcon = driver.findElement(By.Xpath(“//div(contains(@id,’amazon_icon’))); softassert2.assertEquals (true, AmazonIcon.isDisplayed()); softassert2.assertAll(); System.out.println('Icon is displayed'); System.out.println('Assertion 2 is executed”); } @AfterTest public void closedriver(){ driver.close(); //Checks for failures if any and throws them at the end of execution } }
Konzola:
Stvarni naslov: Amazon.com: Online kupnja elektronike, odjeće, računala, knjiga, DVD-a i još mnogo toga
Izvršava se tvrdnja 1
Prikazuje se ikona
Tvrdnja 2 je izvršena
java.lang.AssertionError: Sljedeće tvrdnje nisu uspjele:
očekivano (Dobrodošli u Amazon), ali pronađeno (Amazon.com: Online kupovina elektronike, odjeće, računala, knjiga, DVD-a i još mnogo toga)
Iz konzole možemo razumjeti da je, iako je tvrdnja bila neuspješna u prvom testnom slučaju (verifyTitle), izvršenje nastavljeno do sljedećeg retka u kojem je ispisana izjava - 'Tvrdnja 1 je izvršena' i tek nakon što je pozvan softAssert, izuzetak je bačen.
Kada koristiti tvrdu i meku tvrdnju?
Ako trebate izvršiti sve korake test slučaja koji će se izvršiti čak i nakon što tvrdnja ne uspije, a također želite prijaviti iznimku tvrdnje, tada se odlučite za upotrebu softverskih tvrdnji. Korištenje softverskih tvrdnji u test skriptama dobra je praksa i učinkovit način rukovanja izvršavanjem testa
Ako želite da se izvršavanje vašeg testnog slučaja nastavi tek nakon što se usvoji neka tvrdnja ( Na primjer, Da biste provjerili valjanu prijavu i tek onda izvršili ostale korake), zatim upotrijebite Hard Assertions.
Metode potvrde Junita
Razne vrste metoda Junit Assert detaljno su objašnjene u nastavku.
# 1) assertEquals
metoda assertequals uspoređuje očekivani rezultat sa stvarnim rezultatom. Baca AssertionError ako se očekivani rezultat ne podudara s rezultatom stvarnog rezultata i prekida izvršavanje programa metodom assert equals.
Sintaksa:
public static void assertEquals(String expected, String actual)
Primjer:
Očekivani niz = 'https://www.google.com';
Stvar stvarniURL = 'https://www.google.com';
Assert.assertEquals (očekivano, stvarnoURL);
# 2) assertTrue
asserttrue metoda tvrdi da je navedeni uvjet istinit.
Potrebna su dva parametra, tj. Jedan je poruka, a drugi je uvjet prema kojem se tvrdnja treba primijeniti. Baca AssertionError ako uvjet koji se prosljeđuje metodi asserttrue nije zadovoljen.
Sintaksa:
public static void assertTrue(java.lang.String message, boolean condition)
poruka - Poruka koja će se prikazati u slučaju pogreške u tvrdnji.
uvjet - Stanje prema kojem se mora primijeniti tvrdnja.
Primjer:
Assert.assertTrue („Provjeri istinitu testnu poruku“, tačno);
# 3) assertFalse
assert false metoda tvrdi da je navedeni uvjet netačan.
Potrebna su dva parametra, tj. Jedan je poruka, a drugi uvjet prema kojem se tvrdnja treba primijeniti. Baca AssertionError ako uvjet koji se prosljeđuje metodi assertfalse nije zadovoljen.
Sintaksa:
public static void assertFalse(java.lang.String message, boolean condition)
poruka - Poruka koja će se prikazati u slučaju pogreške u tvrdnji.
uvjet - Stanje prema kojem se mora primijeniti tvrdnja.
Primjer:
Assert.assertFalse (false „Utvrditi lažnu testnu poruku“);
# 4) assertNull
assert null koristi se za provjeru sadrži li ponuđeni objekt null vrijednost. Uzima objekt kao parametar i baca AssertionError ako navedeni objekt nema null vrijednost.
Sintaksa:
public static void assertNull(Object object)
Primjer:
DemoClass demo = novi DemoClass ();
Assert.assertNull (demo);
c ++ nedefinirana referenca na funkciju
# 5) assertNotNull
assert not null koristi se za provjeru da navedeni objekt nema null vrijednost. Uzima objekt kao parametar i baca AssertionError ako navedeni objekt ne sadrži null vrijednost.
Sintaksa:
public static void assertNotNull(Object object)
Primjer:
DemoClass demo = novi DemoClass ();
Assert.assertNotNull (demo);
# 6) assertSame
potvrditi da ista metoda provjerava odnose li se dva objekta navedena kao parametri na isti objekt. Baca AssertionError ako se navedeni objekti ne odnose na isti objekt s dostavljenom porukom.
Napominjemo da Assert isti uspoređuje samo reference objekata, ali ne i stvarne vrijednosti.
Sintaksa:
public static void assertSame(String message, Object expected,Object actual)
Primjer:
DemoClass1 demo1 = novi DemoClass1 ();
DemoClass2 demo2 = novi DemoClass2 ();
Assert.assertSame („Dva su objekta jednaka“, demo1, demo2);
# 7) assertNotSame
ustvrditi nije isto potvrđuje da dva objekta nisu jednaka. Ako se dva objekta odnose na isti objekt, izbacit će se AssertionError.
Imajte na umu da metoda assert not isti uspoređuje reference objekata, a ne vrijednosti prisutne u objektima.
Sintaksa:
public static void assertNotSame(String message, Object expected, Object actual)
Primjer:
DemoClass1 demo1 = novi DemoClass1 ();
DemoClass2 demo2 = novi DemoClass2 ();
Assert.assertNotSame („Dva objekta nisu jednaka“, demo1, demo2);
# 8) assertArrayEquals
assert equals potvrđuje da su dva polja objekata jednaka. Ako oba polja sadrže null vrijednosti, tada se smatraju jednakima. Ova metoda baca AssertionError s priloženom porukom ako se oba niza objekata ne smatraju jednakim.
Sintaksa:
public static void assertArrayEquals(String message, Object() expected, Object() actual)
poruka - Poruka koja će se prikazati u slučaju pogreške u tvrdnji.
očekuje se - Niz objekata.
stvarni - Niz objekata.
Primjer:
Niz () očekuje se = {'Mango', 'Apple', 'Banana'}
String () stvarni = {'Mango', 'Apple', 'Banana'}
Assert.assertArrayEquals (očekivano, stvarno);
TestNG metode potvrđivanja
Metode ispitivanja TestNG-a bit će iste kao metode utvrđivanja Junita o kojima je gore bilo riječi. Bojnik razlika između Junita i TestNG-a metode tvrđenja dolaze na put rukovanja tvrdnjama.
TestNG pruža naprednije tehnike rukovanja tvrdnjama poput ovisnih klasa, grupnih testova, parametarskih testova itd.
Video vodiči o metodama potvrđivanja TestNG-a
I dio
II dio
III dio
# 1) assertEquals
Ovom se metodom utvrđuje jesu li dvije vrijednosti podataka jednake. Možemo usporediti vrijednosti različitih vrsta podataka kao što su string, boolean, integer. itd. Kad god su očekivane i stvarne vrijednosti iste, tada tvrdnja prolazi bez iznimke. Ako nisu, tada se izbacuje AssertionError.
Upotreba : Ova vrsta tvrdnje koristi se za provjeru slučaja kada su podaci prikazani na web stranici očekivani ili prema navedenom zahtjevu.
Sintaksa:
Assert.assertEquals(actual,expected)
Parametri:
Trenutno - Stvarna vrijednost koju očekujemo od automatizacije.
Očekivano –Očekivana vrijednost.
Primjer: Da bismo to provjerili, ako Amazonova početna stranica ima naslov koji kaže: 'Amazon.com: Internetska kupovina elektronike, odjeće, računala, knjiga, DVD-a i ostalog ’
@Test public void verifyTitle() { WebDriver driver = new FirefoxDriver(); driver.get(https://www.amazon.com); String ActualTitle = driver.getTitle(); String ExpectedTitle = “Amazon.com: Online Shopping for Electronics, Apparel, Computers, Books, DVDs & more”; Assert.assertEquals(ActualTitle, ExpectedTitle); System.out.println(“Assert passed”); }
Konzola :
Tvrdnja je prošla.
PROŠLO: VerifyTitle
U gornjem primjeru, dva niza su provjerena za jednake vrijednosti. Isto tako, može se provjeriti jednakost ostalih vrsta podataka poput cijelih brojeva, logičkih vrijednosti itd.
# 2) assertNotEquals
assertNotEquals koristi se za provjeru jesu li dvije vrijednosti podataka jednake. Suprotno je funkcioniranju assertEquals Assertion. Kad god se očekivane i stvarne vrijednosti podudaraju, tvrdnja ne uspije s iznimkom i označi test slučaj kao 'neuspješan'.
Upotreba : Koristi se u slučajevima kada želimo provjeriti jesu li svi podaci jedinstveni na web stranici. Na primjer , telefonski imenik, gdje ne postoje dva ista broja.
Sintaksa:
Assert.assertNotEquals(actual,expected)
Parametri:
Trenutno - Stvarna vrijednost koju očekujemo od automatizacije.
Očekivano - Očekivana vrijednost.
Primjer: Da biste provjerili jesu li pin kodovi dva različita područja jedinstveni / nisu isti.
@Test // test case to verify AssertNotEquals public void verifyAssertNotEquals{ WebDriver driver = new FirefoxDriver(); driver.get('http://chennaiiq.com/chennai/pincode-by-name.php'); WebElement Adambakkam = driver.findElement(By.xpath('//table(contains(@class,'TBox'))/tbody/tr(5)/td(3)')); WebElement Aminijikarai = driver.findElement(By.xpath('//table(contains(@class,'TBox'))/tbody/tr(15)/td(3)')); String Pincode1 = Adambakkam.getText(); String Pincode2 = Aminijikarai.getText(); System.out.println('Two Unique pincodes are : ' +Pincode1 +' && '+Pincode2); Assert.assertNotEquals(Pincode1, Pincode2); System.out.println(“Assert passed”); }
Konzola :
Dva jedinstvena pin kodova su: 600012 && 600001
Tvrdnja je prošla.
PROŠLO: verifyAssertNotEqual
# 3) assertTrue
assertTrue koristi se za provjeru je li zadati logički uvjet istinit. Ova tvrdnja vraća true ako navedeni uvjet prođe, ako ne, tada se izbacuje pogreška tvrdnje.
Sintaksa:
Assert.assertTrue(BooleanCondition);
Parametri :
BooleanCondition - Uvjet za provjeru da li je njegov tip vraćanja tačan.
Upotreba :
Primjer: Da biste provjerili postoji li gumb Prijava na početnoj stranici Amazon.in (zatražite prikaz gumba).
Assert.assertTrue(SignIn.isDisplayed());
Ovdje provjerava je li logički uvjet - SignIn.IsDisplayed () vraća TRUE.
Primjer: Da biste provjerili postoji li gumb na web stranici.
@Test // Test cases for AssertTrue public void verifyAssertTrue(){ WebDriver driver = new FirefoxDriver(); driver.get('https://www.amazon.in');// Open browser and pass URL in address bar WebElement Navigation = driver.findElement(By.xpath('//*(@id='nav-link-yourAccount')')); WebElement SignInButton = driver.findElement(By.xpath('//span(text()='Sign in')')); Actions move = new Actions(driver); move.moveToElement(Navigation).build().perform(); Boolean checkButtonPresence = SignInButton.isDisplayed(); Assert.assertTrue(checkButtonPresence); System.out.println('Button is displayed'); }
Konzola :
Prikazuje se gumb
PROŠLO: verifyAssertTrue
# 4) assertFalse
assertFalse koristi se za provjeru je li zadati logički uvjet netačan. Drugim riječima, vrsta povrata datog logičkog uvjeta trebala bi biti False. Ova tvrdnja prolazi ako navedeni uvjet ima FALSE povratni tip ako nije, izbacuje se pogreška tvrdnje.
Sintaksa:
Assert.assertFlase(BooleanCondition);
Parametri :
BooleanCondition - Uvjet za provjeru da li je vrsta povrata lažna.
Upotreba : Scenarij u kojem se može koristiti je provjera da li element nije prisutan na web stranici nakon određene radnje.
Primjer 1: Gumb za prijavu ne bi se trebao prikazivati nakon prijave.
Assert.assertFalse(SignIn.isDisplayed());
Ovo tvrdi da li je logički uvjet - SignIn.IsDisplayed () vraća FALSE.
Primjer 2:
Da biste provjerili nestaje li div nakon određene radnje. Dakle, ovdje provjeravamo da div nije prikazan, ili drugim riječima, potvrđujemo lažno stanje na prikazanom div-u.
@Test // Test case for AssertFalse public void verifyAssertFalse() throws InterruptedException { WebDriver driver = new FirefoxDriver(); driver.get('https://www.irctc.co.in'); WebElement CaptchaDiv = driver.findElement(By.xpath('//div(contains(@id,'ImgContainer'))')); WebElement CheckBox = driver.findElement(By.xpath('//*(@id='otpId')')); CheckBox.click(); Assert.assertFalse(CaptchaDiv.isDisplayed()); System.out.println('Captcha div dimmed out of screen'); }
Konzola :
Captcha div prigušen je sa zaslona
PROŠAO:verifyAssertFalse
# 5) assertNull
Ova se tvrdnja koristi za provjeru ima li objekt null povratnu vrijednost. Drugim riječima, provjerava je li rezultat null. Kada je objekt Null, tvrdnja se prosljeđuje bez iznimke.
Sintaksa:
AssertNull(Object)
Parametri :
Objekt - Bilo koja vrijednost podataka koja sadrži null vrijednost.
Upotreba:
Primjer 1:
Utvrdite ako je niz null.
@Test public void verifyAssertion () throws InterruptedException { WebDriver driver = new FirefoxDriver(); driver.get('https://www.irctc.co.in'); String str1 = null; String str2 = 'hello'; AssertNull(str1); // asserts if str1 holds null value System.out.println('String holds null value – Assert passed'); }
Primjer 2:
Utvrdite je li vrijednost pokretačkog programa nula prije pokretanja chrome upravljačkog programa.
@Test public void verifyAssertion () throws InterruptedException { WebDriver driver; AssertNull(driver); System.out.println('Driver is null – Assert passed'); }
Ovdje je objekt upravljačkog programa ništavan jer nije pokrenut. Stoga će AssertNull (pokretački program) biti uspješan jer je provjerio ima li objekt 'driver' null vrijednost
# 6) assertNotNull
Ova tvrdnja očekuje valjanu vrstu povrata, osim vrijednosti Null. Drugim riječima, provjerava postoji li objekt ako nije Null. Tip povrata može biti logički, niz, cijeli broj, popis itd. Kada objekt nije null, prosljeđuje se tvrdnja, ako ne, baca se AssertionError.
Sintaksa:
AssertNotNull(Object)
Parametri :
Objekt - Bilo koja vrijednost podataka koja sadrži bilo koju vrijednost podataka.
Upotreba:
Primjer 1: Assert je niz koji sadrži neke podatke. Odnosno, nije Null.
@Test public void verifyAssertion () throws InterruptedException { WebDriver driver = new FirefoxDriver(); driver.get('https://www.irctc.co.in'); String str1 = null; String str2 = 'hello'; AssertNotNull(str2); // asserts if str2 holds some value System.out.println('String holds null value – Assert passed'); }
Primjer 2: Provjerite je li objekt upravljačkog programa null nakon pokretanja FirefoxDriver-a.
@Test public void verifyAssertion () throws InterruptedException { WebDriver driver; WebDriver driver = new FirefoxDriver(); AssertNotNull(driver); System.out.println('Driver is null – Assert passed'); }
Ovdje se objekt pokretača pokreće za firefox driver i stoga objekt 'driver' ima neku vrijednost jer nije pokrenut. Stoga će AssertNotNull (pokretački program) uspjeti jer je provjerio da li objekt 'driver' nema null vrijednost
Klik ovdje za uzorke test slučajeva.
Uzorci programa za tvrdnje
Tvrdi jednako:
package Demo; import org.junit.Assert; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class AssertionDemo { public static void main(String() args) throws InterruptedException{ String sValue = 'Assert Equals Test'; Assert.assertEquals('Assert Equals Test', sValue); System.out.println('Test Passed'); } }
Objašnjenje koda:
Pitanja i odgovori na intervju za testiranje softvera temeljeni na scenariju
Gornji kod jednostavnim rječnikom pokazuje upotrebu metode AssertEquals.
- Kao što je ranije rečeno, potvrđivanje jednakosti uzima dva parametra, tj. Očekivani rezultat i stvarni rezultat. Ako se očekivani rezultat ne podudara s rezultatom stvarnog rezultata, izbacit će se pogreška u tvrdnji i izvršavanje programa završit će se metodom assert equals.
- Gornji kod uspoređuje korisnički definiranu vrijednost niza s očekivanom vrijednosti niza.
- Imajte na umu da će u stvarnom vremenu stvarni rezultat biti korisnički definirana operacija za koju će se vrijednost dohvaćati u vrijeme izvođenja i prosljeđivati kao parametar metodi tvrditi jednako.
Tvrditi tačno:
package Demo; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class AssertionsDemo1 { public static void main(String() args) throws InterruptedException{ String expectedTitle = 'Google'; System.setProperty('webdriver.gecko.driver','D:\Data_Personal\Demo\geckodriver-v0.23.0-win64\geckodriver.exe'); WebDriver driver = new FirefoxDriver(); driver.get('https://www.google.com'); Assert.assertTrue('Title does not match', expectedTitle.equals(driver.getTitle())); driver.close(); } }
Objašnjenje koda:
Gornji kôd pokazuje upotrebu metode assertTrue.
- U početku prosljeđujemo očekivani naslov stranice na varijablu. Zatim instanciramo objekt upravljačkog programa za Firefox i preusmjeravamo ga na web stranicu - https://www.google.com
- Kasnije, metodom assertsTrue uspoređujemo naslov otvorene stranice s naslovom očekivanog naslova stranice. Ako se naslov otvorene stranice ne podudara s naslovom očekivanog naslova, izbacit će se pogreška u tvrdnji i izvršenje programa će se prekinuti metodom assertTrue.
- Gornji kôd uspješno će se izvršiti samo kada se stvarni naslov stranice podudara s naslovom očekivanog naslova stranice.
Tvrdite lažno:
package Demo; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class AssertionsDemo1 { public static void main(String() args) throws InterruptedException{ String expectedTitle = 'Google1'; System.setProperty('webdriver.gecko.driver','D:\Data_Personal\Demo\geckodriver-v0.23.0-win64\geckodriver.exe'); WebDriver driver = new FirefoxDriver(); driver.get('https://www.google.com'); Assert.assertFalse('Title does match', expectedTitle.equals(driver.getTitle())); driver.close(); } }
Objašnjenje koda:
Gornji kod pokazuje upotrebu metode assertfalse.
- U početku prosljeđujemo očekivani naslov stranice na varijablu, a zatim instanciramo objekt upravljačkog programa firefoxa i prelazimo na web stranicu - https://www.google.com
- Kasnije, metodom assertfalse uspoređujemo naslov otvorene stranice s naslovom očekivanog naslova stranice. Ako se naslov otvorene stranice podudara s naslovom očekivanog naslova, izbacit će se pogreška u tvrdnji i izvršenje programa će se prekinuti metodom tvrde lažno.
- Gornji kôd uspješno će se izvršiti samo kada se stvarni naslov stranice ne podudara s naslovom očekivanog naslova stranice.
Kôd od kraja do kraja za tvrdnje
Dolje je dat primjer uzorka koda za tvrdnje. Sljedeći smo scenarij koristili radi jednostavnosti.
Scenarij:
- Otvorite web stranicu: https://www.google.com u pregledniku Firefox.
- Provjerite je li otvoreni naslov stranice ekvivalentan naslovu očekivanog naslova stranice pomoću metode asserttrue.
- U tekstni okvir za pretraživanje unesite ključnu riječ za pretraživanje: Selen.
- Pritisnite tipku Enter na tipkovnici.
- Provjerite je li naslov otvorene stranice na stranici rezultata pretraživanja ekvivalentan naslovu očekivanog naslova stranice pomoću metode assertequals i assertfalse.
- Zatvorite preglednik.
Uzorak koda:
packageDemo; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class AssertionsDemo { public static void main(String args()) throws InterruptedException { String expectedTitle = 'Google'; String expectedText = 'selenium - Google Search'; System.setProperty('webdriver.gecko.driver','D:\Data_Personal\Demo\geckodriver-v0.23.0-win64\geckodriver.exe'); // Open the web page https://www.google.com using firefox browser WebDriver driver = new FirefoxDriver(); driver.get('https://www.google.com'); // Validate if actual web page title matches with that of expected title using assert true method System.out.println('Assert true method validation'); Assert.assertTrue('Title does not match', expectedTitle.equals(driver.getTitle())); // Enter the keyword selenium on the search textbox WebElementsearchBox = driver.findElement(By.xpath('//*(@name='q')')); searchBox.sendKeys('selenium'); searchBox.sendKeys(Keys.ENTER); Thread.sleep(8000); // Validate the actual page title with expected page title using assert equals method System.out.println('Assert equals method validation'); Assert.assertEquals(expectedText, driver.getTitle()); // Page title validation using assert false method System.out.println('Assert false method validation'); Assert.assertFalse('Title does match', expectedTitle.equals(driver.getTitle())); // Close the current browser driver.close(); } }
Izlaz koda:
U početku će se otvoriti prozor preglednika Firefox s web stranicom: https://www.google.com. Metoda Asserttrue provjerit će poklapa li se naslov otvorene stranice s naslovom očekivanog naslova stranice - Google.
Skripta će unijeti ključnu riječ za pretraživanje kao Selenium i pritisnuti tipku Enter.
Metode Assertfalse i assertequals uspoređuju se podudara li se stvarni naslov stranice zaslona rezultata pretraživanja s naslovom očekivanog naslova - ‘selen - Google pretraživanje’. Tada će se preglednik zatvoriti metodom driver.close.
Izlaz konzole:
Tekst dan u nastavku bit će izlaz konzole na Eclipse IDE-u
Izbjegavajte uobičajene pogreške dok koristite Assert Class
1. Pretpostavimo da su u vašem projektu konfigurirane JUnit, TestNG i python knjižnice
dva . Ali u svojoj skripti koristite oznaku TestNG i greškom odabirete Junit Assertion, tada će vaša klasa Assert biti zastarjela. Pogledajte snimku zaslona ispod
3. Stoga je vrlo važno odabrati odgovarajuću klasu Assert, jer za TestNg odaberite jedinu organizacijsku klasu Assert
Četiri. Za Junit odaberite org.junit.Assert klasu i tako dalje.
5. Da bismo izvršili Soft Assertion, moramo obvezno pozvati metodu assertAll ()
6. Kada tvrdnja ne uspije, bacit će pogrešku u tvrdnju, a ne iznimka
Zaključak
Ovaj članak o Tvrdnjama u selenu možemo zaključiti sljedećim uputama:
- Tvrdnja se koristi za usporedbu stvarnog rezultata aplikacije s očekivanim rezultatom.
- Smatra se da je test slučaj položen samo ako su ispunjene sve tvrdnje.
- Metoda AssertEquals uspoređuje očekivani rezultat sa stvarnim rezultatom. Baca AssertionError ako se očekivani rezultat ne podudara s rezultatom stvarnog rezultata i završava izvršavanje programa metodom assertequals.
- Metoda AssertTrue tvrdi da je navedeni uvjet istinit. Baca AssertionError ako uvjet koji se prosljeđuje metodi asserttrue nije zadovoljen.
- AssertFalse metoda tvrdi da je navedeni uvjet netačan. Izbacuje AssertionError ako uvjet koji je proslijeđen za utvrđivanje lažne metode nije zadovoljen.
- Metode AssertEquals, AssertTrue i AssertFalse najčešće su korištene tvrdnje u selenu.
U nadolazeći vodič , razmotrit ćemo razne primjere koji se koriste u scenarijima projekata u stvarnom vremenu i razumjeti kako se tvrdnje koriste u skladu sa svrhom.
Nadamo se da je ovaj članak obogatio vaše znanje o tvrdnjama u selenu !!
=> Pročitajte seriju Easy Training za selen.
Preporučena literatura
- Uvod u JUnit Framework i njegovu upotrebu u skripti za selenij - Vodič za selen br. 11
- Kako se koristi TestNG Framework za stvaranje skripti za selen - TestNG Selen Tutorial # 12
- Naučite kako koristiti TestNG napomene u selenu (s primjerima)
- Vodič za krastavac selenij: Integracija Java Selenium WebDriver krastavaca
- Integracija selena s JMeterom
- Uvod u Selenium WebDriver - Vodič za selen br. 8
- Najpopularniji okviri za automatizaciju ispitivanja s prednostima i nedostacima svakog - Selen Tutorial # 20
- 30+ najboljih vodiča za selen: naučite selen na stvarnim primjerima