Hva er Cross Browser Testing?
Cross Browser Testing er en type funksjonstest for å kontrollere at webapplikasjonen din fungerer som forventet i forskjellige nettlesere.
Hvorfor trenger vi testing av tvers av nettlesere?
Nettbaserte applikasjoner er helt forskjellige fra Windows-applikasjoner. En webapplikasjon kan åpnes i hvilken som helst nettleser av sluttbrukeren. For eksempel foretrekker noen å åpne https://twitter.com i Firefox-nettleseren, mens andre kan bruke Chrome-nettleseren eller IE .
I diagrammet nedenfor kan du se at i IE viser ikke påloggingsboksen til Twitter kurve i alle hjørner, men vi kan se den i Chrome-nettleseren.
Så vi må sørge for at webapplikasjonen fungerer som forventet i alle populære nettlesere, slik at flere kan få tilgang til den og bruke den.
Dette motivet kan oppfylles med Cross Browser Testing av produktet.
Årsak Cross Browser problemer
- Uoverensstemmelse mellom skriftstørrelse i forskjellige nettlesere.
- JavaScript-implementering kan være annerledes.
- CSS, HTML-valideringsforskjell kan være der.
- Enkelte nettlesere støtter fortsatt ikke HTML5.
- Sidejustering og div størrelse.
- Bildeorientering.
- Nettleserkompatibilitet med OS. Etc.
Hvordan utføre tvers av nettlesere
Hvis vi bruker Selenium WebDriver, kan vi automatisere testsaker ved hjelp av nettlesere Internet Explorer, FireFox, Chrome og Safari.
For å utføre testtilfeller med forskjellige nettlesere på samme maskin, kan vi integrere Testng-rammeverket med Selen WebDriver.
Testing.xml vil se slik ut,
Denne testing.xml vil kartlegges med Test Case som vil se slik ut
Her fordi testing.xml har to testkoder ('ChromeTest', 'FirefoxTest'), vil denne testsaken utføres to ganger for to forskjellige nettlesere.
Første test 'ChromeTest' vil overføre verdien til parameteren 'nettleser' som 'krom' slik at ChromeDriver vil bli utført. Denne testsaken kjører i Chrome-nettleseren.
Andre test 'FirefoxTest' vil overføre verdien til parameteren 'nettleser' som 'Firefox' slik at FirefoxDriver vil bli utført. Denne testsaken kjører i FireFox-nettleseren.
Komplett kode:
Guru99CrossBrowserScript.java
pakke parallelTest;importere java.util.concurrent.TimeUnit;importer org.openqa.selenium.By;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.WebElement;importer org.openqa.selenium.chrome.ChromeDriver;importer org.openqa.selenium.edge.EdgeDriver;importer org.openqa.selenium.firefox.FirefoxDriver;importer org.testng.annotations.BeforeTest;importer org.testng.annotations.Parameters;importer org.testng.annotations.Test;offentlig klasse CrossBrowserScript {WebDriver driver;/ *** Denne funksjonen kjøres før hver test-tag i testng.xml* @param nettleser* @kaster unntak* /@BeforeTest@Parameters ("nettleser")offentlig tomrom oppsett (streng nettleser) kaster unntak {// Sjekk om parameteren som sendes fra TestNG er 'firefox'hvis (browser.equalsIgnoreCase ("firefox")) {// opprett Firefox-forekomstSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");driver = ny FirefoxDriver ();}// Sjekk om parameteren er sendt som 'krom'annet hvis (browser.equalsIgnoreCase ("krom")) {// sett sti til chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// opprett kromforekomstdriver = ny ChromeDriver ();}// Sjekk om parameteren er sendt som 'Edge'annet hvis (browser.equalsIgnoreCase ("Edge")) {// sett sti til Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// opprett Edge-forekomstdriver = ny EdgeDriver ();}ellers{// Hvis ingen nettlesere bestod kast unntakkaste nytt unntak ("Nettleseren er ikke riktig");}driver.manage (). timeouts (). implicitly Waait (10, TimeUnit.SECONDS);}@Testpublic void testParameterWithXML () kaster InterruptedException {driver.get ("http://demo.guru99.com/V4/");// Finn brukernavnWebElement brukernavn = driver.findElement (By.name ("uid"));// Fyll brukernavnuserName.sendKeys ("guru99");// Finn passordWebElement passord = driver.findElement (By.name ("passord"));// Fyll passordpassword.sendKeys ("guru99");}}
testing.xml
xml version = "1.0" koding = "UTF-8"?>
MERKNAD: For å kjøre testen, høyreklikk på testing.xml, Velg Kjør som og klikk TestNG
Sammendrag
- Testing på tvers av nettlesere er en teknikk for å teste nettapplikasjoner med forskjellige nettlesere.
- Selen kan støtte forskjellige typer nettlesere for automatisering.
- Selen kan integreres med TestNG for å utføre Multi Browser Testing.
- Fra parametere i testing.xml kan vi sende nettlesernavn, og i en testtilfelle kan vi opprette WebDriver-referanse tilsvarende.
Merk: Det gitte programmet ble bygget og testet på selen 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 og Microsoft Edge 14.14393. Hvis programmene gir en feil, vennligst oppdater driveren
Last ned Selenium Project Files for Demo i denne veiledningen