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 HTMLUnit Driver használatának lépései Selenium

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 -

PhantomJS

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

Lépések a futáshoz Selenium PhatomJS-sel

Step 3) Bontsa ki a letöltött mappát a Program Files mappába

Lépések a futáshoz Selenium PhatomJS-sel

Step 4) Töltse le a PhantomJS illesztőprogramot innen itt. Adja hozzá az üveget a projekthez

Lépések a futáshoz Selenium PhatomJS-sel

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.

Lépések a futáshoz Selenium PhatomJS-sel

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.