Čo je to Cross Browser Testing?
Cross Browser Testing je typ funkčného testu na kontrolu, či vaša webová aplikácia funguje podľa očakávaní v rôznych prehľadávačoch.
Prečo potrebujeme testovanie viacerých prehľadávačov?
Webové aplikácie sa úplne líšia od aplikácií pre Windows. Koncový používateľ môže otvoriť webovú aplikáciu v ľubovoľnom prehliadači. Niektorí ľudia napríklad uprednostňujú otvorenie stránky https://twitter.com v prehliadači Firefox, zatiaľ čo iní môžu používať prehliadač Chrome alebo IE .
Na diagrame nižšie môžete vidieť, že v prehliadači IE prihlasovacie pole Twitteru nezobrazuje krivku vo všetkých rohoch, ale môžeme ho vidieť v prehliadači Chrome.
Musíme teda zabezpečiť, aby webová aplikácia fungovala podľa očakávaní vo všetkých populárnych prehľadávačoch, aby k nej malo prístup viac ľudí a mohla ju používať.
Tento motív je možné splniť testom produktu Cross Browser.
Dôvod Problémy s rôznymi prehliadačmi
- Nezhoda veľkosti písma v rôznych prehliadačoch.
- Implementácia JavaScriptu môže byť odlišná.
- Môže tu byť rozdiel v overení CSS a HTML.
- Niektoré prehliadače stále nepodporujú formát HTML5.
- Zarovnanie stránky a veľkosť div.
- Orientácia obrázka.
- Nekompatibilita prehliadača s OS. Atď.
Ako vykonať testovanie medzi prehliadačmi
Pokiaľ používame Selenium WebDriver, môžeme testovacie prípady automatizovať pomocou prehliadačov Internet Explorer, FireFox, Chrome, Safari.
Na vykonávanie testovacích prípadov s rôznymi prehliadačmi v rovnakom stroji súčasne môžeme integrovať rámec Testng so selénom WebDriver.
Váš súbor testing.xml bude vyzerať takto,
Tento soubor testing.xml sa bude mapovať s testovacím prípadom, ktorý bude vyzerať takto
Pretože testing.xml má dve testovacie značky („ChromeTest“, „FirefoxTest“), tento testovací prípad sa vykoná dvakrát pre 2 rôzne prehliadače.
Prvý test „ChromeTest“ odovzdá hodnotu parametra „prehliadač“ ako „chróm“, aby sa spustil ChromeDriver. Tento testovací prípad sa spustí v prehliadači Chrome.
Druhý test „FirefoxTest“ odovzdá hodnotu parametra „prehliadač“ ako „Firefox“, takže sa spustí FirefoxDriver. Tento testovací prípad bude bežať v prehliadač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;verejná trieda CrossBrowserScript {Ovládač WebDriver;/ *** Táto funkcia sa spustí pred každou testovacou značkou v testng.xml* @param prehliadač* @hodí výnimku* /@BeforeTest@Parameters („prehliadač“)nastavenie public void (reťazcový prehliadač) vyvolá výnimku {// Skontrolujte, či je parameter odovzdaný z TestNG „firefox“if (browser.equalsIgnoreCase ("firefox")) {// vytvorenie inštancie firefoxuSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");ovládač = nový FirefoxDriver ();}// Skontrolujte, či parameter prešiel ako „chróm“else if (browser.equalsIgnoreCase ("chrome")) {// nastaviť cestu k chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// vytvorenie chrómovej inštancieovládač = nový ChromeDriver ();}// Skontrolujte, či parameter prešiel ako „Edge“else if (browser.equalsIgnoreCase ("Edge")) {// nastaviť cestu k Edge.exeSystem.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// vytvorenie inštancie Edgevodič = nový EdgeDriver ();}else {// Ak neprešiel žiadny prehliadač, hodí výnimkavyvolať novú výnimku („Prehliadač nie je správny“);}driver.manage (). timeouts (). implicitlyWait (10, TimeUnit.SECONDS);}@Testpublic void testParameterWithXML () hodí InterruptedException {driver.get ("http://demo.guru99.com/V4/");// Nájsť užívateľské menoWebElement userName = driver.findElement (By.name ("uid"));// Vyplňte meno používateľauserName.sendKeys ("guru99");// Nájsť hesloHeslo WebElement = driver.findElement (By.name ("heslo"));// Vyplňte hesloheslo.sendKeys ("guru99");}}
testovanie.xml
xml version = "1.0" encoding = "UTF-8"?>
POZNÁMKA: Ak chcete spustiť test, kliknite pravým tlačidlom myši na soubor testing.xml , vyberte príkaz Spustiť ako a kliknite na položku TestNG
Zhrnutie
- Testovanie medzi prehliadačmi je technika testovania webových aplikácií s rôznymi webovými prehľadávačmi.
- Selén môže pre automatizáciu podporovať rôzne typy prehľadávačov.
- Selén možno integrovať do TestNG na vykonávanie testovania viacerých prehľadávačov.
- Z parametrov v testing.xml môžeme odovzdať názov prehliadača a v testovacom prípade môžeme podľa toho vytvoriť referenciu na WebDriver.
Poznámka: Daný program bol zostavený a testovaný na seléne 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 a Microsoft Edge 14.14393. Ak sa v programoch vyskytne chyba, aktualizujte ovládač
Stiahnite si súbory projektu Selenium pre ukážku v tomto výučbe