Selenium Headless -selaimen testaus: HTMLUnitDriver & PhantomJS

Sisällysluettelo:

Anonim

Selenium Web -ohjain on verkkoautomaatiotyökalu, jonka avulla voit suorittaa testit eri selaimissa. Nämä selaimet voivat olla Internet Explorer, Firefox tai Chrome. Tarvitset vastaavan ohjaimen, jotta voit käyttää tiettyä selainta Seleniumin kanssa.

Koekäytössä Selenium käynnistää vastaavan komentosarjassa kutsutun selaimen ja suorittaa testivaiheet. Näet selaimen ja testin suorituksen toiminnassa.

Mikä on Headless-selain?

Headless-selain on verkkoselain, jolla ei ole graafista käyttöliittymää . Tämä ohjelma toimii aivan kuten selain, mutta ei näytä mitään käyttöliittymää.

Joitakin esimerkkejä Headless-ajureista ovat

  • HtmlYksikkö
  • Aave
  • PhantomJS
  • ZombieJS
  • Watir-verkko-ohjain

Tässä opetusohjelmassa keskitymme HtmlUnitiin ja PhatomJS: ään

HTMLUnitDriver

HTML UnitDriver on WebDriverin kevyin ja nopein toteutettava päätön selain. Se perustuu HtmlUnit-tiedostoon. Se tunnetaan nimellä Headless Browser Driver . Se on sama kuin Chrome, IE tai FireFox-ohjain, mutta sillä ei ole käyttöliittymää, joten testin suorittamista ei voi nähdä näytöllä.

HTML-yksikköohjaimen ominaisuudet

  • Tuki HTTPS- ja HTTP-protokollille
  • HTML-vastausten tuki (linkkien napsauttaminen, lomakkeiden lähettäminen, HTML-asiakirjan DOM-mallin kävely jne.)
  • Tuki evästeille
  • Välityspalvelimen tuki
  • Tuki perus- ja NTLM-todennukselle
  • Erinomainen JavaScript-tuki
  • Tuki lähetystavoille GET ja POST
  • Mahdollisuus muokata palvelimelle lähetettäviä pyyntöotsikoita
  • Mahdollisuus määrittää, aiheuttaako palvelimen epäonnistuneet vastaukset poikkeuksia vai palautetaanko ne vastaavan tyyppisiksi sivuiksi

Vaiheet HTMLUnit-ohjaimen käyttämiseen seleenin kanssa

Vaihe 1) Kopioi Eclipse-ohjelmassa seuraava koodi. Lisää standardi seleenikirjastotiedostot projektiin. Ylimääräisiä purkitiedostoja ei tarvita.

