HTMLUnitDriver sisse SeleniumPeata brauseri õpetus

⚡ Nutikas kokkuvõte

HtmlUnitDriver on kiireim peata implementatsioon Selenium WebDriver, samas kui PhantomJS, mis oli kunagi populaarne GhostDriveril põhinev peata brauser, on alates 2018. aastast aegunud ja selle on nüüd asendanud peata Chrome, peata brauser Firefoxja Playwright kaasaegsete automatiseerimisvoogude jaoks.

  • 🤖 Peata kontseptsioon: jooks Selenium testid ilma nähtava graafilise kasutajaliideseta, et säästa protsessorit, mälu ja täitmisaega CI-torujuhtmetes.
  • ⚙️ HTMLUnitDriveri tugevus: Puhas Java mootor, ilma välise binaarfailita, ideaalne kiireteks HTTP-taseme kontrollideks ja kiireteks vormide interaktsioonideks.
  • 🚀 PhantomJS aegumine: PhantomJS-i arendus peatati 2018. aastal; meeskonnad peaksid üle minema peata Chrome'ile, peata Chrome'ile Firefoxvõi näitekirjanik.
  • Kaasaegsed alternatiivid: Peata kroom ja Firefox pakkumine täpne JavaSkriptide renderdamine, DevTools Protocol ja parem silumine.
  • 🧪 Parimad kasutusjuhtumid: Suitsukontrollid, regressioonikomplektid, koormustestid ja pideva integratsiooni tööd peata Linuxi käitajatel.

HTMLUnitDriver sisse Selenium

Peata brauser on veebibrauser ilma graafilise kasutajaliideseta. See saab taustal töötada ilma visuaalse kuvamiseta.tracSee pakub tõhusat ja efektiivset viisi veebirakenduste testimiseks, säästes samal ajal aega ja ressursse. Selles artiklis uurime, mis on peata brauser, millal peata brauseri testimist kasutada ja kuidas seda teha, kasutades Selenium HtmlUnitDriver ja PhantomJS.

Mis on peata brauser?

Peata brauser on veebibrauser ilma graafilise kasutajaliidesetaSee programm käitub nagu tavaline brauser, kuid see ei kuva käivitamise ajal ühtegi graafilise kasutajaliidese akent.

Mõned näited peata brauseridraiveritest on järgmised:

  • HTML-üksus
  • Kummitus
  • PhantomJS (aegunud)
  • ZombieJS
  • Watir-veebidraiver
  • Peata Chrome
  • Peata Firefox

Millal kasutada peata brauseri testimist?

Tänapäeva digiajastul on veebirakendused loodud ühilduma paljude seadmete ja platvormidega. See loob väljakutse arendajatele, kes peavad tagama oma rakenduste sujuva toimimise erinevates keskkondades. Peata brauseritestimine on ideaalne lahendus, kuna see võimaldab arendajatel oma veebirakendusi valideerida ilma graafilise kasutajaliideseta. Peata brauseritestimise abil saavad arendajad kiiresti katta keerulisi veebirakendusi, mis sisaldavad palju komponente ja sõltuvusi, sillutades teed kiiremale arendusele, vähematele vigadele ja rahulolevamatele kasutajatele.

Peata brauseri testimine koos Selenium

Selenium on võimas tööriist brauseri testimiseks ilma peata, mis võimaldab arendajatel käivitada automatiseeritud teste ilma nähtava kasutajaliideseta. Taustal testide käivitamisega Selenium säästab aega ja ressursse ning aitab kaping tuvastada probleeme, mis traditsioonilises kasutajaliidese-põhises testimiskeskkonnas ei pruugi ilmneda. See hõlmab jõudluse ja paigutuse probleeme, mis ilmnevad ainult liideseta testimises. Siiski on oluline tasakaalustada liideseta testimist traditsiooniliste kasutajaliidese-põhiste testidega, et tagada täielik katvus.

Peata brauserite populaarsed näited

Saadaval on palju peata brausereid, millel kõigil on oma omadused ja eelised, mis muudavad need sobivaks erinevateks kasutusjuhtudeks. Me arutame neid allpool.

PhantomJS

Toetuse lõpetamise teade: PhantomJS-i aktiivne arendus lõppes 2018. aastal ja projekti enam ei hallata. Uued projektid peaksid eelistama päideta Chrome'i, päideta Firefoxvõi Näitleja tänapäevaseks peata automatiseerimiseks. Allolev PhantomJS näide on lisatud ainult viitamiseks.

