Cross Browser Testing using Selenium WebDriver

Obsah:

Anonim

Co je to Cross Browser Testing?

Cross Browser Testing je typ funkčního testu ke kontrole, zda vaše webová aplikace funguje podle očekávání v různých prohlížečích.

Proč potřebujeme Cross Browser Testing?

Webové aplikace se zcela liší od aplikací pro Windows. Webovou aplikaci může koncový uživatel otevřít v libovolném prohlížeči. Někteří lidé například preferují otevření https://twitter.com v prohlížeči Firefox, zatímco jiní mohou používat prohlížeč Chrome nebo IE .

V níže uvedeném diagramu můžete pozorovat, že v IE nezobrazuje přihlašovací pole Twitteru křivku ve všech rozích, ale vidíme ji v prohlížeči Chrome.

Musíme tedy zajistit, aby webová aplikace fungovala podle očekávání ve všech populárních prohlížečích, aby k ní měl přístup více lidí a mohla ji používat.

Tento motiv lze splnit testováním produktu mezi prohlížeči.

Důvod Problémy s různými prohlížeči

  1. Neshoda velikosti písma v různých prohlížečích.
  2. Implementace JavaScriptu se může lišit.
  3. Rozdíl v validaci CSS a HTML tam může být.
  4. Některé prohlížeče stále nepodporují HTML5.
  5. Zarovnání stránky a velikost div.
  6. Orientace obrazu.
  7. Nekompatibilita prohlížeče s OS. Atd.

Jak provádět testování mezi prohlížeči

Pokud používáme Selenium WebDriver, můžeme automatizovat testovací případy pomocí prohlížečů Internet Explorer, FireFox, Chrome, Safari.

K provádění testovacích případů s různými prohlížeči ve stejném stroji ve stejnou dobu můžeme integrovat rámec Testng se selenovým WebDriverem.

Váš soubor testing.xml bude vypadat takto,

Tento soubor testing.xml bude mapován s testovacím případem, který bude vypadat takto

Protože test.xml má dvě testovací značky ('ChromeTest', 'FirefoxTest'), bude se tento testovací případ provádět dvakrát pro 2 různé prohlížeče.

První test „ChromeTest“ předá hodnotu parametru „prohlížeč“ jako „chrom“, takže bude spuštěn ChromeDriver. Tento testovací případ bude spuštěn v prohlížeči Chrome.

Druhý test „FirefoxTest“ předá hodnotu parametru „prohlížeč“ jako „Firefox“, takže bude spuštěn FirefoxDriver. Tento testovací případ bude spuštěn v prohlížeči FireFox.

Kompletní kód:

Guru99CrossBrowserScript.java

balíček 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;veřejná třída CrossBrowserScript {Ovladač WebDriver;/ *** Tato funkce se spustí před každou testovací značkou v souboru testng.xml* @param prohlížeč* @hodí výjimku* /@BeforeTest@Parameters („prohlížeč“)public void setup (String browser) throws Exception {// Zkontrolujte, zda parametr předaný z TestNG je 'firefox'if (browser.equalsIgnoreCase ("firefox")) {// vytvoření instance firefoxuSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");driver = new FirefoxDriver ();}// Zkontrolujte, zda parametr předán jako ‚chrom 'else if (browser.equalsIgnoreCase ("chrome")) {// nastavit cestu k chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// vytvoření chrome instancedriver = new ChromeDriver ();}// Zkontrolujte, zda parametr předán jako ‚Edge 'else if (browser.equalsIgnoreCase ("Edge")) {// nastavit cestu k Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// vytvoření instance Edgedriver = nový EdgeDriver ();}jiný{// Pokud žádný prohlížeč neprošel výjimkouvyvolá novou výjimku („Prohlížeč není správný“);}driver.manage (). timeouts (). implicitlyWait (10, TimeUnit.SECONDS);}@Testpublic void testParameterWithXML () vyvolá InterruptedException {driver.get ("http://demo.guru99.com/V4/");// Najít uživatelské jménoWebElement userName = driver.findElement (By.name ("uid"));// Vyplňte uživatelské jménouserName.sendKeys ("guru99");// Najít hesloHeslo WebElement = driver.findElement (By.name ("heslo"));// Vyplňte hesloheslo.sendKeys ("guru99");}}

testování.xml




POZNÁMKA: Chcete-li spustit test, klikněte pravým tlačítkem na soubor testing.xml, vyberte Spustit jako a klikněte na TestNG

souhrn

  1. Testování mezi prohlížeči je technika testování webových aplikací s různými webovými prohlížeči.
  2. Selen může pro automatizaci podporovat různé typy prohlížečů.
  3. Selen lze integrovat do TestNG k provádění testování více prohlížečů.
  4. Z parametrů v testing.xml můžeme předat název prohlížeče a v testovacím případě můžeme odpovídajícím způsobem vytvořit odkaz na WebDriver.

Poznámka: Daný program byl sestaven a testován na selenu 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 a Microsoft Edge 14.14393. Pokud programy způsobí chybu, aktualizujte ovladač

Stáhněte si soubory projektu Selenium pro ukázku v tomto výukovém programu