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.