Unakrsno testiranje preglednika pomoću Selenium WebDriver

Sadržaj:

Anonim

Što je ispitivanje više pregledača?

Cross Browser Testing vrsta je funkcionalnog testa kojim se provjerava radi li vaša web aplikacija kako se očekuje u različitim preglednicima.

Zašto nam je potrebno testiranje više pregledača?

Internetske se aplikacije potpuno razlikuju od Windows aplikacija. Krajnji korisnik može u bilo kojem pregledniku otvoriti web aplikaciju. Na primjer, neki ljudi radije otvaraju https://twitter.com u pregledniku Firefox, dok drugi mogu koristiti Chrome preglednik ili IE .

Na donjem dijagramu možete primijetiti da se u IE- u okvir za prijavu na Twitter ne prikazuje krivulju na svim uglovima, ali to možemo vidjeti u pregledniku Chrome.

Stoga moramo osigurati da web aplikacija radi kako se očekuje u svim popularnim preglednicima kako bi joj više ljudi moglo pristupiti i koristiti je.

Ovaj se motiv može ispuniti unakrsnim testiranjem proizvoda u pregledniku.

Razlog Problemi s različitim preglednicima

  1. Neusklađenost veličine fonta u različitim preglednicima.
  2. Implementacija JavaScript-a može biti različita.
  3. Mogu postojati razlike u provjeri CSS-a i HTML-a.
  4. Neki preglednici još uvijek ne podržavaju HTML5.
  5. Poravnanje stranice i veličina div.
  6. Orijentacija slike.
  7. Nekompatibilnost preglednika s OS-om. Itd.

Kako izvesti unakrsno testiranje preglednika

Ako koristimo Selenium WebDriver, testne slučajeve možemo automatizirati pomoću preglednika Internet Explorer, FireFox, Chrome, Safari.

Za istodobno izvršavanje testnih slučajeva s različitim preglednicima na istom stroju možemo integrirati Testng framework sa Selenium WebDriver.

Vaš testing.xml izgledat će tako,

Ovaj test.xml mapirat će se s test slučajem koji će tako izgledati

Ovdje, jer test.xml ima dvije test oznake ('ChromeTest', 'FirefoxTest'), ovaj će se test slučaj izvršiti dva puta za 2 različita preglednika.

Prvo testiranje "ChromeTest" proslijedit će vrijednost parametra "preglednik" kao "chrome" pa će se izvršiti ChromeDriver. Ovaj testni slučaj pokrenut će se u pregledniku Chrome.

Drugi test "FirefoxTest" proslijedit će vrijednost parametra "preglednik" kao "Firefox", tako da će se FirefoxDriver izvršiti. Ovaj test će se izvoditi u pregledniku FireFox.

Potpuni kod:

Guru99CrossBrowserScript.java

paket parallelTest;import java.util.concurrent.TimeUnit;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.WebElement;uvoz org.openqa.selenium.chrome.ChromeDriver;uvoz org.openqa.selenium.edge.EdgeDriver;uvoz org.openqa.selenium.firefox.FirefoxDriver;import org.testng.annotations.BeforeTest;import org.testng.annotations.Parameters;import org.testng.annotations.Test;javna klasa CrossBrowserScript {Upravljački program za WebDriver;/ *** Ova će se funkcija izvršiti prije svake test oznake u testng.xml* @param preglednik* @throws Izuzetak* /@BeforeTest@Parameters ("preglednik")postavljanje javne praznine (pretraživač nizova) baca iznimku {// Provjeri je li parametar proslijeden iz TestNG-a 'firefox'if (browser.equalsIgnoreCase ("firefox")) {// stvorimo instancu firefoxSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");upravljački program = novi FirefoxDriver ();}// Provjera je li parametar proslijeđen kao 'krom'inače ako (browser.equalsIgnoreCase ("chrome")) {// postavlja put do chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// izrada chrome instanceupravljački program = novi ChromeDriver ();}// Provjera je li parametar proslijeđen kao 'Edge'inače ako (browser.equalsIgnoreCase ("Edge")) {// postavlja put do Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// izrada instance Edgeupravljački program = novi EdgeDriver ();}drugo{// Ako niti jedan preglednik nije proslijedio izuzetakbaciti novu iznimku ("Preglednik nije točan");}driver.manage (). timeouts (). implicitnoWait (10, TimeUnit.SECONDS);}@Testpublic void testParameterWithXML () baca InterruptedException {driver.get ("http://demo.guru99.com/V4/");// Pronađi korisničko imeWebElement userName = driver.findElement (By.name ("uid"));// Ispunite korisničko imeuserName.sendKeys ("guru99");// Pronađi lozinkuWebElement lozinka = driver.findElement (By.name ("lozinka"));// Ispunite lozinkupassword.sendKeys ("guru99");}}

testiranje.xml

NAPOMENA: Da biste pokrenuli test, desnom tipkom miša kliknite test.xml , odaberite Pokreni kao i kliknite TestNG

Sažetak

  1. Unakrsno testiranje preglednika tehnika je za testiranje web aplikacija s različitim web preglednicima.
  2. Selen može podržavati različite vrste preglednika za automatizaciju.
  3. Selen se može integrirati s TestNG-om za testiranje više preglednika.
  4. Iz parametara u testing.xml možemo proslijediti ime preglednika, au testnom slučaju možemo stvoriti referencu za WebDriver.

Napomena: zadani je program izrađen i testiran na selenu 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 i Microsoft Edge 14.14393. Ako programi daju pogrešku, ažurirajte upravljački program

U ovom vodiču preuzmite datoteke projekta Selenium za demonstraciju