Szelén fej nélküli böngésző tesztelése: HTMLUnitDriver & PhantomJS

A Selenium Web driver egy web-automatizáló eszköz, amely lehetővé teszi a tesztek futtatását különböző böngészőkön. Ezek a böngészők lehetnek Internet Explorer, Firefox vagy Chrome. Egy adott böngésző Selenium használatához megfelelő illesztőprogramra van szükség.

Tesztfuttatáskor a Selenium elindítja a megfelelő böngészőt, amelyet parancsfájlként hívnak meg, és végrehajtja a tesztlépéseket. Láthatja a böngészőt és a teszt végrehajtását.

Mi a fej nélküli böngésző?

A fej nélküli böngésző grafikus felhasználói felület nélküli webböngésző . Ez a program ugyanúgy fog viselkedni, mint egy böngésző, de nem mutat GUI-t.

A fej nélküli meghajtók példái közé tartozik

  • HtmlUnit
  • Szellem
  • PhantomJS
  • ZombieJS
  • Watir-webdriver

Ebben az oktatóanyagban a HtmlUnit és a PhatomJS-re fogunk koncentrálni

HTMLUnitDriver

A HTML UnitDriver a legkönnyebb és leggyorsabban megvalósítható fej nélküli böngésző a WebDriver számára. HtmlUnit alapú. Fej nélküli böngésző-illesztőprogram néven ismert . Ugyanaz, mint a Chrome, az IE vagy a FireFox illesztőprogram, de nincs GUI-ja, így nem lehet látni a teszt végrehajtását a képernyőn.

A HTML egység illesztőprogramjának jellemzői

  • A HTTPS és a HTTP protokollok támogatása
  • HTML válaszok támogatása (linkekre kattintás, űrlapok beküldése, a HTML dokumentum DOM modelljének járása stb.)
  • A sütik támogatása
  • Proxy szerver támogatás
  • Alap- és NTLM-hitelesítés támogatása
  • Kiváló JavaScript támogatás
  • A GET és a POST benyújtási módszerek támogatása
  • A szerverre küldött kérelemfejlécek testreszabása
  • Képes meghatározni, hogy a szerver hibás válaszai kivételt képeznek-e, vagy a megfelelő típusú oldalakként kell-e visszaküldeni őket

A HTMLUnit illesztőprogram és a szelén használatának lépései

1. lépés: Az Eclipse programban másolja a következő kódot. Adja hozzá a standard szelén könyvtárfájlokat a projekthez. Nincs szükség további jar fájlokra.

csomag htmldriver;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.htmlunit.HtmlUnitDriver;public class htmlUnitYest {public static void main (String [] érvel) {// A HTML egység illesztőprogramjának új példányának létrehozásaWebDriver illesztőprogram = new HtmlUnitDriver ();// Navigáljon a Google-radriver.get ("http://www.google.com");// Keresse meg a keresőmezőt a neve alapjánWebElement elem = driver.findElement (By.name ("q"));// Írjon be egy keresési lekérdezéstelem.sendKeys ("Guru99");// Küldje el a lekérdezést. A Webdriver a szövegbeviteli elem segítségével automatikusan megkeresi az űrlapot// Nincs szükség a beküldés gombraelem.beküldés ();// Ez a kód kinyomtatja az oldal címétRendszer. out .println ("Az oldal címe: + driver.getTitle ());driver.quit ();}}

2. lépés: Futtassa a kódot. Megfigyeli, hogy egyetlen böngésző sem indul, és az eredmények a konzolon jelennek meg.

A Html Unit Driver előnyei:

  • Mivel a teszteléshez semmilyen grafikus felhasználói felületet nem használ, a tesztek vizuális megszakítás nélkül a háttérben futnak
  • Az összes többi példánnyal összehasonlítva a végrehajtás gyorsabb
  • A tesztek futtatásához a HtmlUnit illesztőprogramon keresztül más böngészőverziókat is kiválaszthat
  • Platformfüggetlen és könnyebb több tesztet egyidejűleg futtatni. Ideális terhelés teszteléshez.

Korlátozások:

  • Nem képes más böngészők JavaScript viselkedését utánozni

PhantomJS

A PhantomJS egy fej nélküli böngésző, JavaScript API-val. Optimális megoldás a fej nélküli webhelyek teszteléséhez, a weboldalak eléréséhez és kezeléséhez, valamint a standard DOM API-val érkezik.

A PhantomJS Seleniun használatához GhostDriver programot kell használni. A GhostDriver a Webdriver Wire protokoll megvalósítása egyszerű JS-ben a PhantomJS számára.

A PhatomJS legújabb kiadása integrálta a GhostDriver programot, és nem szükséges külön telepíteni.

Így működik a rendszer-

A szelén futtatásának lépései a PhatomJS segítségével

1. lépés: Szüksége van az Eclipse-re és telepítve van a szelén

2. lépés) Töltse le a PhantomJS-t itt

3. lépés: Csomagolja ki a letöltött mappát a Program Files fájlba

4. lépés) Töltse le innen a PhantomJS illesztőprogramot. Adja hozzá az edényt a projektjéhez

5. lépés: Illessze be a következő kódot a napfogyatkozásba

csomag htmldriver;import java.io.File;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.phantomjs.PhantomJSDriver;nyilvános osztály fantomja {public static void main (String [] érvel) {File file = new File ("C: / Program Files / phantomjs-2.0.0-windows / bin / phantomjs.exe");System.setProperty ("phantomjs.binary.path", file.getAbsolutePath ());WebDriver illesztőprogram = new PhantomJSDriver ();driver.get ("http://www.google.com");WebElement elem = driver.findElement (By.name ("q"));elem.sendKeys ("Guru99");elem.beküldés ();System.out.println ("Az oldal címe: + driver.getTitle ());driver.quit ();}}

6. lépés: Futtassa a kódot. Meg fogja figyelni, hogy a kimenet megjelenik-e a konzolon, és nem indít böngészőt.

MEGJEGYZÉS : Első futtatáskor a beállításai alapján biztonsági figyelmeztetést kaphat a Windows-tól, hogy lehetővé tegye a PhantomJS futtatását. Kattintson az Engedélyezés gombra.

Számos szervezet használja a Phantom.JS-t különféle célokra, például

  • Fej nélküli tesztelés
  • Képernyő rögzítése
  • Oldal automatizálása
  • Hálózatfigyelés
  • Az irányítópult képernyőképeinek megjelenítése a felhasználók számára
  • Unit tesztek futtatása parancssoron
  • Alkalmazói kézikönyvek előállítása HTML-ből PDF-be
  • A tesztcsomag QUnitjével kombinálva

Összegzés

Az alkalmazás gyors teszteléséhez különböző böngészőkben és vizuális megszakítás nélkül fej nélküli böngészőtesztelést használnak. Gyorsaságának, pontosságának és könnyen hozzáférhető szolgáltatásainak köszönhetően a HTML egység-illesztőprogram és a PhantomJS egyre népszerűbb a fej nélküli böngésző tesztelésében. Néhány egyszerű lépés végrehajtásával megismerheti, hogy ezek az eszközök milyen egyszerűen integrálhatók más eszközökkel, és végrehajthatják a tesztkódot.

érdekes cikkek...