Selaimien välinen testaus käyttäen Selenium web-ajuri
Selaimien välinen testaus käyttäen Selenium
Ristiselaimen testaus on eräänlainen toimintatesti, jolla tarkistetaan, että verkkosovelluksesi toimii odotetulla tavalla eri selaimissa.
Miksi tarvitsemme ristiinselaimen testausta?
Web-pohjaiset sovellukset ovat täysin erilaisia Windows sovellukset. Loppukäyttäjä voi avata verkkosovelluksen millä tahansa selaimella. Jotkut ihmiset esimerkiksi haluavat avata https://twitter.com in Firefox selain, kun muut voivat käyttää Chrome-selain or IE.
Alla olevasta kaaviosta voit havaita sen IE, Twitterin kirjautumisruutu ei näy käyrän kaikissa kulmissa, mutta voimme nähdä sen Chrome-selaimessa.
Meidän on siis varmistettava, että verkkosovellus toimii odotetusti kaikissa suosituissa selaimissa, jotta useammat ihmiset voivat käyttää sitä ja käyttää sitä.
Tämä motiivi voidaan toteuttaa Cross Browserilla Testaus Tuotteen.
Syynä selainongelmat
- Fonttikoko ei täsmää eri selaimissa.
- JavaSkriptin toteutus voi olla erilainen.
- CSS- ja HTML-tarkistusero voi olla olemassa.
- Jotkut selaimet eivät edelleenkään tue HTML5:tä.
- Sivun tasaus ja jaon koko.
- Kuvan suunta.
- Selaimen yhteensopimattomuus käyttöjärjestelmän kanssa. Jne.
Kuinka tehdä ristiinselaimen testaus
Jos käytämme Selenium WebDriver, voimme automatisoida testitapaukset Internet Explorerilla, FirelläFox, Chrome, Safari-selaimet.
Voimme integroida testitapauksia samaan koneeseen eri selaimilla samanaikaisesti TestNG puitteet Selenium WebDriver.
Testing.xml-tiedostosi näyttää tältä,
Tämä testing.xml yhdistää Testitapaus joka tulee näyttämään siltä
Tämä johtuu siitä, että testing.xml:ssä on kaksi testitunnistetta ('ChromeTest','FirefoxTest'), tämä testitapaus suoritetaan kaksi kertaa kahdelle eri selaimelle.
Ensimmäinen testi "ChromeTest" välittää parametrin "browser" arvon muodossa "chrome", joten ChromeDriver suoritetaan. Tämä testitapaus suoritetaan Chrome-selaimella.
Toinen testiFirefoxTesti" välittää parametrin "selain" arvon muodossa "Firefox'niin FirefoxKuljettaja teloitetaan. Tämä testitapaus toimii FiressäFox selain.
Guru99CrossBrowserScript.java
Täydellinen koodi:
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"); } }
testing.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>
HUOMAUTUS: Suorita testi napsauttamalla hiiren kakkospainikkeella testing.xml, Valitse Suorita nimellä ja napsauta TestNG
Yhteenveto
- Selaintestaus on tekniikka verkkosovellusten testaamiseen eri selaimilla.
- Selenium voi tukea erilaisia cross-browser testaus työkalu automaatiota varten.
- Selenium voidaan integroida TestNG suorittaaksesi usean selaimen testauksen.
- Testing.xml:n parametreista voimme välittää selaimen nimen, ja testitapauksessa voimme luoda WebDriver-viittauksen vastaavasti.
Huomautus: Annettu ohjelma on rakennettu ja testattu seleenillä 3.0.1, Chrome 56.0.2924.87, Firefox 47.0.2 & Microsoft Edge 14.14393. Jos ohjelmat antavat virheen, päivitä ajuri
Lataa Selenium Projektitiedostot esittelyä varten tässä opetusohjelmassa