Vad är Cross Browser Testing?
Cross Browser Testing är en typ av funktionstest för att kontrollera att din webbapplikation fungerar som förväntat i olika webbläsare.
Varför behöver vi testa webbläsare?
Webbaserade applikationer skiljer sig helt från Windows-applikationer. En webbapplikation kan öppnas i vilken webbläsare som helst av slutanvändaren. Till exempel föredrar vissa människor att öppna https://twitter.com i Firefox-webbläsaren, medan andra kan använda Chrome-webbläsaren eller IE .
I diagrammet nedan kan du se att i IE är inloggningsrutan på Twitter inte visar kurvan vid alla hörn, men vi kan se det i Chrome.
Så vi måste se till att webbapplikationen fungerar som förväntat i alla populära webbläsare så att fler kan komma åt den och använda den.
Detta motiv kan uppfyllas med Cross Browser Testing av produkten.
Orsak över webbläsarproblem
- Olika teckenstorlekar i olika webbläsare.
- JavaScript-implementering kan vara annorlunda.
- CSS, HTML-valideringsskillnad kan finnas där.
- Vissa webbläsare stöder fortfarande inte HTML5.
- Sidjustering och div-storlek.
- Bildorientering.
- Webbläsarens inkompatibilitet med OS. Etc.
Hur man utför Cross Browser Testing
Om vi använder Selenium WebDriver kan vi automatisera testfall med webbläsare Internet Explorer, FireFox, Chrome och Safari.
För att utföra testfall med olika webbläsare i samma maskin samtidigt kan vi integrera Testng-ramverk med Selenium WebDriver.
Din testing.xml kommer att se ut så,
Denna testing.xml kartläggs med testfallet som ser ut så
Här eftersom test.xml har två testtaggar ('ChromeTest', 'FirefoxTest'), kommer detta testfall att köras två gånger för två olika webbläsare.
Första testet 'ChromeTest' skickar värdet för parametern 'webbläsare' som 'krom' så ChromeDriver kommer att köras. Detta testfall körs i Chrome-webbläsaren.
Andra testet 'FirefoxTest' skickar värdet på parametern 'webbläsare' som 'Firefox' så FirefoxDriver kommer att köras. Detta testfall kommer att köras i FireFox-webbläsaren.
Komplett kod:
Guru99CrossBrowserScript.java
paketet parallelTest;importera java.util.concurrent.TimeUnit;importera org.openqa.selenium.By;importera org.openqa.selenium.WebDriver;importera org.openqa.selenium.WebElement;importera org.openqa.selenium.chrome.ChromeDriver;importera org.openqa.selenium.edge.EdgeDriver;importera org.openqa.selenium.firefox.FirefoxDriver;importera org.testng.annotations.BeforeTest;importera org.testng.annotations.Parameters;importera org.testng.annotations.Test;offentlig klass CrossBrowserScript {WebDriver-drivrutin;/ *** Den här funktionen körs före varje testtagg i testng.xml* @param webbläsare* @ kastar undantag* /@BeforeTest@Parameters ("webbläsare")allmän ogiltig installation (strängwebbläsare) ger undantag {// Kontrollera om parametern som skickats från TestNG är 'firefox'if (browser.equalsIgnoreCase ("firefox")) {// skapa Firefox-instansSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");drivrutin = ny FirefoxDriver ();}// Kontrollera om parametern passeras som 'krom'annars om (browser.equalsIgnoreCase ("krom")) {// ange sökväg till chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// skapa krominstansdrivrutin = ny ChromeDriver ();}// Kontrollera om parametern passeras som 'Edge'annars om (browser.equalsIgnoreCase ("Edge")) {// ange sökväg till Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// skapa Edge-instansdrivrutin = ny EdgeDriver ();}annan{// Om ingen webbläsare har godkänts kasta undantagkasta nytt undantag ("Webbläsaren är inte korrekt");}driver.manage (). timeouts (). implicitlyWait (10, TimeUnit.SECONDS);}@Testapublic void testParameterWithXML () kastar InterruptedException {driver.get ("http://demo.guru99.com/V4/");// Hitta användarnamnWebElement användarnamn = driver.findElement (By.name ("uid"));// Fyll i användarnamnuserName.sendKeys ("guru99");// Hitta lösenordWebElement-lösenord = driver.findElement (By.name ("lösenord"));// Fyll lösenordpassword.sendKeys ("guru99");}}
testing.xml
xml version = "1.0" kodning = "UTF-8"?>
OBS! För att köra testet, högerklicka på test.xml, välj Kör som och klicka på TestNG
Sammanfattning
- Cross browser Testing är en teknik för att testa webbapplikationer med olika webbläsare.
- Selen kan stödja olika typer av webbläsare för automatisering.
- Selen kan integreras med TestNG för att utföra testning av flera webbläsare.
- Från parametrarna i testing.xml kan vi skicka webbläsarens namn, och i ett testfall kan vi skapa WebDriver-referens i enlighet med detta.
Obs: Det givna programmet byggdes och testades på selen 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 och Microsoft Edge 14.14393. Om programmen ger ett fel, vänligen uppdatera drivrutinen
Ladda ner Selenium-projektfilerna för demo i den här självstudien