PhantomJS on peata brauser, mis kasutab renderdusmootorina WebKiti ja toetab veebistandardeid nagu HTML5, CSS3 ja JavaSkript. Seda saab kasutada ekraanipiltide tegemiseks ja lehe automatiseerimiseks. See on avatud lähtekoodiga ja ühildub mitme operatsioonisüsteemiga.

Näide Selenium Peata PhantomJS-iga 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()

Kroom

Chrome on planeedi populaarseim brauser ja pakub ka peata režiimi. Seda saab kasutada paljudel platvormidel ning see toetab populaarseid programmeerimiskeeli ja raamistikke. Selle sisseehitatud veaotsingu tööriistad ja ulatuslik dokumentatsioon muudavad selle kasutamise ja testimise ajal tekkida võivate probleemide tõrkeotsingu lihtsaks.

Peata Chrome'i näide koos 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 on populaarne veebibrauser, mida saab testimiseks kasutada ka näpunäideteta brauserina. Üks selle kasutamise eeliseid Firefox peata brauserina on selle kerge jalajälg, mis teeb sellest mitmekülgse valiku testimiseks erinevates operatsioonisüsteemides. Koos ulatusliku dokumentatsiooni ja kogukonna toega Firefox on suurepärane valik meeskondadele, kes katsetavad peata brauseriautomaatikat.

Peata näide Firefox koos 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()

Peata brauseri testimise eelised

  • Testi kiirem läbiviimine
  • Kulusäästlik testimine
  • Parem testimise ulatus
  • Paindlikkus testide läbiviimisel
  • Lihtsam integreerimine CI/CD torujuhtmetega

Peata brauseri testimise puudused

  • Nähtava graafilise kasutajaliidese puudumine käsitsi kontrollimiseks
  • Silumise otsimine võib ilma ekraanita olla keerulisem
  • Piiratud brauseripõhise käitumise katvus

HtmlUnitDriver

HtmlUnitDriver on kõige kergem ja kiirem peata brauseri implementatsioon Selenium WebDriver. See põhineb HtmlUnitil ja on tuntud ka kui Peata brauseri draiverSee käitub nagu Chrome, IE või Firefox draiver, kuid sellel puudub graafiline kasutajaliides, seega pole testi käivitamine ekraanil nähtav. HtmlUnitDriver'i hooldatakse endiselt ja levitatakse selle kaudu. org.seleniumhq.selenium:htmlunit3-driver Maveni artefakt.

HtmlUnitDriveri omadused:

  • HTTPS- ja HTTP-protokolli tugi
  • HTML-vastuste tugi (linkidele klõpsamine, vormide esitamine, HTML-dokumendi DOM-mudeli läbimine ja palju muud)
  • Küpsiste tugi
  • Puhverserveri tugi
  • Põhi- ja NTLM-autentimise tugi
  • Tahke JavaScript toetama
  • GET ja POST esitamise meetodite tugi
  • Võimalus kohandada serverisse saadetavaid päringu päiseid
  • Võimalus kontrollida, kas serveri ebaõnnestunud vastused peaksid tekitama erandeid või tagastama need sobivat tüüpi lehtedena

HtmlUnitDriveri kasutamise sammud koos Selenium

Step 1) In Eclipse, kopeeri järgmine kood. Lisa standard Selenium teegifailid projekti. Täiendavaid JAR-faile pole vaja.

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) Käivitage kood. Näete, et ühtegi brauserit ei käivitata ja tulemused kuvatakse konsoolis.

HtmlUnitDriveri kasutamise sammud koos Selenium

HtmlUnitDriveri eelised

  • Kuna see ei kasuta graafilist kasutajaliidest, töötavad testid taustal ilma visuaalsete katkestusteta
  • Võrreldes teiste draiveri eksemplaridega on täitmine kiirem
  • HtmlUnitDriveri kaudu testide käivitamisel saate jäljendada ka erinevaid brauseriversioone.
  • See on platvormist sõltumatu ja sellega on lihtne samaaegselt mitut testi käivitada. See sobib ideaalselt koormuse testimine.

Piirangud:

  • See ei saa täielikult jäljendada JavaIga päris brauserimootori skripti käitumine

PhantomJS

meeldetuletus: PhantomJS on aegunud ja seda enam ei hooldata. Uute juhtimisfunktsioonideta tööde jaoks kasutage Selenium peata Chrome'iga või Firefoxvõi kolige teosele „Näitekirjanik“. Allolev osa jääb ainult pärandviiteks.

