Böngészők közötti tesztelés segítségével Selenium webdriver

Böngészők közötti tesztelés segítségével Selenium

Kereszt böngésző tesztelése egyfajta funkcionális teszt annak ellenőrzésére, hogy webalkalmazása a várt módon működik-e a különböző böngészőkben.

Böngészők közötti tesztelés Selenium

Miért van szükségünk a böngészők közötti tesztelésre?

A webalapú alkalmazások teljesen különböznek a Windows alkalmazások. A webalkalmazást a végfelhasználó bármelyik böngészőben megnyithatja. Például egyesek szívesebben nyitnak https://twitter.com in Firefox böngésző, míg mások használhatják Chrome böngésző or IE.

Az alábbi ábrán láthatja, hogy in IE, a Twitter bejelentkezési mezője nem minden sarkon mutat görbét, de Chrome böngészőben láthatjuk.

Kereszt böngésző tesztelése

Biztosítanunk kell tehát, hogy a webalkalmazás az elvárásoknak megfelelően működjön minden népszerű böngészőben, hogy minél többen hozzáférhessenek és használhassák.

Ez a motívum teljesíthető a Cross Browserrel Tesztelés A terméket.

Böngészési problémák oka

  1. Nem egyezik a betűméret a különböző böngészőkben.
  2. JavaA szkript megvalósítása eltérő lehet.
  3. CSS, HTML érvényesítési különbség lehet.
  4. Néhány böngésző még mindig nem támogatja a HTML5-öt.
  5. Oldaligazítás és div mérete.
  6. Kép tájolása.
  7. A böngésző inkompatibilitása az operációs rendszerrel. Stb.

Böngészők közötti tesztelés

Ha használunk Selenium WebDriver, a teszteseteket Internet Explorer, Fire segítségével tudjuk automatizálniFox, Chrome, Safari böngészők.

A tesztesetek végrehajtásához különböző böngészőkkel ugyanazon a gépen egy időben tudunk integrálni TestNG kerettel Selenium WebDriver.

A testing.xml fájl így fog kinézni,

Kereszt böngésző tesztelése

Ez a testing.xml a következővel lesz leképezve Teszt eset ami úgy fog kinézni

Kereszt böngésző tesztelése

Itt azért, mert a testing.xml két tesztcímkével rendelkezik ("ChromeTest","FirefoxTeszt'), ez a teszteset kétszer fog lefutni 2 különböző böngészőben.

Első teszt A „ChromeTest” a „browser” paraméter értékét „chrome”-ként adja át, így a ChromeDriver végrehajtásra kerül. Ez a teszteset a Chrome böngészőben fog futni.

Második tesztFirefoxA teszt" átadja a "böngésző" paraméter értékét, mint "Firefox' így FirefoxAz illesztőprogramot végrehajtják. Ez a teszteset a Fire-n fog futniFox böngészőt.

Guru99CrossBrowserScript.java

Teljes kód:

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("https://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");
	}
}

tesztelés.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>

JEGYZET: A teszt futtatásához kattintson a jobb gombbal a testing.xml, Válassza a Futtatás másként lehetőséget, majd kattintson a gombra TestNG

Kereszt böngésző tesztelése

Összegzésként

  1. A böngészők közötti tesztelés a webalkalmazások különböző webböngészőkkel való tesztelésének módszere.
  2. Selenium különböző típusokat támogathat böngészők közötti tesztelő eszköz az automatizáláshoz.
  3. Selenium -vel integrálható TestNG többböngészős tesztelés végrehajtásához.
  4. A testing.xml-ben lévő paraméterekből böngészőnevet adhatunk át, tesztesetben ennek megfelelően WebDriver referenciát hozhatunk létre.

Jegyzet: Az adott program szelén 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 & Microsoft Edge 14.14393. Ha a programok hibát jeleznek, frissítse az illesztőprogramot

Töltse le a Selenium Projektfájlok a bemutatóhoz ebben az oktatóanyagban