Päätön selain Selenium (HTMLUnitDriver)

Päätön selain on verkkoselain ilman graafista käyttöliittymää. Se voi toimia taustalla ilman visuaalisia häiriötekijöitä. Se tarjoaa tehokkaan ja tehokkaan tavan testata verkkosovelluksia säästäen samalla aikaa ja resursseja. Tässä opetusohjelmassa sukeltaamme siihen, mikä päätön selain on, milloin käyttää päätöntä selaintestausta ja miten se tehdään Selenium.

Mikä on Headless Browser?

Päätön selain on verkkoselain ilman graafista käyttöliittymää. Tämä ohjelma toimii kuten selain, mutta se ei näytä graafista käyttöliittymää.

Joitakin esimerkkejä Headless Driversista ovat mm

  • Html-yksikkö
  • Aave
  • PhantomJS
  • ZombieJS
  • Watir- web-ajuri

Milloin käyttää päätöntä selaimen testausta?

Nykypäivän digitaaliaikana verkkosovelluksia kehitetään yhteensopiviksi monenlaisten laitteiden ja alustojen kanssa. Tämä on usein haaste verkkosivustojen kehittäjille, joiden on varmistettava, että heidän sovelluksensa toimivat saumattomasti näillä alustoilla. Päätön selaintestaus on ihanteellinen ratkaisu tähän ongelmaan, koska sen avulla kehittäjät voivat testata verkkosovelluksiaan ilman graafista käyttöliittymää. Käyttämällä päätöntä selaintestausta kehittäjät voivat helposti testata monimutkaisia ​​verkkosovelluksia, joissa on useita komponentteja ja riippuvuuksia, mikä avaa tietä nopeammalle kehitykselle, virheettömälle koodille ja tyytyväisille käyttäjille.

Päättömän selaimen testaus Selenium

Selenium on tehokas työkalu päättömään selaintestaukseen, jonka avulla kehittäjät voivat suorittaa automaattisia testejä ilman näkyvää käyttöliittymää. Suorittamalla testejä taustalla, Selenium voi säästää aikaa ja resursseja ja auttaa tunnistamaan ongelmia, jotka eivät välttämättä ole ilmeisiä perinteisessä käyttöliittymäpohjaisessa testausympäristössä. Tämä sisältää suorituskykyyn liittyviä ongelmia ja asetteluongelmia, jotka voivat tulla ilmeisiksi vain päättömässä ympäristössä. On kuitenkin tärkeää pitää mielessä päättömän testauksen rajoitukset ja tasapainottaa se perinteisten käyttöliittymäpohjaisten menetelmien kanssa kattavan testikattavuuden varmistamiseksi.

Suosittuja esimerkkejä päättömistä selaimista

Saatavilla on monia päättömiä selaimia, joista jokaisella on omat ainutlaatuiset ominaisuudet ja edut, joten ne sopivat erilaisiin käyttötapauksiin. Keskustelemme niistä alla: -

PhantomJS

PhantomJS on päätön selain, joka käyttää WebKitiä renderöintimoottorina ja tukee erilaisia ​​verkkostandardeja, kuten HTML5, CSS3 ja JavaKäsikirjoitus. Sitä voidaan käyttää näytön kaappaamiseen ja sivujen automatisointitehtäviin. Se on avoimen lähdekoodin ja yhteensopiva useiden käyttöjärjestelmien kanssa.

Esimerkki Selenium jossa Headless PhantomJS sisään 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()

kromi

Chrome on planeetan suosituin selain ja tarjoaa myös päättömän ominaisuuden. Sitä voidaan käyttää useilla alustoilla ja se tukee ohjelmointikieliä ja kehyksiä. Sen sisäänrakennetut virheenkorjaustyökalut ja kattava dokumentaatio tekevät siitä helpon käytön ja testauksen aikana ilmenevien ongelmien vianmäärityksen.

Esimerkki Headless Chromesta 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 suosittu verkkoselain, jota voidaan käyttää myös päättömänä selaimena testaustarkoituksiin. Yksi käytön eduista Firefox päättömänä selaimena on sen kevyt luonne, mikä tekee siitä monipuolisen vaihtoehdon testaukseen eri käyttöjärjestelmissä. Lisäksi laajan dokumentaation ja yhteisön tuen ansiosta Firefox on erinomainen valinta niille, jotka haluavat kokeilla päätöntä selaintekniikkaa.

Esimerkki päättömästä Firefox with 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()

Päättömän selaimen testauksen edut

  • Nopeampi testin suorittaminen
  • Kustannustehokas testaus
  • Parempi testauskattavuus
  • Joustavuus testien suorittamisessa
  • Integrointi CI/CD-putkistojen kanssa

Päättömän selaimen testauksen haitat

  • GUI:n puute
  • Vaikeuksia virheenkorjauksessa
  • Rajoitettu selaintuki

HTMLUnitDriver