PhantomJS on peata brauser, millel on JavaSkripti API. Seda kasutati ajalooliselt veebilehtede testimiseks ilma peata, veebilehtedele juurdepääsuks ja nende muutmiseks ning see on varustatud standardse DOM API-ga.

PhantomJS-i kasutamiseks koos Selenium, sul on vaja GhostDriverit. GhostDriver on WebDriver Wire Protocoli implementatsioon lihtsas keeles JavaSkript PhantomJS-i jaoks.

PhantomJS-i hilisemad versioonid integreeritud GhostDriver, nii et seda pole vaja eraldi paigaldada.

Süsteem töötab järgmiselt:

PhantomJS

Jooksmise sammud Selenium koos PhantomJS-iga

Step 1) Sa pead Eclipse koos Selenium paigaldatud.

Step 2) Laadige alla PhantomJS siin.

Jooksmise sammud Selenium PhantomJS-iga

Step 3) ExtracKopeeri allalaaditud kaust programmifailidesse.

Jooksmise sammud Selenium PhantomJS-iga

Step 4) Laadige alla PhantomJS-draiver saidilt siinLisa JAR oma projektile.

Jooksmise sammud Selenium PhantomJS-iga

Step 5) Kleepige järgmine kood sisse 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) Käivita kood. Konsoolis näed väljundit ja brauserit ei käivitata.

MÄRKUS: Esimesel käivitamisel võite olenevalt teie sätetest näha turvahoiatust saidilt Windows PhantomJS-i käivitamise lubamiseks klõpsake. luba juurdepääs.

Jooksmise sammud Selenium PhantomJS-iga

Paljud organisatsioonid on ajalooliselt kasutanud PhantomJS-i selliste ülesannete jaoks nagu:

  • Peata testimine
  • Ekraanitõmmis
  • Lehe automatiseerimine
  • Võrgu jälgimine
  • Armatuurlaua ekraanipiltide renderdamine kasutajatele
  • Ühiktestide käivitamine käsureal
  • Töötajate käsiraamatute genereerimine HTML-ist PDF-iks
  • Testikomplekti kombineerimine QUnitiga

Uue töö puhul asenda need PhantomJS-i kasutusjuhud Chrome'iga, mis on peata. Firefoxvõi Playwright, mis saavad pidevalt turva- ja renderdusvärskendusi.

KKK

Peata brauser on veebibrauser, mis töötab ilma graafilise kasutajaliideseta. Selenium, peata draiverid nagu HtmlUnitDriver, peata Chrome ja peata Firefox testide käivitamine taustal, mis säästab ressursse ja kiirendab automatiseerimiskomplekte.

Ei. PhantomJS-i arendus peatati 2018. aastal ja projekti enam ei hallata. Selenium on eemaldanud ka PhantomJSDriveri viimastest versioonidest. Uued testid peaksid kasutama päisteta Chrome'i, päisteta Firefoxvõi hoopis näitekirjanik.

HtmlUnitDriver on puhas Java mootor, väga kiire ja ei vaja brauseri binaarfaili, kuid sellel on piiratud JavaSkripti täpsus. Headless Chrome kasutab tõelist Blinki mootorit, seega renderdab see kaasaegselt. JavaSkriptimahukate saitide täpne toimimine, kuid suurema ressursikasutuse hinnaga.

Kasutama Selenium peata Chrome'i või peata Firefox brauseritäpseks testimiseks või Playwrighti kasutuselevõtt paralleelseks brauseriteüleseks automatiseerimiseks. Need tööriistad saavad aktiivseid turvavärskendusi ja toetavad kaasaegseid funktsioone, nagu DevTools Protocol ja võrgu pealtkuulamine.

Tehisintellektil põhinevad tööriistad suudavad DOM-i muutudes lokaatoreid automaatselt parandada, ennustada ebaühtlaseid teste ja analüüsida ekraanipilte visuaalsete regressioonide suhtes. See vähendab katkendlikke peata teste CI-s ja aitab kvaliteedikontrolli meeskondadel stabiilsena püsida. Selenium torujuhtmed väiksema käsitsi sekkumisega.

Jah. Kaasaegsed tehisintellektiga assistendid saavad genereerida Selenium WebDriveri skriptid Java, Pythonvõi JavaSkript lihtsatest inglise keele sammudest, sh Chrome'i või FirefoxEnne CI-s käivitamist kontrollige alati genereeritud koodi õigete ooteaegade, selektorite ja turvalisuse osas.

Võta see postitus kokku järgmiselt: