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.
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.
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
- Nem egyezik a betűméret a különböző böngészőkben.
- JavaA szkript megvalósítása eltérő lehet.
- CSS, HTML érvényesítési különbség lehet.
- Néhány böngésző még mindig nem támogatja a HTML5-öt.
- Oldaligazítás és div mérete.
- Kép tájolása.
- 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,
Ez a testing.xml a következővel lesz leképezve Teszt eset ami úgy fog kinézni
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
Összegzésként
- 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.
- Selenium különböző típusokat támogathat böngészők közötti tesztelő eszköz az automatizáláshoz.
- Selenium -vel integrálható TestNG többböngészős tesztelés végrehajtásához.
- 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