HTMLUnitDriver be SeleniumFej nélküli böngésző bemutatója
⚡ Okos összefoglaló
A HtmlUnitDriver a leggyorsabb headless implementációja a Selenium A WebDriver, míg a PhantomJS, egykor népszerű, GhostDriver alapú, fej nélküli böngésző, 2018 óta elavult, és mostantól a fej nélküli Chrome váltja fel. Firefox, és a Playwright a modern automatizálási munkafolyamatokhoz.

A headless böngésző egy grafikus felhasználói felület nélküli webböngésző. Képes a háttérben futtatni vizuális megjelenítés nélkül.tracciók. Hatékony és eredményes módszert kínál webes alkalmazások tesztelésére, miközben időt és erőforrásokat takarít meg. Ebben a cikkben azt vizsgáljuk meg, hogy mi az a fej nélküli böngésző, mikor kell fej nélküli böngészőtesztelést használni, és hogyan kell elvégezni a következő eszközök használatával: Selenium HtmlUnitDriver és PhantomJS.
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ülEz a program ugyanúgy viselkedik, mint egy hagyományos böngésző, de futás közben nem jelenít meg grafikus felhasználói felületet.
Néhány példa a fej nélküli böngészőillesztőkre:
- HtmlUnit
- szellem
- PhantomJS (elavult)
- ZombieJS
- Watir- webdriver
- Fej nélküli Chrome
- Fejetlen Firefox
Mikor használjunk fej nélküli böngészőtesztet?
A mai digitális korban a webes alkalmazásokat úgy készítik, hogy kompatibilisek legyenek a legkülönbözőbb eszközökkel és platformokkal. Ez kihívást jelent a fejlesztők számára, akiknek biztosítaniuk kell alkalmazásaik zökkenőmentes működését különböző környezetekben. A fej nélküli böngészőtesztelés ideális megoldás, mivel lehetővé teszi a fejlesztők számára webes alkalmazásaik validálását grafikus felhasználói felület nélkül. A fej nélküli böngészőtesztelés használatával a fejlesztők gyorsan lefedhetik a sok komponenssel és függőséggel rendelkező összetett webes alkalmazásokat, megnyitva az utat a gyorsabb fejlesztés, a kevesebb hiba és az elégedettebb felhasználók előtt.
Fej nélküli böngésző tesztelése Selenium
Selenium egy hatékony eszköz a fej nélküli böngészőteszteléshez, amely lehetővé teszi a fejlesztők számára, hogy automatizált teszteket futtassanak látható felhasználói felület nélkül. A háttérben futtatott tesztek révén Selenium időt és erőforrásokat takarít meg, miközben segít isping olyan problémák azonosítása, amelyek egy hagyományos, felhasználói felületen alapuló tesztelési környezetben nem feltétlenül nyilvánvalóak. Ide tartoznak azok a teljesítmény- és elrendezési problémák, amelyek csak egy headless környezetben válnak nyilvánvalóvá. Fontos azonban a headless tesztelés és a hagyományos felhasználói felületen alapuló tesztek egyensúlyban tartása a teljes lefedettség biztosítása érdekében.
Népszerű példák fej nélküli böngészőkre
Sokféle fej nélküli böngésző érhető el, mindegyiknek megvannak a saját funkciói és előnyei, amelyek különböző felhasználási esetekre alkalmassá teszik őket. Az alábbiakban ezeket tárgyaljuk.
PhantomJS
Elavulási értesítés: A PhantomJS aktív fejlesztése 2018-ban leállt, és a projektet már nem tartják karban. Az új projekteknek a headless Chrome-ot kell előnyben részesíteniük, a headless... Firefoxvagy Drámaíró modern, fej nélküli automatizáláshoz. Az alábbi PhantomJS példa csak referenciaként szolgál.
A PhantomJS egy fej nélküli böngésző, amely a WebKitet használja renderelőmotorként, és olyan webes szabványokat támogat, mint a HTML5, CSS3 és ... JavaSzkript. Képernyőkép készítésére é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 bolygó legnépszerűbb böngészője, és headless módot is kínál. Számos platformon használható, és támogatja a népszerű 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 elhá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 teszteléshez headless böngészőként is használható. A használatának egyik előnye Firefox Headless böngészőként a könnyű helyigénye sokoldalúvá teszi a különböző operációs rendszereken való teszteléshez. Kiterjedt dokumentációjával és közösségi támogatásával együtt... Firefox kiváló választás azoknak a csapatoknak, akik a fej nélküli böngészőautomatizálással kísérleteznek.
Példa a fejetlenre Firefox ahol 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 tesztlefedettség
- Rugalmasság a tesztek lefolytatásában
- Könnyebb integráció CI/CD folyamatokhoz
A fej nélküli böngészőteszt hátrányai
- Látható grafikus felhasználói felület hiánya a manuális ellenőrzéshez
- A hibakeresés nehezebb lehet képernyő nélkül
- Korlátozott böngészőspecifikus viselkedési lefedettség
HtmlUnitDriver
A HtmlUnitDriver a legkönnyebb és leggyorsabb headless böngésző implementáció a következőhöz: Selenium WebDriver. HtmlUnit-on alapul, és más néven a Fej nélküli böngésző-illesztőprogramÚgy viselkedik, mint a Chrome, az IE vagy a Firefox illesztőprogram, de nincs grafikus felhasználói felülete, így a teszt végrehajtása nem látható a képernyőn. A HtmlUnitDriver továbbra is karbantartott és a következőn keresztül kerül terjesztésre: org.seleniumhq.selenium:htmlunit3-driver Maven-ereklye.
A HtmlUnitDriver 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 bejárása és egyebek)
- A cookie-k támogatása
- Proxy szerver támogatás
- Az alap és NTLM hitelesítés támogatása
- Szilárd JavaForgatókönyv támogatás
- GET és POST submit metódusok támogatása
- Lehetőség a kiszolgálónak küldött kérésfejlécek testreszabására
- Lehetőség annak szabályozására, hogy a szervertől érkező hibás válaszok kivételeket dobjanak-e, vagy a megfelelő típusú oldalakként kerüljenek visszaadásra
A HtmlUnitDriver használatának lépései Selenium
Step 1) In Eclipse, másolja ki a következő kódot. Adja hozzá a szabványt Selenium könyvtárfá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 HtmlUnit 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();
}
}
Step 2) Futtassa a kódot. Azt fogja észrevenni, hogy nem indul el böngésző, és az eredmények megjelennek a konzolon.
A HtmlUnitDriver előnyei
- Mivel nem használ grafikus felhasználói felületet, a tesztek a háttérben futnak vizuális megszakítás nélkül.
- Más illesztőprogram-példányokhoz képest a végrehajtás gyorsabb
- A HtmlUnitDriver segítségével tesztek futtatásakor különböző böngészőverziókat is emulálhatsz.
-
Platformfüggetlen és könnyen futtatható vele több teszt egyidejű futtatása. Ideális a következőkhöz: terhelés tesztelése.
Korlátozások:
- Nem tudja teljesen utánozni JavaMinden valódi böngészőmotor szkript viselkedése
PhantomJS
Emlékeztető: A PhantomJS elavult és már nem kerül karbantartásra. Új, fejléc nélküli munkákhoz használja a Selenium fej nélküli krómmal vagy Firefox, vagy térjen át a Drámaíróhoz. Az alábbi szakasz csak a korábbi időszakra vonatkozó hivatkozásként szolgál.
A PhantomJS egy fej nélküli böngésző, amely egy JavaScript API. Korábban headless weboldalteszteléshez, weboldalak eléréséhez és kezeléséhez használták, és a szabványos DOM API-val érkezik.
A PhantomJS használata a következővel: Selenium, szükséged van a GhostDriverre. GhostDriver a WebDriver Wire Protocol egy egyszerű implementációja JavaSzkript PhantomJS-hez.
A PhantomJS későbbi kiadásai integrált GhostDriver, szóval nincs szükség külön telepíteni.
Így működik a rendszer:
Futtatás lépései Selenium a PhantomJS-szel
Step 1) VÁLASSZA A GREEN ARSENAL TERMÉKEIT! Eclipse ahol Selenium telepítve.
Step 2) Töltse le a PhantomJS-t itt .
Step 3) ExtracMásold be a letöltött mappát a Program Files mappába.
Step 4) Töltse le a PhantomJS illesztőprogramot innen itt Adja hozzá a JAR fájlt a projekthez.
Step 5) Illeszd be a következő kódot Eclipse.
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) Futtasd a kódot. A kimenetet a konzolon fogod látni, és nem indul el a böngésző.
JEGYZET: Az első futtatáskor, a beállításaidtól függően, biztonsági figyelmeztetést láthatsz a következőtől: Windows a PhantomJS futtatásának engedélyezéséhez kattintson ide. Hozzáférés engedélyezése.
Sok szervezet történelmileg használta a PhantomJS-t olyan feladatokra, mint:
- Fej nélküli tesztelés
- Képernyőfelvétel
- Oldalautomatizálás
- Hálózatfigyelés
- Irányítópult képernyőképeinek renderelése a felhasználók számára
- Egységtesztek futtatása parancssorban
- Munkavállalói kézikönyvek generálása HTML-ből PDF-be
- QUnit-tal kombinálva a tesztkészlethez
Új munkákhoz cserélje le ezeket a PhantomJS használati eseteket fej nélküli Chrome-ra, fej nélkülire Firefox, vagy a Playwright, amelyek folyamatos biztonsági és megjelenítési frissítéseket kapnak.






