assertions selenium using junit
V tomto výučbe selénu o tvrdeniach sa vysvetľuje, čo sú tvrdenia v seléne, rôzne typy tvrdení a metódy tvrdenia pomocou rámcov Junit a TestNG:
otázky na pohovor o html a css
Tvrdenia sa používajú na overenie testovacieho prípadu a pomáhajú nám pochopiť, či testovací prípad prešiel alebo zlyhal. Tvrdenie sa považuje za splnené, ak sa skutočný výsledok žiadosti zhoduje s očakávaným výsledkom.
Pri automatizácii webových aplikácií pomocou selénu musíme overiť naše testy, aby sme overili, či fungujú podľa očakávania alebo nie(to znamená, že ak je výsledok testovacieho prípadu vyhovujúci / neúspešný).
=> Tu sa pozrite na príručku pre začiatočníkov selénu.
Testovací prípad sa považuje za vyhovujúci, iba ak boli splnené všetky tvrdenia. S tvrdeniami v seléne je možné pracovať pomocou preddefinovaných metód rámcov Junit a TestNG, ktoré budú podrobne vysvetlené v tomto článku.
Čo sa dozviete:
- Tvrdenia v seléne
- Typy tvrdení v seléne
- Metódy Junit Assert
- Metódy uplatnenia TestNG
- Ukážkové programy pre tvrdenia
- Záver
Tvrdenia v seléne
Tvrdenia sa používajú na vykonávanie rôznych druhov validácií v testovacích prípadoch, čo nám zase pomáha rozhodnúť sa, či testovací prípad prešiel alebo zlyhal. ŽAk test prebehne bez výnimky, považujeme ho za úspešný.
Videonávod o tvrdeniach
Typy tvrdení v seléne
V seléne existujú dva typy tvrdení a kategorizácia závisí od toho, ako sa chová tvrdenie po splnení alebo nesplnení podmienky.
Tu by sme diskutovali o dvoch druhoch tvrdení v Selén :
- Tvrdé tvrdenia
- Mäkké tvrdenia
Kliknutím sem zobrazíte ukážku testovacie prípady na testovanie tvrdení.
# 1) Tvrdé tvrdenia (alebo jednoducho tvrdenia)
Tvrdé tvrdenie nepokračuje v exekúcii, kým nie je splnená podmienka tvrdenia.
Tvrdé tvrdenia zvyčajne vrhajú chybu tvrdenia vždy, keď nie je splnená podmienka tvrdenia. Testovací prípad bude okamžite označený ako Zlyhaný, keď zlyhá podmienka tvrdého tvrdenia.
Scenár použitia tohto druhu tvrdenia je, že ak chcete overiť, či ste sa prihlásili správne, a zlyhať v teste, ak ste sa nepodarilo úspešne prihlásiť, pretože nemá zmysel pokračovať ďalej, ak je splnená predbežná podmienka ( samotné prihlásenie) zlyhá.
Zoberme si ďalší ilustrovaný príklad:
Zvážte testovací prípad na uplatnenie názvu webovej stránky.
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(); }
V tomto príklade bude premenná „ActualTitle“ obsahovať text nadpisu z automatizácie. Položka „ExpectedTitle“ obsahuje očakávané údaje o reťazci. Assert.assertEquals () overuje, či sú obidva texty rovnaké. Vyššie uvedený testovací prípad prejde a bude pokračovať na ďalší riadok vykonania, pretože skutočný text a očakávaný text sú rovnaké.
Konzola:
Tvrdenie prešlo.
PREDANÉ: VerifyTitle
Rovnaký testovací prípad, keď zlyhá, spôsobí výnimku a zastaví vykonávanie v danom prípade.
Teraz poďme zmeniť očakávaný názov na nesprávny.
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:
Chyba java.lang.AssertionError:očakávaný (Vitajte na Amazone)alenájdené (Amazon.com: Online nakupovanie elektroniky, odevov, počítačov, kníh, DVD a ďalších)
Z konzoly vidíme, že príkaz print bol preskočený (System.out.println), pretože v príkaze Assert došlo k zlyhaniu a došlo k výnimke.
# 2) Mäkké tvrdenia
Mäkké tvrdenie pokračuje ďalším krokom vykonania testu, aj keď podmienka tvrdenia nie je splnená.
Mäkké tvrdenia sú typom tvrdení, ktoré nevrhnú výnimku automaticky, keď sa tvrdenie nepodarí, pokiaľ o to nie je požiadané. To je užitočné, ak vykonávate viac overení vo forme, z ktorých iba niekoľko overení má priamy vplyv na rozhodovanie o stave testovacieho prípadu.
Tu používame triedu nazvanú SoftAssert a metóda assertAll () sa volá na vyvolanie všetkých výnimiek zachytených počas vykonávania. Keď sa použije softAssert, vykoná tvrdenie a ak sa nájde výnimka, okamžite sa nevyhodí, skôr pokračuje, kým nezavoláme metódu assertAll (), ktorá hodí všetky zachytené výnimky.
Pre každý testovací prípad je rozumné použiť rôzne objekty triedy „SoftAssert“.
Zvážte testovací prípad na uplatnenie názvu stránky
V nasledujúcom príklade sú vytvorené dva objekty triedy „SoftAssert“, ktoré sa dajú použiť v dvoch rôznych testovacích prípadoch.
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:
Aktuálny názov: Amazon.com: Online nakupovanie elektroniky, odevov, počítačov, kníh, DVD a ďalších
Vykoná sa tvrdenie 1
Zobrazí sa ikona
Vykoná sa tvrdenie 2
java.lang.AssertionError: Nasledujúce tvrdenia zlyhali:
Očakávané (Vitajte na Amazone), ale nájdené (Amazon.com: Online nakupovanie elektroniky, odevov, počítačov, kníh, DVD a ďalších)
Z konzoly môžeme pochopiť, že aj keď v prvom testovacom prípade (verifyTitle) išlo o zlyhanie, vykonanie pokračovalo na ďalší riadok, kde bol vytlačený príkaz - „Assertion 1 is executed“ a až po vyvolaní softAssert, bola vyhodená výnimka.
Kedy použiť tvrdé a mäkké tvrdenie?
Ak potrebujete vykonať všetky kroky testovacieho prípadu, ktorý sa má vykonať aj po zlyhaní tvrdenia, a chcete tiež nahlásiť výnimku tvrdenia, rozhodnite sa pre použitie mäkkých tvrdení. Používanie softvérových tvrdení vo vašich testovacích skriptoch je osvedčeným postupom a efektívnym spôsobom spracovania testu
Ak chcete, aby sa vykonanie testovacieho prípadu uskutočnilo až po prijatí tvrdenia ( Napríklad, Ak chcete overiť platné prihlásenie a až potom vykonajte ďalšie kroky), potom použite tvrdé tvrdenia.
Metódy Junit Assert
Ďalej sú podrobne vysvetlené rôzne typy metód Junit Assert.
# 1) assertEquals
metóda Assertequals porovnáva očakávaný výsledok so skutočným výsledkom. Vyhodí AssertionError, ak sa očakávaný výsledok nezhoduje s výsledkom skutočného výsledku a ukončí vykonávanie programu metódou assert equals.
Syntax:
public static void assertEquals(String expected, String actual)
Príklad:
Očakávaný reťazec = „https://www.google.com“;
Reťazec actualURL = “https://www.google.com”;
Assert.assertEquals (očakáva sa, skutočná URL);
# 2) assertTrue
metóda asserttrue tvrdí, že zadaná podmienka je pravdivá.
Má dva parametre, t. J. Jeden je správa a druhý je podmienka, proti ktorej je potrebné uplatniť tvrdenie. Ak nie je splnená podmienka odovzdaná metóde asserttrue, hodí AssertionError.
Syntax:
public static void assertTrue(java.lang.String message, boolean condition)
správa - správa, ktorá sa má zobraziť v prípade chyby zadania.
podmienka - Podmienka, proti ktorej je potrebné uplatniť tvrdenie.
Príklad:
Assert.assertTrue („Potvrdiť pravdivú testovaciu správu“, pravda);
# 3) assertFalse
metóda assert false tvrdí, že zadaná podmienka je nepravdivá.
Má dva parametre, t. J. Jeden je správa a druhý je podmienka, proti ktorej je potrebné uplatniť tvrdenie. Ak podmienka odovzdaná metóde assertfalse nie je splnená, hodí AssertionError.
Syntax:
public static void assertFalse(java.lang.String message, boolean condition)
správa - správa, ktorá sa má zobraziť v prípade chyby zadania.
podmienka - Podmienka, proti ktorej je potrebné uplatniť tvrdenie.
Príklad:
Assert.assertFalse („Potvrdiť falošnú testovaciu správu“ false);
# 4) assertNull
assert null sa používa na overenie, či poskytnutý objekt obsahuje nulovú hodnotu. Berie objekt ako parameter a hodí AssertionError, ak poskytnutý objekt nemá nulovú hodnotu.
Syntax:
public static void assertNull(Object object)
Príklad:
DemoClass ukážka = nová DemoClass ();
Assert.assertNull (ukážka);
# 5) assertNotNull
assert not null sa používa na overenie, či poskytnutý objekt neobsahuje nulovú hodnotu. Berie objekt ako parameter a hodí AssertionError, ak poskytnutý objekt neobsahuje nulovú hodnotu.
Syntax:
public static void assertNotNull(Object object)
Príklad:
DemoClass ukážka = nová DemoClass ();
Assert.assertNotNull (ukážka);
# 6) assertSame
tvrdiť, že rovnaká metóda kontroluje, či dva objekty poskytnuté ako parametre odkazujú na ten istý objekt. Vyhodí AssertionError, ak poskytnuté objekty neodkazujú na rovnaký objekt s poskytnutou správou.
Upozorňujeme, že Assert same porovnáva iba referencie objektov, ale nie skutočné hodnoty.
Syntax:
public static void assertSame(String message, Object expected,Object actual)
Príklad:
DemoClass1 demo1 = nová DemoClass1 ();
DemoClass2 demo2 = nová DemoClass2 ();
Assert.assertSame („Dva objekty sú si rovné“, ukážka1, ukážka2);
# 7) assertNotSame
assert not same overuje, že dva objekty nie sú rovnaké. Ak dva objekty odkazujú na ten istý objekt, bude vyhodená AssertionError.
ako spustiť súbor jar v systéme Windows 10
Upozorňujeme, že metóda Assert nie rovnakou metódou porovnáva referencie objektov, a nie hodnoty prítomné v objektoch.
Syntax:
public static void assertNotSame(String message, Object expected, Object actual)
Príklad:
DemoClass1 demo1 = nová DemoClass1 ();
DemoClass2 demo2 = nová DemoClass2 ();
Assert.assertNotSame („Dva objekty nie sú rovnaké“, ukážka1, ukážka2);
# 8) assertArrayEquals
assert equals overuje, že dve polia objektov sú rovnaké. Ak obe polia obsahujú nulové hodnoty, potom sa považujú za rovnocenné. Táto metóda vyvolá AssertionError so správou, ak sa obidve polia objektov nepovažujú za rovnaké.
Syntax:
public static void assertArrayEquals(String message, Object() expected, Object() actual)
message - Správa, ktorá sa má zobraziť v prípade chyby tvrdenia.
očakávaný - pole objektov.
skutočné - pole objektov.
Príklad:
Očakáva sa reťazec () = {„Mango“, „Apple“, „Banana“}
Reťazec () skutočný = {„Mango“, „Apple“, „Banán“}
Assert.assertArrayEquals (očakávaný, skutočný);
Metódy uplatnenia TestNG
Metódy TestNG Assert budú rovnaké ako metódy presadzovania Junit, ktoré sú diskutované vyššie. Hlavný rozdiel medzi Junitom a TestNG metódy tvrdenia prichádzajú do cesty riešenia tvrdení.
TestNG poskytuje pokročilejšie techniky manipulácie s tvrdeniami, ako sú závislé triedy, skupinové testy, parametrizované testy atď.
Videonávody o metódach uplatnenia protokolu TestNG
Časť I.
Časť II
Časť III
# 1) assertEquals
Táto metóda sa používa na zistenie, či sú dve hodnoty údajov rovnaké. Môžeme porovnať hodnoty rôznych dátových typov ako reťazec, boolovská hodnota, celé číslo. atď. Kedykoľvek sú očakávané a skutočné hodnoty rovnaké, potom tvrdenie prejde bez výnimky. Ak nie sú, je vyhodená chyba AssertionError.
Využitie : Tento druh tvrdenia sa používa na overenie prípadu, keď sú údaje zobrazené na webovej stránke podľa očakávania alebo podľa špecifikovanej požiadavky.
Syntax:
Assert.assertEquals(actual,expected)
Parametre:
Aktuálne - Skutočná hodnota, ktorú očakávame od automatizácie.
Očakávané –Očakávaná hodnota.
Príklad: Ak chcete overiť, že ak má domovská stránka Amazonu nadpis „Amazon.com: Online nakupovanie elektroniky, odevov, počítačov, kníh, DVD a ďalších produktov ‘
@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:
Tvrdenie prešlo.
PREDANÉ: VerifyTitle
Vo vyššie uvedenom príklade boli pre rovnaké hodnoty overené dva reťazce. Rovnako je možné overiť rovnosť ostatných dátových typov, ako je celé číslo, boolovská hodnota atď.
# 2) assertNotEquals
assertNotEquals sa používa na overenie, či dve hodnoty údajov nie sú rovnaké. Je to pravý opak fungovania assertEquals Assertion. Kedykoľvek sa očakávané a skutočné hodnoty zhodujú, tvrdenie zlyhá s výnimkou a testovací prípad sa označí ako „zlyhal“.
Využitie : Používa sa v prípadoch, keď by sme chceli overiť, či sú všetky údaje na webovej stránke jedinečné. Napríklad , telefónny zoznam, kde nie sú rovnaké 2 telefónne čísla.
Syntax:
Assert.assertNotEquals(actual,expected)
Parametre:
Aktuálne - Skutočná hodnota, ktorú očakávame od automatizácie.
Očakávané - Očakávaná hodnota.
Príklad: Overiť, či sú PIN kódy dvoch rôznych oblastí jedinečné / nie rovnaké.
@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 jedinečné kódy PIN: 600012 && 600001
Tvrdenie prešlo.
VYDANÉ: verifyAssertNotEqual
# 3) assertTrue
assertTrue sa používa na overenie, či je daná booleovská podmienka pravdivá. Toto tvrdenie vráti hodnotu true, ak zadaná podmienka prejde, ak nie, potom bude vyhodená chyba tvrdenia.
Syntax:
Assert.assertTrue(BooleanCondition);
Parametre :
BooleanPodmienka - Podmienka na kontrolu, či je návratový typ pravdivý.
Využitie :
Príklad: Ak chcete overiť, či je na domovskej stránke Amazon.in tlačidlo Prihlásiť sa (potvrďte zobrazenie tlačidla).
Assert.assertTrue(SignIn.isDisplayed());
Tu overuje, či booleovská podmienka - SignIn.IsDisplayed () vráti TRUE.
Príklad: Overiť, či sa na webovej stránke nachádza tlačidlo.
@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:
Zobrazí sa tlačidlo
ZARIADENÉ: verifyAssertTrue
# 4) assertFalse
assertFalse sa používa na overenie, či je daná boolovská podmienka nepravdivá. Inými slovami, návratový typ danej booleovskej podmienky by mal byť False. Toto tvrdenie prejde, ak má zadaná podmienka návratový typ FALSE, ak nie, bude vyhodená chyba tvrdenia.
Syntax:
Assert.assertFlase(BooleanCondition);
Parametre :
BooleanPodmienka - Podmienka na kontrolu, či je jeho návratový typ nepravdivý.
Využitie : Scenár, v ktorom je možné ho použiť, je overiť, či sa prvok po určitej akcii na webovej stránke nenachádza.
Príklad 1: Po prihlásení by sa nemalo zobrazovať tlačidlo prihlásenia.
Assert.assertFalse(SignIn.isDisplayed());
Toto tvrdí, či boolovský stav - SignIn.IsDisplayed () vráti FALSE.
Príklad 2:
Overiť, či div po konkrétnej akcii zmizne. Takže tu overujeme, že div sa nezobrazí, alebo inými slovami, potvrdíme falošný stav na zobrazenom div.
@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 stlmená mimo obrazovku
PROŠLO:verifyAssertFalse
# 5) assertNull
Toto tvrdenie sa používa na overenie, či má objekt nulovú návratovú hodnotu. Inými slovami, kontroluje, či je výsledok nulový. Keď má objekt hodnotu Null, tvrdenie sa odovzdá bez akejkoľvek výnimky.
Syntax:
AssertNull(Object)
Parametre :
Objekt - Akákoľvek údajová hodnota, ktorá má nulovú hodnotu.
Použitie:
Príklad 1:
Tvrdiť, ak je reťazec nulový.
@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'); }
Príklad 2:
Pred spustením chrómového ovládača potvrďte, či je hodnota ovládača nulová.
@Test public void verifyAssertion () throws InterruptedException { WebDriver driver; AssertNull(driver); System.out.println('Driver is null – Assert passed'); }
Objekt ovládača je tu nulový, pretože nie je spustený. AssertNull (ovládač) bude preto úspešný, pretože sa overovalo, či má objekt „ovládač“ nulovú hodnotu
# 6) assertNotNull
Toto tvrdenie očakáva platný návratový typ, iný ako hodnota Null. Inými slovami, kontroluje, či objekt nie je Null. Návratový typ môže byť Boolean, reťazec, celé číslo, zoznam atď. Ak objekt nemá hodnotu null, je zadané Assertion, ak nie, je vyhodená AssertionError.
Syntax:
AssertNotNull(Object)
Parametre :
Objekt - Akákoľvek údajová hodnota, ktorá obsahuje akúkoľvek údajovú hodnotu.
Použitie:
Príklad 1: Assert je reťazec, ktorý obsahuje niektoré údaje. To znamená, že to nie je 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'); }
Príklad 2: Po spustení aplikácie FirefoxDriver skontrolujte, či objekt ovládača nie je null.
@Test public void verifyAssertion () throws InterruptedException { WebDriver driver; WebDriver driver = new FirefoxDriver(); AssertNotNull(driver); System.out.println('Driver is null – Assert passed'); }
Tu sa objekt ovládača inicializuje na ovládač firefox, a preto má objekt „ovládača“ určitú hodnotu, pretože nie je spustený. AssertNotNull (ovládač) bude preto úspešný, pretože sa overil, ak objekt „ovládač“ nebude obsahovať nulovú hodnotu
Kliknite tu pre vzorové testovacie prípady.
Ukážkové programy pre tvrdenia
Presadzovať rovná sa:
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'); } }
Vysvetlenie kódu:
Vyššie uvedený kód demonštruje použitie metódy AssertEquals zjednodušene.
- Ako už bolo diskutované, tvrdenie rovná sa prijíma dva parametre, tj. Očakávaný výsledok a skutočný výsledok. Ak sa očakávaný výsledok nezhoduje s výsledkom skutočného výsledku, bude vyhodená chyba tvrdenia a vykonávanie programu bude ukončené metódou assert equals.
- Vyššie uvedený kód porovnáva používateľom definovanú hodnotu reťazca s očakávanou hodnotou reťazca.
- Upozorňujeme, že v reálnom čase bude skutočným výsledkom operácia definovaná používateľom, pre ktorú sa hodnota načíta za behu a odovzdá ako parameter metóde assert equals.
Tvrdiť pravdu:
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(); } }
Vysvetlenie kódu:
Vyššie uvedený kód demonštruje použitie metódy assertTrue.
- Očakávaný názov stránky odovzdávame do premennej. Potom vytvoríme inštanciu objektu ovládača firefox a navigujeme ho na webovú stránku - https://www.google.com
- Neskôr pomocou metódy assertsTrue porovnáme otvorený názov stránky s očakávaným nadpisom stránky. Ak sa otvorený nadpis nezhoduje s očakávaným nadpisom, bude vyhodená chyba tvrdenia a vykonávanie programu bude ukončené metódou assertTrue.
- Vyššie uvedený kód sa úspešne vykoná, iba ak sa skutočný názov stránky zhoduje s očakávaným nadpisom stránky.
Tvrdiť nepravdivo:
bezplatné čističe registrov pre Windows 10
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(); } }
Vysvetlenie kódu:
Vyššie uvedený kód demonštruje použitie metódy assertfalse.
- Spočiatku odovzdávame očakávaný názov stránky do premennej, potom vytvoríme inštanciu objektu ovládača firefox a prejdeme na webovú stránku - https://www.google.com
- Neskôr pomocou metódy assertfalse porovnáme otvorený názov stránky s očakávaným nadpisom stránky. Ak sa otvorený nadpis stránky zhoduje s nadpisom očakávaného nadpisu, bude vyhodená chyba tvrdenia a vykonanie programu bude ukončené metódou assert false.
- Vyššie uvedený kód sa úspešne vykoná, iba ak sa skutočný nadpis stránky nezhoduje s očakávaným nadpisom stránky.
Koncový kód pre zadania
Nižšie je uvedený ukážkový end-to-end kód pre tvrdenia. Na zjednodušenie sme použili nasledujúci scenár.
Scenár:
- V prehliadači Firefox otvorte webovú stránku: https://www.google.com.
- Pomocou metódy asserttrue overte, či je otvorený nadpis stránky ekvivalentný s očakávaným nadpisom stránky.
- Do textového poľa vyhľadávania zadajte kľúčové slovo vyhľadávania: selén.
- Stlačte kláves Enter na klávesnici.
- Pomocou metódy assertequals a assertfalse overte, či je otvorený nadpis stránky na stránke s výsledkami vyhľadávania ekvivalentný s očakávaným nadpisom stránky.
- Zatvorte prehliadač.
Vzorový kód:
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(); } }
Výstup kódu:
Spočiatku sa okno prehliadača Firefox otvorí s webovou stránkou: https://www.google.com. Metóda Asserttrue overí, či sa otvorený názov stránky zhoduje s názvom očakávaného názvu stránky - Google.
Skript zadá hľadané kľúčové slovo ako selén a stlačte kláves Enter.
Metódy Assertfalse a assertequals sa porovnávajú, ak sa skutočný názov stránky na obrazovke s výsledkami vyhľadávania zhoduje s očakávaným názvom - „selén - Vyhľadávanie Google“. Prehliadač sa potom zatvorí pomocou metódy driver.close.
Výstup na konzolu:
Text uvedený nižšie bude výstupom z konzoly na Eclipse IDE
Pri používaní triedy Assert Class sa vyvarujte bežných chýb
1. Predpokladajme, že váš projekt má nakonfigurované knižnice JUnit, TestNG a python
dva . Ale vo svojom skripte používate anotáciu TestNG a omylom zvolíte Junit Assertion, potom bude vaša trieda Assert zastaraná. Pozri snímku obrazovky nižšie
3. Je preto veľmi dôležité zvoliť správnu triedu Assert, pre TestNg zvoliť jedinú triedu org.TestNG Assert
Štyri. Pre Junit zvoľte triedu org.junit.Assert a tak ďalej.
5. Aby sme vykonali Soft Assertion, musíme povinne zavolať metódu assertAll ()
6. Ak tvrdenie zlyhá, vyvolá chybu tvrdenia, nie je výnimkou
Záver
Tento článok o tvrdeniach v seléne môžeme uzavrieť nasledujúcimi ukazovateľmi:
- Tvrdenie sa používa na porovnanie skutočného výsledku aplikácie s očakávaným výsledkom.
- Testovací prípad sa považuje za vyhovujúci, iba ak boli splnené všetky tvrdenia.
- Metóda AssertEquals porovnáva očakávaný výsledok so skutočným. Vyhodí AssertionError, ak sa očakávaný výsledok nezhoduje s výsledkom skutočného výsledku a ukončí vykonávanie programu metódou assertequals.
- Metóda AssertTrue tvrdí, že zadaná podmienka je pravdivá. Ak nie je splnená podmienka odovzdaná metóde asserttrue, hodí AssertionError.
- Metóda AssertFalse tvrdí, že zadaná podmienka je nepravdivá. Vyhodí AssertionError, ak nie je splnená podmienka odovzdaná na uplatnenie nepravdivej metódy.
- Metódy AssertEquals, AssertTrue a AssertFalse sú najbežnejšie používanými tvrdeniami v seléne.
V nadchádzajúci tutoriál , prediskutujeme rôzne príklady použité v scenároch projektu v reálnom čase a pochopíme, ako sa tvrdenia používajú podľa účelu.
Dúfame, že tento článok obohatil vaše vedomosti o tvrdeniach v seléne !!
=> Prečítajte si sériu Easy Selenium Training Series.
Odporúčané čítanie
- Úvod do rámca JUnit a jeho použitie v selénovom skripte - selén výučba # 11
- Ako používať rámec TestNG na vytváranie skriptov selénu - návod na testovanie selénu TestNG # 12
- Naučte sa, ako používať poznámky TestNG v seléne (s príkladmi)
- Výukový program Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Integrácia selénu s JMeter
- Úvod do softvéru Selenium WebDriver - Výučba selénu č. 8
- Najobľúbenejšie rámce automatizácie testov s výhodami a nevýhodami každého z nich - selén, návod č. 20
- 30+ najlepších návodov na selén: Naučte sa selén na skutočných príkladoch