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.
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.
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
- Nepodudarnost veličine fonta u različitim preglednicima.
- JavaImplementacija skripte može biti različita.
- Može postojati razlika u provjeri valjanosti CSS-a i HTML-a.
- Neki preglednici još uvijek ne podržavaju HTML5.
- Poravnanje stranice i veličina diva.
- Orijentacija slike.
- 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,
Ovaj testing.xml preslikat će se s Testni slučaj koji će izgledati tako
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
rezime
- Cross browser Testing je tehnika testiranja web aplikacija s različitim web preglednicima.
- Selenium može podržati različite vrste alat za testiranje u više preglednika za automatizaciju.
- Selenium može se integrirati sa TestNG za izvođenje testiranja s više preglednika.
- 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