assertions selenium using junit
Denne selenveiledningen om påstander forklarer hva som er påstander om selen og forskjellige typer påstander og påstandsmetoder ved bruk av Junit og TestNG Frameworks:
c ++ hvordan du bruker stringstream
Påstander brukes til å validere en testsak og hjelper oss å forstå om en testsak har bestått eller mislyktes. Påstanden anses å være oppfylt hvis det faktiske resultatet av en søknad samsvarer med det for det forventede resultatet.
Mens vi automatiserer webapplikasjoner ved bruk av Selen, må vi validere testene for å verifisere om de fungerer som forventet eller ikke(det vil si hvis et testsaksresultat er bestått / mislykkes).
=> Ta en titt på Selenium Beginners Guide her.
En testsak anses å være bestått bare hvis alle påstandene er oppfylt. Påstander i selen kan håndteres ved hjelp av forhåndsdefinerte metoder for Junit og TestNG rammeverk, som vil bli forklart i detalj i denne artikkelen.
Hva du vil lære:
- Påstander i selen
- Typer påstander i selen
- Junit Assert Methods
- TestNG påstandsmetoder
- Eksempelprogrammer for påstander
- Konklusjon
Påstander i selen
Påstander brukes til å utføre ulike typer valideringer i testsakene, som igjen hjelper oss med å avgjøre om testsaken er bestått eller mislyktes. Wanser en test som vellykket hvis den kjører uten noe unntak.
Videoopplæring om påstander
Typer påstander i selen
Det er to typer påstander i selen, og kategoriseringen avhenger av hvordan påstanden oppfører seg etter at en tilstand er bestått eller mislykkes.
Her vil vi diskutere to typer påstander i Selen :
- Harde påstander
- Myke påstander
Klikk her for prøve test tilfeller for å teste påstander.
# 1) Harde påstander (eller bare påstander)
En hard påstand fortsetter ikke med utførelse før påstandsvilkåret er oppfylt.
Harde påstander kaster vanligvis en påstandsfeil når en påstandsvilkår ikke er oppfylt. Testsaken blir umiddelbart merket som Mislyktes når en hard påstandstilstand mislykkes.
Et scenario for å bruke denne typen påstand er at når du vil bekrefte om du har logget på riktig og ikke klarer testen hvis du ikke har gjort en vellykket pålogging, da det ikke er noe poeng å fortsette videre hvis forutsetningen ( innlogging) mislykkes.
La oss ta et annet eksempel illustrert her:
Tenk på en prøvesak for å hevde tittelen på en webside.
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(); }
I eksemplet vil variabelen ‘ActualTitle’ inneholde tittelteksten fra automatisering. ‘ExpectedTitle’ inneholder de forventede strengdataene. Assert.assertEquals () bekrefter om begge teksten er like. Ovennevnte testtilfelle vil passere og fortsette til neste utførelseslinje siden den faktiske teksten og den forventede teksten er den samme.
Konsoll:
Assert bestått.
PASSERT: VerifyTitle
Den samme testsaken når den mislyktes, vil kaste et unntak og stoppe utførelsen i det tilfellet.
La oss nå endre den forventede tittelen til feil.
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(); }
Konsoll:
java.lang.AssertionError:forventet (Velkommen til Amazon)menfunnet (Amazon.com: Online shopping for elektronikk, klær, datamaskiner, bøker, DVDer og mer)
Fra konsollen kan vi se at utskriftserklæringen ble hoppet over (System.out.println) siden feil ble oppdaget i Assert-setningen, og det kastet et unntak.
# 2) Myke påstander
En myk påstand fortsetter med neste trinn i testutførelsen, selv om påstandsbetingelsen ikke er oppfylt.
Myke påstander er typen påstander som ikke kaster et unntak automatisk når en påstand mislykkes med mindre det blir bedt om det. Dette er nyttig hvis du gjør flere valideringer i et skjema, hvorav bare noen få valideringer direkte har innvirkning på å avgjøre testsakens status.
Her bruker vi en klasse kalt SoftAssert og metoden assertAll () kalles for å kaste alle unntak fanget under utførelse. Når softAssert brukes, utfører den påstand, og hvis et unntak blir funnet, blir det ikke kastet umiddelbart, men fortsetter til vi kaller metoden assertAll () for å kaste alle unntak fanget.
Det er lurt å bruke forskjellige objekter i ‘SoftAssert’ -klassen for hver testtilfelle.
Vurder prøvesaken for å hevde tittelen på siden
I eksemplet nedenfor er det opprettet to objekter i klassen ‘SoftAssert’ som skal brukes i to forskjellige testtilfeller.
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 } }
Konsoll:
Faktisk tittel: Amazon.com: Online shopping for elektronikk, klær, datamaskiner, bøker, DVDer og mer
Påstand 1 utføres
Ikonet vises
Påstand 2 utføres
java.lang.AssertionError: Følgende påstander mislyktes:
forventet (Velkommen til Amazon) men funnet (Amazon.com: Online shopping for elektronikk, klær, datamaskiner, bøker, DVDer og mer)
Fra konsollen kan vi forstå at selv om påstanden var en feil i den første testsaken (verifiser tittel), fortsatte kjøringen til neste linje der uttalelsen - 'Påstand 1 utføres' ble skrevet ut og først etter at softAssert ble kalt, unntaket ble kastet.
Når skal du bruke hard og myk påstand?
Hvis du trenger å utføre alle trinnene i en testsak som skal utføres, selv etter at en påstand mislykkes, og du også vil rapportere unntak for påstand, velger du å bruke Soft Assertions. Å bruke myke påstander i testskriptene dine er en god praksis og en effektiv måte å håndtere testutførelsen på
Hvis du vil at testutførelsen din bare skal fortsette etter at en påstand er bestått ( For eksempel, For å bekrefte gyldig pålogging og bare deretter utføre de andre trinnene), bruk deretter Hard Assertions.
Junit Assert Methods
De forskjellige typene Junit Assert-metoder er forklart nedenfor i detalj.
# 1) assertEquals
assertequals-metoden sammenligner forventet resultat med det faktiske resultatet. Det kaster en AssertionError hvis det forventede resultatet ikke samsvarer med det for det faktiske resultatet, og avslutter programkjøringen på samme måte som assert.
Syntaks:
public static void assertEquals(String expected, String actual)
Eksempel:
Streng forventet = “https://www.google.com”;
Streng actualURL = “https://www.google.com”;
Assert.assertEquals (forventet, actualURL);
# 2) assertTrue
asserttrue-metoden hevder at en spesifisert tilstand er sann.
Det tar inn to parametere, dvs. den ene er meldingen, og den andre er tilstanden som påstanden må brukes mot. Det kaster en AssertionError hvis tilstanden som er overført til assertrue-metoden ikke er oppfylt.
Syntaks:
public static void assertTrue(java.lang.String message, boolean condition)
melding - Melding som skal vises i tilfelle en påstandsfeil.
condition - Tilstand som påstanden må brukes mot.
Eksempel:
Assert.assertTrue ('Assert True test message', true);
# 3) assertFalske
assert false method hevder at en spesifisert tilstand er falsk.
Det tar inn to parametere, dvs. den ene er meldingen og den andre er tilstanden som påstanden må brukes mot. Det kaster en AssertionError hvis tilstanden som overføres til assertfalse-metoden ikke er oppfylt.
Syntaks:
public static void assertFalse(java.lang.String message, boolean condition)
melding - Melding som skal vises i tilfelle en påstandsfeil.
condition - Tilstand som påstanden må brukes mot.
Eksempel:
Assert.assertFalse ('Assert false test message' false);
# 4) assertNull
assert null brukes til å verifisere om det oppgitte objektet inneholder en nullverdi. Det tar et objekt som parameter og kaster en AssertionError hvis det oppgitte objektet ikke har en nullverdi.
Syntaks:
public static void assertNull(Object object)
Eksempel:
DemoClass demo = ny DemoClass ();
Assert.assertNull (demo);
# 5) assertNotNull
assert not null brukes til å verifisere at et gitt objekt ikke har en nullverdi. Det tar et objekt som parameter og kaster en AssertionError hvis det angitte objektet ikke inneholder en nullverdi.
Syntaks:
public static void assertNotNull(Object object)
Eksempel:
DemoClass demo = ny DemoClass ();
Assert.assertNotNull (demo);
# 6) assertSame
hevder samme metode sjekker om to objekter gitt som parametere refererer til det samme objektet. Det kaster en AssertionError hvis de oppgitte objektene ikke refererer til det samme objektet med meldingen.
Vær oppmerksom på at Assert samme sammenligner bare referanser til objekter, men ikke de faktiske verdiene.
Syntaks:
public static void assertSame(String message, Object expected,Object actual)
Eksempel:
DemoClass1 demo1 = ny DemoClass1 ();
DemoClass2 demo2 = ny DemoClass2 ();
Assert.assertSame (“To objekter er like”, demo1, demo2);
# 7) assertNotSame
hevder ikke det samme verifiserer at to objekter ikke er like. Hvis to objekter refererer til det samme objektet, kastes en påstandfeil.
Vær oppmerksom på at påstanden ikke den samme metoden sammenligner referanser til objekter og ikke verdiene som er tilstede i objektene.
Syntaks:
public static void assertNotSame(String message, Object expected, Object actual)
Eksempel:
DemoClass1 demo1 = ny DemoClass1 ();
DemoClass2 demo2 = ny DemoClass2 ();
Assert.assertNotSame (“To objekter er ikke like”, demo1, demo2);
# 8) assertArrayEquals
assert equals verifiserer at to objektsett er like. Hvis begge gruppene har nullverdier, blir de ansett som like. Denne metoden kaster en AssertionError med meldingen gitt hvis begge objektarrayene ikke anses som like.
Syntaks:
public static void assertArrayEquals(String message, Object() expected, Object() actual)
melding - Melding som skal vises i tilfelle en påstandsfeil.
forventet - Array of objects.
actual - Array of objects.
Eksempel:
Streng () forventet = {“Mango”, ”Apple”, ”Banana”}
String () actual = {“Mango”, “Apple”, ”Banana”}
Assert.assertArrayEquals (forventet, faktisk);
TestNG påstandsmetoder
TestNG Assert-metoder vil være de samme som Junit-påstandsmetodene som er diskutert ovenfor. Majoren forskjellen mellom Junit og TestNG påstandsmetoder kommer i veien for å håndtere påstander.
TestNG gir mer avanserte teknikker for påstandshåndtering som avhengige klasser, gruppetester, parametrerte tester osv.
Videoveiledninger om TestNG-påstandsmetoder
Del I
Del II
protokoller som brukes i hvert lag av osi-modellen
Del III
# 1) assertEquals
Denne metoden brukes til å hevde om to dataverdier er like. Vi kan sammenligne verdiene til forskjellige datatyper som streng, boolsk, heltall. osv. Når forventede og faktiske verdier er de samme, går påstanden uten unntak. Hvis de ikke er det, blir en påstandfeil kastet.
Bruk : Denne typen påstand brukes til å verifisere saken når dataene som vises på websiden er som forventet eller i henhold til kravet som er spesifisert.
Syntaks:
Assert.assertEquals(actual,expected)
Parametere:
Strøm - Den faktiske verdien som vi forventer av automatisering.
Forventet –Den forventede verdien.
Eksempel: For å bekrefte det, hvis Amazon-hjemmesiden har en tittel som sier:Amazon.com: Online shopping for elektronikk, klær, datamaskiner, bøker, DVDer og mer ’
@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”); }
Konsoll:
Assert bestått.
PASSERT: VerifyTitle
I eksemplet ovenfor ble to strenger verifisert for like verdier. På samme måte kan likhet mellom andre datatyper som heltall, boolsk osv. Verifiseres.
# 2) assertNotEquals
assertNotEquals brukes til å verifisere om to dataverdier ikke er like. Det er akkurat det motsatte av hvordan assertEquals Assertion fungerer. Når de forventede og faktiske verdiene samsvarer, mislykkes påstanden med unntak og markerer testsaken som “mislyktes”.
Bruk : Dette brukes i tilfeller der vi vil bekrefte at hver data er unik på en webside. For eksempel , en telefonkatalog, hvor ingen 2 telefonnumre er like.
Syntaks:
Assert.assertNotEquals(actual,expected)
Parametere:
Strøm - Den faktiske verdien som vi forventer av automatisering.
Forventet - Den forventede verdien.
Eksempel: For å bekrefte at pinkodene til to forskjellige områder er unike / ikke like.
@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”); }
Konsoll:
To unike PIN-koder er: 600012 && 600001
Assert bestått.
PASSERT: verifiserAssertNotEqual
# 3) assertTrue
assertTrue brukes til å verifisere om en gitt boolsk tilstand er oppfylt. Denne påstanden returnerer sant hvis den spesifiserte tilstanden passerer, hvis ikke, kastes en påstandsfeil.
Syntaks:
Assert.assertTrue(BooleanCondition);
Parametere :
Boolsk tilstand - Betingelse for å sjekke om returtypen er sann.
Bruk :
Eksempel: For å bekrefte, om påloggingsknappen er til stede på hjemmesiden til Amazon.in (hevder for visning av knappen).
Assert.assertTrue(SignIn.isDisplayed());
Her bekrefter den om den boolske tilstanden - SignIn.IsDisplayed () returnerer SANT.
Eksempel: For å kontrollere om det er en knapp på websiden.
@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'); }
Konsoll:
Knappen vises
PASSERT: verifiserAssertTrue
# 4) assertFalse
assertFalse brukes til å verifisere om en gitt boolsk tilstand er falsk. Med andre ord, returtypen til den gitte boolske tilstanden skal være falsk. Denne påstanden går hvis den spesifiserte tilstanden har en FALSE returtype hvis ikke, kastes en påstandsfeil.
Syntaks:
Assert.assertFlase(BooleanCondition);
Parametere :
Boolsk tilstand - Tilstand for å sjekke om returtypen er falsk.
Bruk : Et scenario der det kan brukes er å verifisere om et element ikke er tilstede på en webside etter en bestemt handling.
Eksempel 1: Påloggingsknappen skal ikke vises etter pålogging.
Assert.assertFalse(SignIn.isDisplayed());
Dette hevder at den boolske tilstanden - SignIn.IsDisplayed () returnerer FALSE.
Eksempel 2:
For å verifisere om en div forsvinner etter en bestemt handling. Så her verifiserer vi at div ikke vises, eller med andre ord, hevder for en falsk tilstand på en div som vises.
@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'); }
Konsoll:
Captcha div dimmet ut av skjermen
GÅTT:verifisereAssertFalske
# 5) assertNull
Denne påstanden brukes til å verifisere om et objekt har en null returverdi. Med andre ord sjekker den om resultatet er null. Når objektet er Null, blir påstanden gitt uten unntak.
Syntaks:
AssertNull(Object)
Parametere :
Gjenstand - Enhver dataverdi som har en nullverdi.
Bruk:
Eksempel 1:
Påstå om en streng er 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'); }
Eksempel 2:
Påstå om driververdien er null før du starter kromdriveren.
@Test public void verifyAssertion () throws InterruptedException { WebDriver driver; AssertNull(driver); System.out.println('Driver is null – Assert passed'); }
Her er driverobjektet null siden det ikke er startet. Derfor vil AssertNull (driver) være en suksess da den bekreftet om objektet 'driver' har en nullverdi
# 6) assertNotNull
Denne påstanden forventer en gyldig returtype, annet enn Null-verdien. Med andre ord, det ser etter et objekt hvis det ikke er null. Returtypen kan være boolsk, streng, heltall, liste osv. Når objektet ikke er null, blir Assertion passert, hvis ikke, kastes en AssertionError.
Syntaks:
AssertNotNull(Object)
Parametere :
Gjenstand - Enhver dataverdi som inneholder en hvilken som helst dataverdi.
Bruk:
Eksempel 1: Assert er en streng som inneholder noen data. Det vil si at det ikke er 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'); }
Eksempel 2: Bekreft at driverobjektet ikke er null etter at du har startet FirefoxDriver.
@Test public void verifyAssertion () throws InterruptedException { WebDriver driver; WebDriver driver = new FirefoxDriver(); AssertNotNull(driver); System.out.println('Driver is null – Assert passed'); }
Her blir driverobjektet initiert til Firefox-driver, og derfor har 'driver' -objekt noen verdi siden det ikke er startet. Derfor vil AssertNotNull (driver) være en suksess da den bekreftet om objektet 'driver' ikke har en nullverdi
Klikk her for prøvesaker.
Eksempelprogrammer for påstander
Påstand tilsvarer:
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'); } }
Kode Forklaring:
Ovennevnte kode demonstrerer bruken av AssertEquals-metoden i enkle termer.
- Som diskutert tidligere tar påstand lik to parametere, dvs. forventet resultat og faktisk resultat. Hvis det forventede resultatet ikke samsvarer med det for det faktiske resultatet, vil en påstandsfeil bli kastet, og programutførelsen avsluttes på samme måte som påstanden.
- Ovennevnte kode sammenligner den brukerdefinerte strengverdien med den forventede strengverdien.
- Vær oppmerksom på at i sanntid vil det faktiske resultatet være en brukerdefinert operasjon som verdien vil bli hentet for på kjøretid og overført som en parameter til påstanden er lik metoden.
Påstå sann:
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(); } }
Kode Forklaring:
Ovennevnte kode demonstrerer bruken av assertTrue-metoden.
- Vi overfører først den forventede sidetittelen til en variabel. Vi instantierer deretter et objekt fra Firefox-sjåføren og navigerer det til websiden - https://www.google.com
- Senere, ved hjelp av assertsTrue-metoden, sammenligner vi den åpnede sidetittelen med den for den forventede sidetittelen. Hvis tittelen på den åpnede siden ikke samsvarer med den for den forventede tittelen, vil en påstandsfeil bli kastet og programkjøringen avsluttet ved metoden assertTrue.
- Ovennevnte kode vil bare bli utført når den faktiske sidetittelen samsvarer med den for den forventede sidetittelen.
Påstå usann:
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(); } }
Kode Forklaring:
Ovennevnte kode demonstrerer bruken av assertfalse-metoden.
- Vi overfører først den forventede sidetittelen til en variabel, og deretter instantierer vi et objekt fra Firefox-driveren og navigerer til websiden - https://www.google.com
- Senere, ved hjelp av assertfalse-metoden, sammenligner vi den åpnede sidetittelen med den for den forventede sidetittelen. Hvis tittelen på den åpnede siden stemmer overens med den forventede tittelen, vil en påstandsfeil bli kastet og programutførelsen avsluttes ved den påståtte falske metoden.
- Ovennevnte kode vil bare bli utført når den faktiske sidetittelen ikke samsvarer med den for den forventede sidetittelen.
End to End-kode for påstander
Nedenfor er et eksempel på ende-til-slutt-kode for påstander. Vi har brukt følgende scenario for enkelhets skyld.
Scenario:
- Åpne websiden: https://www.google.com i Firefox-nettleseren.
- Bekreft om den åpnede sidetittelen tilsvarer den for den forventede sidetittelen ved hjelp av asserttrue-metoden.
- I søketekstboksen skriver du inn søkeordet: Selen.
- Trykk på Enter-knappen på tastaturet.
- Kontroller om den åpnede sidetittelen på søkeresultatsiden tilsvarer den for den forventede sidetittelen ved hjelp av assertequals-metoden og assertfalse-metoden.
- Lukk nettleseren.
Eksempelkode:
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(); } }
Kode utgang:
Opprinnelig åpnes Firefox-nettleservinduet med websiden: https://www.google.com. Asserttrue-metoden vil verifisere om tittelen på den åpnede siden samsvarer med den for den forventede sidetittelen - Google.
Skriptet vil legge inn søkeordet som Selenium og trykke på enter-knappen.
Assertfalse og assertequals-metoder sammenlignes hvis den faktiske sidetittelen på søkeresultatskjermen samsvarer med den for den forventede tittelen - ‘selen - Google Search’. Nettleseren lukkes deretter via driver.close-metoden.
Konsollutgang:
Teksten nedenfor vil være konsollutgangen på Eclipse IDE
Unngå vanlige feil når du bruker Assert Class
1. Anta at prosjektet ditt har JUnit, TestNG og python-biblioteker konfigurert
to . Men i skriptet ditt bruker du TestNG-kommentar og ved en feiltakelse velger du Junit Assertion, så blir Assert-klassen din utfaset. Se skjermbilde nedenfor
hva du skal gjøre med en torrentfil
3. Så det er veldig viktig å velge riktig Assert-klasse, for TestNg velg den eneste org.TestNG Assert-klassen
Fire. For Junit velger du org.junit.Assert-klasse og så videre.
5. For å utføre Soft Assertion må vi kalle assertAll () -metoden tvungent
6. Når en påstand mislykkes, vil den kaste påstandsfeil ikke unntaket
Konklusjon
Vi kan avslutte denne artikkelen om påstander i selen med tipsene nedenfor:
- En påstand brukes for å sammenligne det faktiske resultatet av en applikasjon med det forventede resultatet.
- En testsak anses å være bestått bare hvis alle påstandene er oppfylt.
- AssertEquals-metoden sammenligner forventet resultat med det faktiske resultatet. Det kaster en AssertionError hvis det forventede resultatet ikke samsvarer med det for det faktiske resultatet og avslutter programkjøringen på assertequals-metoden.
- AssertTrue-metoden hevder at en spesifisert tilstand er sann. Det kaster en AssertionError hvis tilstanden som er overført til assertrue-metoden ikke er oppfylt.
- AssertFalse-metoden hevder at en spesifisert tilstand er falsk. Det kaster en påstandfeil hvis betingelsen som er gitt for å hevde falsk metode ikke er oppfylt.
- AssertEquals, AssertTrue og AssertFalse metoder er de mest brukte påstandene i Selen.
I kommende opplæring , vil vi diskutere ulike eksempler som brukes i sanntids prosjektscenarier og forstå hvordan påstander brukes i henhold til formålet.
Vi håper denne artikkelen beriket din kunnskap om påstander i selen !!
=> Les gjennom The Easy Selenium Training Series.
Anbefalt lesing
- Introduksjon til JUnit Framework and Its Usage in Selenium Script - Selenium Tutorial # 11
- Hvordan bruke TestNG Framework for å lage selenskript - TestNG Selen Tutorial # 12
- Lær hvordan du bruker TestNG-merknader i selen (med eksempler)
- Agurk Selen Tutorial: Agurk Java Selen WebDriver Integration
- Integrering av selen med JMeter
- Introduksjon til Selenium WebDriver - Selenium Tutorial # 8
- De mest populære testautomatiseringsrammene med fordeler og ulemper ved hver - Selen-veiledning nr. 20
- 30+ beste selenopplæringsprogrammer: Lær selen med virkelige eksempler