Kryžminio naršyklės testavimas naudojant „Selenium WebDriver“

Turinys:

Anonim

Kas yra kryžminės naršyklės testavimas?

Kryžminio naršyklės testavimas yra tam tikro tipo funkcinis testas, skirtas patikrinti, ar jūsų žiniatinklio programa veikia taip, kaip tikėtasi skirtingose ​​naršyklėse.

Kodėl mums reikia kryžminio naršyklės testavimo?

Žiniatinklio programos visiškai skiriasi nuo „Windows“ programų. Galutinis vartotojas gali atidaryti žiniatinklio programą bet kurioje naršyklėje. Pavyzdžiui, kai kurie žmonės nori atidaryti https://twitter.comFirefox“ naršyklėje, o kiti gali naudoti „ Chrome“ naršyklę arba IE .

Žemiau pateiktoje diagramoje galite pastebėti, kad IE „ Twitter“ prisijungimo laukelyje kreivė nerodoma visuose kampuose, tačiau mes galime tai pamatyti „Chrome“ naršyklėje.

Taigi turime užtikrinti, kad žiniatinklio programa veiks taip, kaip tikimasi visose populiariose naršyklėse, kad daugiau žmonių galėtų ją pasiekti ir ja naudotis.

Šį motyvą galima įgyvendinti naudojant „Cross Browser“ produkto testavimą.

Priežastis kryžminės naršyklės problemos

  1. Šrifto dydis neatitinka skirtingų naršyklių.
  2. „JavaScript“ diegimas gali būti skirtingas.
  3. CSS, HTML patvirtinimo skirtumas gali būti.
  4. Kai kuri naršyklė vis dar nepalaiko HTML5.
  5. Puslapio lygiavimas ir div dydis.
  6. Vaizdo orientacija.
  7. Naršyklės nesuderinamumas su OS. Ir kt.

Kaip atlikti kryžminio naršyklės testavimą

Jei mes naudojame „Selenium WebDriver“, mes galime automatizuoti bandymo atvejus naudodami „Internet Explorer“, „Firefox“, „Chrome“, „Safari“ naršykles.

Norėdami vienu metu atlikti bandomuosius veiksmus su skirtingomis naršyklėmis toje pačioje mašinoje, mes galime integruoti „Testng“ sistemą su „Selenium WebDriver“.

Jūsų testing.xml atrodys taip,

Šis testing.xml bus susietas su bandomuoju atveju, kuris taip atrodys

Kadangi „testing.xml“ yra dvi bandomosios žymos („ChromeTest“, „FirefoxTest“), šis bandymo atvejis bus vykdomas du kartus dviem skirtingoms naršyklėms.

Pirmasis bandymas „ChromeTest“ perduos parametro „naršyklė“ reikšmę kaip „chromas“, todėl bus vykdoma „ChromeDriver“. Šis bandomasis atvejis bus vykdomas „Chrome“ naršyklėje.

Antrasis bandymas „FirefoxTest“ perduos parametro „browser“ reikšmę kaip „Firefox“, taigi bus vykdoma „FirefoxDriver“. Šis bandomasis atvejis bus vykdomas „Firefox“ naršyklėje.

Pilnas kodas:

„Guru99CrossBrowserScript.java“

paketas parallelTest;importuoti java.util.concurrent.TimeUnit;importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.WebElement;importuoti org.openqa.selenium.chrome.ChromeDriver;importuoti org.openqa.selenium.edge.EdgeDriver;importuoti org.openqa.selenium.firefox.FirefoxDriver;importuoti org.testng.annotations.BeforeTest;importuoti org.testng.annotations.Parametrai;importuoti org.testng.annotations.Test;viešosios klasės „CrossBrowserScript“ {„WebDriver“ tvarkyklė;/ *** Ši funkcija bus vykdoma prieš kiekvieną bandymo žymą, esančią testng.xml* @param naršyklė* @ throws išimtis* /@BeforeTest@Parameters („naršyklė“)viešo tuštumo nustatymas (naršyklė „String“) išmeta išimtį {// Patikrinkite, ar iš TestNG pateiktas parametras yra „Firefox“jei (browser.equalsIgnoreCase ("Firefox")) {// sukurti „Firefox“ egzemplioriųSystem.setProperty ("webdriver.gecko.driver", ". \\ geckodriver.exe");tvarkyklė = new FirefoxDriver ();}// Patikrinkite, ar parametras perduotas kaip „chrome“else if (naršyklė.equalsIgnoreCase ("chromas")) {// nustatykite kelią į chromedriver.exeSystem.setProperty ("webdriver.chrome.driver", ". \\ chromedriver.exe");// sukurti chromo egzemplioriųtvarkyklė = naujas „ChromeDriver“ ();}// Patikrinkite, ar parametras perduotas kaip „kraštas“else if (naršyklė.equalsIgnoreCase ("kraštas")) {// nustatykite kelią į „Edge.exe“System.setProperty ("webdriver.edge.driver", ". \\ MicrosoftWebDriver.exe");// sukurti „Edge“ egzemplioriųtvarkyklė = naujas „EdgeDriver“ ();}Kitas{// Jei nė viena naršyklė neišlaikė metimo išimtiesmesti naują išimtį („Naršyklė netiksli“);}vairuotojas.tvarkyti (). skirtasis laikas (). implicitlyWait (10, TimeUnit.SECONDS);}@Testpublic void testParameterWithXML () meta InterruptedException {driver.get („http://demo.guru99.com/V4/“);// Raskite vartotojo vardą„WebElement“ vartotojo vardas = driver.findElement (By.name („uid“));// Užpildykite vartotojo vardąvartotojoVardas.sendKeys ("guru99");// Rasti slaptažodį„WebElement“ slaptažodis = driver.findElement (By.name („slaptažodis“));// Užpildykite slaptažodįpassword.sendKeys ("guru99");}}

testavimas.xml




PASTABA: Norėdami paleisti testą, dešiniuoju pelės mygtuku spustelėkite testing.xml, pasirinkite Vykdyti kaip ir spustelėkite TestNG

Santrauka

  1. Kryžminės naršyklės testavimas yra metodas, skirtas išbandyti žiniatinklio programas su skirtingomis interneto naršyklėmis.
  2. „Selenium“ gali palaikyti įvairaus tipo naršykles automatizavimui.
  3. Selenas gali būti integruotas su „TestNG“, kad būtų galima atlikti kelių naršyklių testavimą.
  4. Iš parametrų testing.xml galime perduoti naršyklės pavadinimą, o bandomuoju atveju - atitinkamai sukurti „WebDriver“ nuorodą.

Pastaba: Pateikta programa buvo sukurta ir išbandyta naudojant seleną 3.0.1, „Chrome 56.0.2924.87“, „Firefox 47.0.2“ ir „Microsoft Edge 14.14393“. Jei programos pateikia klaidą, atnaujinkite tvarkyklę

Šioje pamokoje atsisiųskite „Selenium“ projekto failus, skirtus demonstracijai