paketti htmldriver;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuonti org.openqa.selenium.WebElement;tuo org.openqa.selenium.htmlunit.HtmlUnitDriver;public class htmlUnitYest {public staattinen void main (String [] argumentoi) {// HTML-yksikköohjaimen uuden ilmentymän luominenWebDriver-ohjain = uusi HtmlUnitDriver ();// Siirry Googleendriver.get ("http://www.google.com");// Etsi hakukenttä sen nimen avullaWebElement-elementti = driver.findElement (By.name ("q"));// Kirjoita hakulausekeelement.sendKeys ("Guru99");// Lähetä kysely. Webdriver etsii lomaketta tekstinsyöttöelementin avulla automaattisesti// Lähetyspainiketta ei tarvitse etsiä / löytääelement.submit ();// Tämä koodi tulostaa sivun otsikonJärjestelmä. out .println ("Sivun otsikko on: + driver.getTitle ());kuljettaja. lopeta ();}}

Vaihe 2) Suorita koodi. Tarkkailija ei ole selainta käynnistetty ja tulokset näytetään konsolissa.

HTML-yksikköohjaimen edut:

  • Koska testaamiseen ei käytetä mitään käyttöliittymää, testit suoritetaan taustalla ilman visuaalisia häiriöitä
  • Verrattuna kaikkiin muihin esiintymiin suoritus on nopeampaa
  • Voit suorittaa testit HtmlUnit-ohjaimen kautta valitsemalla myös muut selainversiot
  • Se on alustasta riippumaton ja helpompi suorittaa useita testejä samanaikaisesti. Ihanteellinen kuormitustestaukseen.

Rajoitukset:

  • Se ei voi jäljitellä muiden selainten JavaScript-käyttäytymistä

PhantomJS

PhantomJS on johdoton selain, jossa on JavaScript-sovellusliittymä. Se on optimaalinen ratkaisu Headless-verkkosivustojen testaamiseen, verkkosivujen käyttämiseen ja käsittelyyn, ja se tulee DOM-vakio-sovellusliittymän mukana.

PhantomJS: n käyttämiseksi Seleniunin kanssa on käytettävä GhostDriveria. GhostDriver on Webdriver Wire -protokollan toteutus yksinkertaisessa JS: ssä PhantomJS: lle.

PhatomJS: n uusin julkaisu on integroinut GhostDriverin, eikä sitä tarvitse asentaa erikseen.

Näin järjestelmä toimii-

Vaiheet seleenin ajamiseksi PhatomJS: n kanssa

Vaihe 1) Tarvitset Eclipse-ohjelman, johon on asennettu seleeni

Vaihe 2) Lataa PhantomJS täältä

Vaihe 3) Pura ladattu kansio Ohjelmatiedostoihin

Vaihe 4) Lataa PhantomJS-ohjain täältä. Lisää purkki projektiisi

Vaihe 5) Liitä seuraava koodi pimennykseen

paketti htmldriver;tuo java.io.File;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuonti org.openqa.selenium.WebElement;tuo org.openqa.selenium.phantomjs.PhantomJSDriver;julkisen luokan fantomi {public staattinen void main (String [] argumentoi) {Tiedostotiedosto = uusi tiedosto ("C: / Program Files / phantomjs-2.0.0-windows / bin / phantomjs.exe");System.setProperty ("phantomjs.binary.path", file.getAbsolutePath ());WebDriver-ohjain = uusi PhantomJSDriver ();driver.get ("http://www.google.com");WebElement-elementti = driver.findElement (By.name ("q"));element.sendKeys ("Guru99");element.submit ();System.out.println ("Sivun otsikko on: + ohjain.getTitle ());kuljettaja. lopeta ();}}

Vaihe 6) Suorita koodi. Tulet huomaamaan, että lähtö näkyy konsolissa, eikä selainta ole käynnistetty.

HUOMAUTUS : Ensimmäisessä ajassa, asetusten perusteella, saatat saada Windows-suojausvaroituksen, jotta PhantomJS voidaan suorittaa. Napsauta Salli käyttö.

Monet organisaatiot käyttävät Phantom.JS: ää eri tarkoituksiin, esimerkiksi

  • Päätön testaus
  • Kuvakaappaus
  • Sivuautomaatio
  • Verkon valvonta
  • Voit tehdä koontinäytön kuvakaappauksia käyttäjilleen
  • Yksikkötestien suorittaminen komentorivillä
  • Työntekijöiden käsikirjojen luominen HTML: stä PDF: ksi
  • Yhdistetty QUnit-testisarjaan

Yhteenveto

Sovelluksen testaamiseksi nopeasti eri selaimissa ja ilman visuaalista keskeytystä käytetään Headless-selaintestausta. Nopeuden, tarkkuuden ja helppokäyttöisten ominaisuuksiensa ansiosta HTML-yksikköohjain ja PhantomJS ovat saamassa suosiota selaimettomissa päätetestauksissa. Noudattamalla yksinkertaisia ​​vaiheita saat tietää kuinka helposti nämä työkalut voidaan integroida muihin työkaluihin ja suorittaa testikoodi.