HTMLUnitDriver be Selenium
A fej nélküli böngésző grafikus felhasználói felület nélküli webböngésző. Képes a háttérben futni vizuális zavarás nélkül. Hatékony és eredményes módot kínál a webalkalmazások tesztelésére, miközben időt és erőforrásokat takarít meg. Ebben az oktatóanyagban belemerülünk abba, hogy mi is az a fej nélküli böngésző, mikor kell használni a fej nélküli böngészőtesztet, és hogyan kell végrehajtani. Selenium.
Mi az a fej nélküli böngésző?
A fej nélküli böngésző egy webböngésző grafikus felhasználói felület nélkül. Ez a program ugyanúgy fog viselkedni, mint egy böngésző, de nem jelenít meg semmilyen grafikus felhasználói felületet.
Néhány példa a Headless Drivers-ra
- HtmlUnit
- szellem
- PhantomJS
- ZombieJS
- Watir- webdriver
Mikor használjunk fej nélküli böngészőtesztet?
A mai digitális korban a webalkalmazásokat úgy fejlesztik, hogy kompatibilisek legyenek az eszközök és platformok széles skálájával. Ez gyakran kihívás elé állítja a webhelyfejlesztőket, akiknek biztosítaniuk kell, hogy alkalmazásaik zökkenőmentesen működjenek ezeken a platformokon. A fej nélküli böngészőteszt ideális megoldás erre a problémára, mivel lehetővé teszi a fejlesztők számára, hogy grafikus felhasználói felület nélkül teszteljék webalkalmazásaikat. A fej nélküli böngészőteszt segítségével a fejlesztők könnyedén tesztelhetnek összetett webalkalmazásokat több összetevővel és függőséggel, így megnyitva az utat a gyorsabb fejlesztés, a hibamentes kód és az elégedett felhasználók felé.
Fej nélküli böngésző tesztelése Selenium
Selenium egy hatékony eszköz a fej nélküli böngészőtesztekhez, lehetővé téve a fejlesztők számára, hogy automatizált teszteket futtatjanak anélkül, hogy látható felhasználói felületre lenne szükségük. Ha teszteket futtat a háttérben, Selenium időt és erőforrásokat takaríthat meg, miközben segít azonosítani azokat a problémákat is, amelyek a hagyományos felhasználói felület alapú tesztelési környezetben esetleg nem nyilvánvalóak. Ide tartoznak a teljesítménnyel kapcsolatos problémák és az elrendezési problémák, amelyek csak fej nélküli környezetben válhatnak nyilvánvalóvá. Fontos azonban szem előtt tartani a fej nélküli tesztelés korlátait, és egyensúlyba hozni a hagyományos UI-alapú módszerekkel, hogy átfogó tesztlefedettséget biztosítsunk.
Népszerű példák fej nélküli böngészőkre
Számos fej nélküli böngésző áll rendelkezésre, amelyek mindegyike megvan a maga egyedi funkcióinak és előnyeinek, így különböző felhasználási esetekre alkalmasak. Az alábbiakban tárgyaljuk őket: -
PhantomJS
A PhantomJS egy fej nélküli böngésző, amely a WebKit-et használja renderelő motorként, és támogatja a különféle webes szabványokat, mint például a HTML5, CSS3 és JavaForgatókönyv. Képernyőrögzítésre és oldalautomatizálási feladatokra használható. Nyílt forráskódú és több operációs rendszerrel kompatibilis.
Például az Selenium Fej nélküli PhantomJS bemenettel Python
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities # Set up PhantomJS options phantomjs_options = webdriver.DesiredCapabilities.PHANTOMJS.copy() phantomjs_options['phantomjs.page.settings.userAgent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' # Set up the PhantomJS driver driver = webdriver.PhantomJS('/path/to/phantomjs', desired_capabilities=phantomjs_options) # Perform actions using the driver driver.get('https://www.example.com') print(driver.title) # Close the driver driver.quit()
króm
A Chrome a legnépszerűbb böngésző a világon, és fej nélküli funkciót is kínál. Több platformon is használható, és támogatja a programozási nyelveket és keretrendszereket. Beépített hibakereső eszközei és kiterjedt dokumentációja megkönnyíti a használatát és a tesztelés során felmerülő problémák hibaelhárítását.
Példa a fej nélküli Chrome-ra Selenium in Python
from selenium import webdriver from selenium.webdriver.chrome.options import Options # Set up Chrome options chrome_options = Options() chrome_options.add_argument('--headless') # Run Chrome in headless mode chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') # Set up the Chrome driver driver = webdriver.Chrome('/path/to/chromedriver', options=chrome_options) # Perform actions using the driver driver.get('https://www.example.com') print(driver.title) # Close the driver driver.quit()
Firefox
Firefox egy népszerű webböngésző, amely fej nélküli böngészőként is használható tesztelési célokra. A használat egyik előnye Firefox mint fej nélküli böngésző, könnyű természetéből adódóan sokoldalú lehetőség a különféle operációs rendszereken végzett tesztelésre. Ezenkívül kiterjedt dokumentációjával és közösségi támogatásával Firefox kiváló választás azok számára, akik a fej nélküli böngészőtechnológiával szeretnének kísérletezni.
Példa a fejetlenre Firefox dolgoztam, ahol az Selenium in Python
from selenium import webdriver from selenium.webdriver.firefox.options import Options # Set up Firefox options firefox_options = Options() firefox_options.add_argument('--headless') # Run Firefox in headless mode # Set up the Firefox driver driver = webdriver.Firefox(options=firefox_options) # Perform actions using the driver driver.get('https://www.example.com') print(driver.title) # Close the driver driver.quit()
A fej nélküli böngészőteszt előnyei
- Gyorsabb tesztvégrehajtás
- Költséghatékony tesztelés
- Jobb tesztelési lefedettség
- Rugalmasság a tesztek lefolytatásában
- Integráció CI/CD csővezetékekkel
A fej nélküli böngészőteszt hátrányai
- GUI hiánya
- Nehézségek a hibakeresés során
- Korlátozott böngésző támogatás
HTMLUnitDriver
A HTML UnitDriver a legkönnyebb és leggyorsabb megvalósítású fej nélküli böngésző a WebDriver számára. HtmlUnit alapú. Úgy ismert, mint Fej nélküli böngésző-illesztőprogram. Ugyanaz, mint a Chrome, IE vagy FireFox meghajtót, de nincs grafikus felhasználói felülete, így nem látható a képernyőn a teszt végrehajtása.
A HTML egység-illesztőprogram jellemzői
- A HTTPS és 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 cookie-k támogatása
- Proxy szerver támogatás
- Az alap és NTLM hitelesítés támogatása
- Kiváló JavaForgatókönyv támogatás
- Támogatás a GET és POST elküldési módokhoz
- Lehetőség a kiszolgálónak küldött kérésfejlécek testreszabására
- Lehetőség annak meghatározására, hogy a szerver hibás válaszai kivételeket dobjanak-e, vagy a megfelelő típusú oldalakként jelenjenek meg
A HTMLUnit Driver használatának lépései Selenium
Step 1) In Eclipse, másolja ki a következő kódot. Adja hozzá a szabványos szelénkönyvtár fájlokat a projekthez. Nincs szükség további jar fájlokra.
package 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[] args) { // Creating a new instance of the HTML unit driver WebDriver driver = new HtmlUnitDriver(); // Navigate to Google driver.get("http://www.google.com"); // Locate the searchbox using its name WebElement element = driver.findElement(By.name("q")); // Enter a search query element.sendKeys("Guru99"); // Submit the query. Webdriver searches for the form using the text input element automatically // No need to locate/find the submit button element.submit(); // This code will print the page title System.out.println("Page title is: " + driver.getTitle()); driver.quit(); } }
2. lépés) Futtassa a kódot. Megfigyelheti, hogy nem indul el a böngésző, és az eredmények a konzolon jelennek meg.
A HTML-egység-illesztőprogram előnyei:
- Mivel nem használ grafikus felhasználói felületet a teszteléshez, a tesztek a háttérben futnak vizuális megszakítás nélkül
- Az összes többi példányhoz képest a végrehajtás gyorsabb
- A tesztek HtmlUnit illesztőprogramon keresztüli futtatásához más böngészőverziókat is választhat
-
Platformfüggetlen, és könnyebben futtatható több teszt egyidejűleg. Ideális a Terhelésvizsgálat.
Korlátozások:
- Más böngészőket nem tud emulálni JavaSzkript viselkedése
PhantomJS
A PhantomJS egy fej nélküli böngésző JavaScript API. Optimális megoldás fej nélküli webhelytesztelésre, weboldalak elérésére és manipulálására, és a szabványos DOM API-val érkezik.
Ahhoz, hogy a PhantomJS-t Seleniunnal használjuk, a GhostDriver-t kell használni. GhostDriver a Webdriver Wire protokoll megvalósítása egyszerű JS-ben PhantomJS-hez.
A PhatomJS legújabb kiadása megvan integrált GhostDriver és nem kell külön telepíteni.
Így működik a rendszer -
A futás lépései Selenium PhatomJS-sel
Step 1) VÁLASSZA A GREEN ARSENAL TERMÉKEIT! Eclipse dolgoztam, ahol az Selenium telepítve
Step 2) Töltse le a PhantomJS-t itt
Step 3) Bontsa ki a letöltött mappát a Program Files mappába
Step 4) Töltse le a PhantomJS illesztőprogramot innen itt. Adja hozzá az üveget a projekthez
Step 5) Illessze be a következő kódot az eclipse-be
package 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; public class phantom { public static void main(String[] args) { File file = new File("C:/Program Files/phantomjs-2.0.0-windows/bin/phantomjs.exe"); System.setProperty("phantomjs.binary.path", file.getAbsolutePath()); WebDriver driver = new PhantomJSDriver(); driver.get("http://www.google.com"); WebElement element = driver.findElement(By.name("q")); element.sendKeys("Guru99"); element.submit(); System.out.println("Page title is: " + driver.getTitle()); driver.quit(); } }
Step 6) Futtassa a kódot. Megfigyelheti, hogy a kimenet megjelenik a konzolon, és nem indul el a böngésző.
JEGYZET: Első futtatáskor a beállításai alapján biztonsági figyelmeztetést kaphat a következőtől Windows hogy engedélyezze a PhantomJS futtatását. Kattintson a Hozzáférés engedélyezése gombra.
Sok szervezet használja a Phantom.JS-t különféle célokra, például
- Fej nélküli tesztelés
- Screen Capture
- Oldalautomatizálás
- Network Monitoring
- Az irányítópult képernyőképeinek megjelenítéséhez a felhasználók számára
- Egységtesztek futtatása parancssorban
- Alkalmazotti kézikönyvek létrehozása HTML-ből PDF-be
- QUnittal kombinálva a tesztkészlethez
Összegzésként
Az alkalmazás gyors tesztelése különféle böngészőkben, vizuális megszakítás nélkül, fej nélküli böngésző Tesztelés használják. Gyorsaságának, pontosságának és könnyen elérhető funkcióinak köszönhetően a HTML-illesztőprogram és a PhantomJS egyre népszerűbb a fej nélküli böngészőautomatizálási tesztelésben. Néhány egyszerű lépést követve megtudhatja, hogy ezek az eszközök milyen könnyen integrálhatók más eszközökkel, és mennyire tudják végrehajtani a tesztkódot.