Cross Browser Testing ved hjælp af Selenium WebDriver

Indholdsfortegnelse:

Anonim

Hvad er Cross Browser Testing?

Cross Browser Testing er en type funktionel test for at kontrollere, at din webapplikation fungerer som forventet i forskellige browsere.

Hvorfor har vi brug for Cross Browser-test?

Webbaserede applikationer adskiller sig helt fra Windows-applikationer. En webapplikation kan åbnes i enhver browser af slutbrugeren. For eksempel foretrækker nogle mennesker at åbne https://twitter.com i Firefox-browseren, mens andre kan bruge Chrome-browseren eller IE .

I nedenstående diagram kan du se, at i IE viser loginfeltet på Twitter ikke kurve i alle hjørner, men vi kan se det i Chrome-browseren.

Så vi er nødt til at sikre, at webapplikationen fungerer som forventet i alle populære browsere, så flere mennesker kan få adgang til den og bruge den.

Dette motiv kan opfyldes med Cross Browser-test af produktet.

Årsag Cross Browser problemer

  1. Uoverensstemmelse mellem skriftstørrelse i forskellige browsere.
  2. JavaScript-implementering kan være anderledes.
  3. CSS, HTML validering forskel kan være der.
  4. Nogle browsere understøtter stadig ikke HTML5.
  5. Sidejustering og div størrelse.
  6. Billedretning.
  7. Browser uforenelighed med OS. Etc.

Sådan udføres test på tværs af browsere

Hvis vi bruger Selenium WebDriver, kan vi automatisere testsager ved hjælp af Internet Explorer, FireFox, Chrome, Safari-browsere.

For at udføre testsager med forskellige browsere på samme maskine på samme tid kan vi integrere Testng-rammen med Selenium WebDriver.

Din testing.xml vil se sådan ud,

Denne testing.xml kortlægges med testkassen, der ser sådan ud

Her, fordi test.xml har to testkoder ('ChromeTest', 'FirefoxTest'), udføres denne test sag to gange for 2 forskellige browsere.

Første test 'ChromeTest' overfører værdien af ​​parameteren 'browser' som 'krom', så ChromeDriver vil blive udført. Denne test sag kører i Chrome-browseren.

Anden test 'FirefoxTest' overfører værdien af ​​parameteren 'browser' som 'Firefox', så FirefoxDriver vil blive udført. Denne test sag kører på FireFox browser.

Komplet kode:

Guru99CrossBrowserScript.java

pakke parallelTest;import java.util.concurrent.TimeUnit;importer org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.edge.EdgeDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.testng.annotations.BeforeTest;import org.testng.annotations.Parameters;import org.testng.annotations.Test;offentlig klasse CrossBrowserScript {WebDriver driver;/ *** Denne funktion udføres før hvert testtag i testng.xml* @param browser* @kaster undtagelse* /@BeforeTest@Parameters ("browser")offentlig tomrumsopsætning (strengbrowser) kaster undtagelse {// Kontroller, om parameter sendt fra TestNG er 'firefox'hvis (browser.equalsIgnoreCase ("firefox")) {// Opret Firefox-instansSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");driver = ny FirefoxDriver ();}// Kontroller, om parameteren er sendt som 'krom'ellers hvis (browser.equalsIgnoreCase ("krom")) {// sæt sti til chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// opret krominstansdriver = ny ChromeDriver ();}// Kontroller, om parameteren er sendt som 'Edge'ellers hvis (browser.equalsIgnoreCase ("Edge")) {// sæt sti til Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// Opret Edge-forekomstdriver = ny EdgeDriver ();}andet{// Hvis ingen browser bestod kast undtagelsesmid ny undtagelse ("Browser er ikke korrekt");}driver.manage (). timeouts (). implicitWait (10, TimeUnit.SECONDS);}@Prøvepublic void testParameterWithXML () kaster InterruptedException {driver.get ("http://demo.guru99.com/V4/");// Find brugernavnWebElement brugernavn = driver.findElement (By.navn ("uid"));// Udfyld brugernavnuserName.sendKeys ("guru99");// Find adgangskodeWebElement-adgangskode = driver.findElement (efter.navn ("adgangskode"));// Udfyld adgangskodepassword.sendKeys ("guru99");}}

testing.xml




BEMÆRK: For at køre testen skal du højreklikke på test.xml, vælge Kør som og klikke på TestNG

Resumé

  1. Test af krydsbrowser er en teknik til at teste webapplikation med forskellige webbrowsere.
  2. Selen kan understøtte forskellige typer browsere til automatisering.
  3. Selen kan integreres med TestNG for at udføre Multi Browser Testing.
  4. Fra parametre i testing.xml kan vi videregive browserens navn, og i en testtilfælde kan vi oprette WebDriver-reference i overensstemmelse hermed.

Bemærk: Det givne program blev bygget og testet på selen 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 og Microsoft Edge 14.14393. Hvis programmerne giver en fejl, skal du opdatere driveren

Download Selenium-projektfiler til demo i denne vejledning