HTML UnitDriver on WebDriverin kevyin ja nopein toteutettu päätön selain. Se perustuu HtmlUnit. Se tunnetaan nimellä Päätön selainohjain. Se on sama kuin Chrome, IE tai FireFox ohjain, mutta siinä ei ole graafista käyttöliittymää, joten testin suorittamista ei voi nähdä näytöllä.

HTML-yksikköohjaimen ominaisuudet

  • Tuki HTTPS- ja HTTP-protokolloille
  • Tuki HTML-vastauksille (linkkien napsauttaminen, lomakkeiden lähettäminen, HTML-dokumentin DOM-mallin käyttäminen jne.)
  • Tuki evästeille
  • Välityspalvelimen tuki
  • Perus- ja NTLM-todennuksen tuki
  • Erinomainen JavaKäsikirjoitus tuki
  • Tuki lähetysmenetelmille GET ja POST
  • Mahdollisuus mukauttaa palvelimelle lähetettävät pyyntöotsikot
  • Mahdollisuus määrittää, pitäisikö palvelimen epäonnistuneiden vastausten tehdä poikkeuksia vai onko ne palautettava oikeantyyppisinä sivuina

HTMLUnit-ohjaimen käytön vaiheet Selenium

Vaihe 1) In Eclipse, kopioi seuraava koodi. Lisää standardit seleenikirjastotiedostot projektiin. Ylimääräisiä jar-tiedostoja ei tarvita.

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();			
         }		
}

Vaihe 2) Suorita koodi. Huomaat, ettei selain käynnistetä ja tulokset näkyvät konsolissa.

HTMLUnit-ohjaimen käytön vaiheet Selenium

Html-yksikköohjaimen edut:

  • Koska se ei käytä testaukseen GUI:ta, testit suoritetaan taustalla ilman visuaalisia keskeytyksiä
  • Verrattuna kaikkiin muihin esiintymiin suoritus on nopeampaa
  • Suorittaaksesi testit HtmlUnit-ohjaimen kautta, voit myös valita muita selainversioita
  • Se on alustasta riippumaton ja helpompi suorittaa useita testejä samanaikaisesti. Ihanteellinen Kuormitustesti.

Rajoitukset:

  • Se ei voi emuloida muita selaimia JavaKäsikirjoituksen käyttäytyminen

PhantomJS

PhantomJS on päätön selain JavaScript API. Se on optimaalinen ratkaisu päättömään verkkosivustojen testaukseen, verkkosivujen käyttämiseen ja manipulointiin, ja mukana tulee standardi DOM API.

PhantomJS:n käyttämiseksi Seleniunin kanssa täytyy käyttää GhostDriveria. GhostDriver on Webdriver Wire -protokollan toteutus yksinkertaisessa JS:ssä PhantomJS:lle.

PhatomJS:n uusin julkaisu on integroitu GhostDriver ja sitä ei tarvitse asentaa erikseen.

Näin järjestelmä toimii -

PhantomJS

Askeleita juoksemiseen Selenium PatomJS:n kanssa

Vaihe 1) Tarvitset Eclipse with Selenium asennetaan

Vaihe 2) Lataa PhantomJS tätä

Juoksuvaiheet Selenium PhatomJS:n kanssa

Vaihe 3) Pura ladattu kansio Ohjelmatiedostoihin

Juoksuvaiheet Selenium PhatomJS:n kanssa

Vaihe 4) Lataa PhantomJS-ohjain osoitteesta tätä. Lisää purkki projektiisi

Juoksuvaiheet Selenium PhatomJS:n kanssa

Vaihe 5) Liitä seuraava koodi eclipseen

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();			
           }		
}

Vaihe 6) Suorita koodi. Huomaat, että tulos näkyy konsolissa eikä selainta käynnistetä.

HUOMAUTUS: Ensimmäisellä käyttökerralla saatat saada suojausvaroituksen asetustesi perusteella Windows salliaksesi PhantomJS:n suorittamisen. Napsauta Salli pääsy.

Juoksuvaiheet Selenium PhatomJS:n kanssa

Monet organisaatiot käyttävät Phantom.JS:ää eri tarkoituksiin, esim.

  • Päätön testaus
  • screen Capture
  • Sivun automaatio
  • Verkonvalvonta
  • Renderöidäkseen hallintapaneelin kuvakaappauksia käyttäjilleen
  • Yksikkötestien suorittaminen komentorivillä
  • Luoda työntekijöiden käsikirjoja HTML:stä PDF-muotoon
  • Yhdessä QUnitin kanssa testisarjaa varten

Yhteenveto

Sovelluksen testaamiseen nopeasti eri selaimissa ja ilman visuaalista keskeytystä, päätön selain Testaus käytetään. Nopeutensa, tarkkuutensa ja helppokäyttöisten ominaisuuksiensa ansiosta HTML-yksikköohjain ja PhantomJS ovat saamassa suosiota päättömässä selaimen automaatiotestauksessa. Noudattamalla joitain yksinkertaisia ​​ohjeita saat tietää, kuinka helposti nämä työkalut voidaan integroida muihin työkaluihin ja suorittaa testikoodin.