Korištenje unakrsnog testiranja preglednika Selenium webdriver

Korištenje unakrsnog testiranja preglednika Selenium

Ispitivanje pretraživača je vrsta funkcionalnog testa za provjeru radi li vaša web aplikacija kako se očekuje u različitim preglednicima.

Korištenje testiranja u različitim preglednicima Selenium

Zašto nam je potrebno unakrsno testiranje preglednika?

Web-bazirane aplikacije potpuno su drugačije od Windows aplikacije. Web aplikaciju krajnji korisnik može otvoriti u bilo kojem pregledniku. Na primjer, neki ljudi radije otvaraju https://twitter.com in Firefox preglednik, dok drugi mogu koristiti Preglednik Chrome or IE.

Na donjem dijagramu možete vidjeti da u IE, okvir za prijavu na Twitteru ne pokazuje zakrivljenost u svim kutovima, ali to možemo vidjeti u pregledniku Chrome.

Ispitivanje pretraživača

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 motiv može se ispuniti s Cross Browserom Ispitivanje Proizvoda.

Razlog Problemi s različitim preglednicima

  1. Nepodudarnost veličine fonta u različitim preglednicima.
  2. JavaImplementacija skripte može biti različita.
  3. Može postojati razlika u provjeri valjanosti CSS-a i HTML-a.
  4. Neki preglednici još uvijek ne podržavaju HTML5.
  5. Poravnanje stranice i veličina diva.
  6. Orijentacija slike.
  7. Nekompatibilnost preglednika s OS-om. itd.

Kako napraviti unakrsno testiranje preglednika

Ako koristimo Selenium WebDriver, možemo automatizirati testne slučajeve koristeći Internet Explorer, FireFox, Chrome, Safari preglednici.

Za izvođenje testnih slučajeva s različitim preglednicima na istom stroju u isto vrijeme možemo se integrirati TestNG okvir sa Selenium WebDriver.

Vaš testing.xml će izgledati ovako,

Ispitivanje pretraživača

Ovaj testing.xml preslikat će se s Testni slučaj koji će izgledati tako

Ispitivanje pretraživača

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

Prvi test 'ChromeTest' proslijedit će vrijednost parametra 'browser' kao 'chrome' tako da će se ChromeDriver izvršiti. Ovaj test će se izvoditi u pregledniku Chrome.

Drugi test 'FirefoxTest' će proslijediti vrijednost parametra 'browser' kao 'Firefox'pa FirefoxVozač će biti pogubljen. Ovaj testni slučaj će se izvoditi na FireFox preglednik.

Guru99CrossBrowserScript.java

Kompletan kod:

package parallelTest;

import java.util.concurrent.TimeUnit;
import 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;

public class CrossBrowserScript {

	WebDriver driver;

	/**
	 * This function will execute before each Test tag in testng.xml
	 * @param browser
	 * @throws Exception
	 */
	@BeforeTest
	@Parameters("browser")
	public void setup(String browser) throws Exception{
		//Check if parameter passed from TestNG is 'firefox'
		if(browser.equalsIgnoreCase("firefox")){
		//create firefox instance
			System.setProperty("webdriver.gecko.driver", ".\\geckodriver.exe");
			driver = new FirefoxDriver();
		}
		//Check if parameter passed as 'chrome'
		else if(browser.equalsIgnoreCase("chrome")){
			//set path to chromedriver.exe
			System.setProperty("webdriver.chrome.driver",".\\chromedriver.exe");
			//create chrome instance
			driver = new ChromeDriver();
		}
		//Check if parameter passed as 'Edge'
				else if(browser.equalsIgnoreCase("Edge")){
					//set path to Edge.exe
					System.setProperty("webdriver.edge.driver",".\\MicrosoftWebDriver.exe");
					//create Edge instance
					driver = new EdgeDriver();
				}
		else{
			//If no browser passed throw exception
			throw new Exception("Browser is not correct");
		}
		driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
	}
	
	@Test
	public void testParameterWithXML() throws InterruptedException{
		driver.get("http://demo.guru99.com/V4/");
		//Find user name
		WebElement userName = driver.findElement(By.name("uid"));
		//Fill user name
		userName.sendKeys("guru99");
		//Find password
		WebElement password = driver.findElement(By.name("password"));
		//Fill password
		password.sendKeys("guru99");
	}
}

testiranje.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name="TestSuite" thread-count="2" parallel="tests" >

<test name="ChromeTest">

<parameter name="browser" value="Chrome" />

<classes>

<class name="parallelTest.CrossBrowserScript">

</class>

</classes>

</test>

<test name="FirefoxTest">

<parameter name="browser" value="Firefox" />

<classes>

<class name="parallelTest.CrossBrowserScript">

</class>

</classes>

</test>

<test name="EdgeTest">

<parameter name="browser" value="Edge" />

<classes>

<class name="parallelTest.CrossBrowserScript">

</class>

</classes>

</test>

</suite>

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

Ispitivanje pretraživača

rezime

  1. Cross browser Testing je tehnika testiranja web aplikacija s različitim web preglednicima.
  2. Selenium može podržati različite vrste alat za testiranje u više preglednika za automatizaciju.
  3. Selenium može se integrirati sa TestNG za izvođenje testiranja s više preglednika.
  4. Iz parametara u testing.xml možemo proslijediti naziv preglednika, au testnom slučaju možemo u skladu s tim stvoriti referencu WebDrivera.

Bilješka: Navedeni program izgrađen je i testiran na selenu 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 & Microsoft Edge 14.14393. Ako programi daju pogrešku, ažurirajte upravljački program

Preuzimanje Selenium Projektne datoteke za demo u ovom vodiču