Chrome'i valikud ja soovitud võimalused Selenium

⚡ Nutikas kokkuvõte

Chrome'i valikud ja soovitud võimalused Selenium WebDriver kontrollib Chrome'i brauseri käivitumist ja käitumist automatiseeritud testide ajal. Koos konfigureerivad nad argumente, laiendusi, SSL-i käitlemist ja brauseriteüleseid sätteid, muutes testid paindlikuks, korratavaks ja valmisolekuks. Selenium Võrgustiku teostus.

  • 🌐 Chrome'i valikud: Kohandab seansse argumentidega nagu start-maximized, incognito ja päiseta.
  • ⚙️ Soovitud võimed: Määrab brauseri nime, platvormi, versiooni ja SSL-sertifikaadi aktsepteerimise.
  • 🧩 Laiendused: Laadige CRX-fail automaatselt, mitte käsitsi.
  • 🕵️ Inkognito ja peata: Korduvkasutatav kood käitab CI-torustike jaoks privaatseid või taustaseansse.
  • 🖥️ Selenium Võrgustik: Võimalused võimaldavad brauseriteülest ja hajutatud testide käivitamist.
  • ⚠️ Selenium 4. aasta märkus: DesiredCapabilities on aegunud; edasta ChromeOptions otse draiverile.

Chrome'i valikud ja soovitud võimalused Selenium Veebidraiver

Mis on Chrome'i valikute klass?

. Chrome Options klass on mõiste sees Selenium WebDriver Chrome'i draiveri erinevate omadustega manipuleerimiseks. Chrome'i valikute klassi kasutatakse tavaliselt koos soovitud võimalustega Chrome'i draiveri seansside kohandamiseks. See aitab teil teha erinevaid toiminguid, nagu Chrome'i avamine maksimeeritud režiimis, olemasolevate laienduste keelamine, hüpikaknade keelamine jne.

Näide:

Allolevas näites on näidatud viis Chrome'i brauseri avamiseks maksimeeritud režiimis, kasutades klassi ChromeOptions. Peame veebidraiveri lähtestamisele edastama klassi ChromeOptions eksemplari.

ChromeOptions options = new ChromeOptions()
options.addArgument("start-maximized");
ChromeDriver driver = new ChromeDriver(options);

Allpool on ChromeOptions klassi jaoks saadaolevate ja kõige sagedamini kasutatavate argumentide loend

  • start-maksimeeritud: avab Chrome'i maksimeerimisrežiimis
  • inkognito: Avab Chrome'i inkognito režiimis
  • peata: Avab Chrome'i peata režiimis
  • laienduste keelamine: keelab Chrome'i brauseris olemasolevad laiendused
  • keela hüpikakende blokeerimine: keelab Chrome'i brauseris kuvatavad hüpikaknad
  • make-default-brauser: Teeb Chrome'i vaikebrauseriks
  • versioon: prindib Chrome'i brauseri versiooni
  • inforibade keelamine: Takistab Chrome'il kuvamast teadet „Chrome'i juhib automatiseeritud tarkvara

Soovitud võimete klass

Soovitud võimete klass kasutatakse veebidraiverite mitme atribuudi muutmiseks. See pakub võtme-väärtuste paare, et muuta veebidraiverite üksikuid atribuute, nagu brauseri nimi, brauseri platvorm jne. Soovitud võimete klassi levinud meetod on setCapability meetod. Seda kasutatakse enamasti koos Selenium Grid, kus sama testjuhtum tuleb sooritada erinevates brauserites.

Näide:

Allolev näide näitab viisi, kuidas lubada Chrome'i brauseris veebisaitidel vaikimisi SSL-sertifikaate vastu võtta, kasutades Chrome'i klassi soovitud võimalusi.

// Create an object of desired capabilities class with Chrome driver
DesiredCapabilities SSLCertificate = DesiredCapabilities.chrome();
// Set the pre defined capability – ACCEPT_SSL_CERTS value to true
SSLCertificate.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
// Open a new instance of chrome driver with the desired capability
WebDriver driver = new ChromeDriver(SSLCertificate);

Allpool on toodud kõige sagedamini kasutatavad eelmääratletud võimetüübid.

Võimaluse nimi Kirjeldus
ACCEPT_SSL_CERTS See atribuut käsib brauseril vaikimisi SSL-sertifikaate aktsepteerida
PLATFORM_NAME Seda atribuuti kasutatakse veebisaidile juurdepääsuks kasutatava operatsioonisüsteemi platvormi määramiseks
BROWSER_NAME Seda atribuuti kasutatakse veebidraiveri eksemplari brauseri nime määramiseks
VERSIOON Seda atribuuti kasutatakse brauseri versiooni määramiseks

Chrome'i valikud Adblockeri laienduse jaoks

Chrome'i brauseri reklaamiblokeerija laiendust saab hallata ChromeDriver Options ja Desired Capabilities klassi abil. Allpool on juhised juurdepääsuks AdBlocker laiendus Chrome'i brauseris, kasutades Desired Capabilities klassi.

Step 1) AdBlockenne klassi Chrome Options kasutamist tuleb Chrome'i brauserisse installida laiendus

Step 2) Extract CRX-fail, mis vastab AdBlocker laiendus läbi http://crxextractor.com/

Step 3) Edastage allalaaditud CRX-faili tee Chrome'i valikute klassi

Step 4) Looge veebidraiver, kasutades soovitud võimaluste klassi ja Chrome'i valikuid Selenium objekt

Näide:

Allpool on näide, kuidas aktiveerida Chrome'i brauseris reklaamiblokeerija laiendus, kasutades Chrome'i valikute ja soovitud võimaluste klassi.

ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("Path to CRX File"));
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
ChromeDriver driver = new ChromeDriver(capabilities);

ExtracCRX-fail

Allolevad sammud demonstreerivad ex protsessitracCRX-faili avamine reklaamiblokeerija kaudu veebisaidi kaudu – http://crxextractor.com/

Step 1) Minna http://crxextractor.com/ ja klõpsake nuppu Start

ExtracCRX-fail

Step 2) Sisestage Chrome'i laiendus – reklaamiblokeerija URL tekstikasti all. URL Adblocki jaoks Chrome'i veebipoes on https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom

ja klõpsake nuppu ok

ExtracCRX-fail

Step 3) Nupu OK klõpsamisel muutub nupu silt Get .CRX-iks, nagu allpool näidatud. Klõpsake nuppu Hangi .CRX, laiendile vastav CRX-fail laaditakse alla

ExtracCRX-fail

Step 4) Salvestage fail kohalikku masinasse, märkige üles salvestatud tee. Järgmine samm on salvestatud tee edastamine Chrome'i valikute klassi

Proov Code:

  1. Näete reklaame aadressil https://demo.guru99.com/ nagu allpool

ExtracCRX-fail

  1. koos AdBlockChrome'i brauseri reklaamides lubatud laiendus tuleks keelata
package adblock;
import java.io.File;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;


public class AdblockDemo {
public static void main(String[] args)  {
	
	System.setProperty("webdriver.chrome.driver","X://chromedriver.exe");		
	ChromeOptions options = new ChromeOptions();
	options.addExtensions(new File("X://extension_3_40_1_0.crx")); 
	DesiredCapabilities capabilities = new DesiredCapabilities();
	capabilities.setCapability(ChromeOptions.CAPABILITY, options);
	options.merge(capabilities);
	ChromeDriver driver = new ChromeDriver(options);
	driver.get("https://demo.guru99.com/test/simple_context_menu.html");
	driver.manage().window().maximize();
	//driver.quit();
	}
	
}

Code Selgitus:

  1. Esialgu peate määrama faili chromedriver.exe tee, kasutades atribuudi määramise meetodit, kuna kasutate testimiseks Chrome'i brauserit
  2. Laiendusmeetodi lisamiseks peate määrama tee CRX-failile
  3. Seejärel peate looma Chrome'i soovitud võimaluste objekti Selenium klassi ja edastage see veebidraiveri eksemplarile. Alates Selenium 3.8.1 versioon, draiveri võimaluste klass on aegunud ja enne Chrome Driveri konstruktorile argumendina edastamist peate ühendama võimaluste objekti objektiga Chrome Options
  4. avage URL - https://demo.guru99.com/test/simple_context_menu.html reklaamiblokeerija laiendusega
  5. Maksimeerige ja sulgege brauser

MÄRKUS: Me võimaldame AdBlocker laiendus Chrome'i brauseris automatiseerimisskripti abil, selle asemel, et Chrome'i brauseris Adblockeri laiendus käsitsi lubada. CRX-fail on viis, kuidas pääseda juurde reklaamiblokeerija laiendusele automatiseerimisskripti abil

Väljund:

Chrome'i brauser lubatakse AdBlocker laiendus on lubatud ilma reklaamideta nagu allpool

ExtracCRX-fail

Lisaks laienduste laadimisele kontrollib ChromeOptions ka brauseriakna enda töötamist.

Chrome'i valikud inkognito režiimi jaoks

Chrome'i valikuid saab kasutada inkognito režiimis, kasutades eelmääratletud argumenti –tundmatuna.

Allpool on näidiskood sama tegemiseks.

Proov Code:

package test;
import java.io.File;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;

public class Incognito{
public static void main(String[] args) {
	// TODO Auto-generated method stub
	System.setProperty("webdriver.chrome.driver","X://chromedriver.exe");
	ChromeOptions options = new ChromeOptions();
	options.addArguments("--incognito");
	DesiredCapabilities capabilities = new DesiredCapabilities();
	capabilities.setCapability(ChromeOptions.CAPABILITY, options);
	options.merge(capabilities);
	ChromeDriver driver = new ChromeDriver(options);		
	driver.get("https://demo.guru99.com/test/simple_context_menu.html");
	driver.manage().window().maximize();		
	//driver.quit();
	}
	}

Code Selgitus:

  1. Esialgu peate määrama faili chromedriver.exe tee, kasutades atribuudi määramise meetodit, kuna kasutate testimiseks Chrome'i brauserit
  2. Seejärel peate looma Chrome'i valikute klassi objekti ja edastama selle veebidraiveri eksemplarile. Kuna tahame Chrome'i brauseri avada inkognito režiimis, peate argumendi – inkognito edastama Chrome'i valikute klassile.
  3. Järgmisena looge soovitud võimaluste klassi objekt ja ühendage soovitud võimaluste klassi objekt Chrome Options klassi objektiga, kasutades liitmismeetodit
  4. Peate looma Chrome'i draiveriklassi objekti ja edastama argumendina objekti Chrome'i valikud
  5. Lõpuks peame läbima URL - https://demo.guru99.com/test/simple_context_menu.html juhile.get meetod
  6. Maksimeerige ja sulgege brauser

Väljund:

Chrome'i brauseriaken avatakse inkognito režiimis nagu allpool

Chrome'i valikud inkognito režiimi jaoks

Chrome'i valikud peata Chrome'i jaoks

Taustal töötab peata brauser. Te ei näe brauseri GUI-d ega sellega tehtud toiminguid.

Chrome'i valikuid Chrome'i brauseri peata režiimis käitamiseks saab teha eelmääratletud argumentide abil -peata.

Allpool on mainitud näidiskoodi selle saavutamiseks.

Näide:

package test;
import java.io.File;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;


public class HeadlessModeDemo {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.setProperty("webdriver.chrome.driver","X://chromedriver.exe");
		ChromeOptions options = new ChromeOptions();
		options.addArguments("--headless");
		DesiredCapabilities capabilities = new DesiredCapabilities();
		capabilities.setCapability(ChromeOptions.CAPABILITY, options);
		options.merge(capabilities);
		ChromeDriver driver = new ChromeDriver(options);		
		driver.get("https://demo.guru99.com/");
		driver.manage().window().maximize();
		String title = driver.getTitle();
		System.out.println("Page Title: " +title);
		driver.quit();
		}


}

Code Selgitus:

  1. Esialgu peate määrama faili chromedriver.exe tee, kasutades atribuudi määramise meetodit, kuna kasutate testimiseks Chrome'i brauserit
  2. Järgmisena looge Chrome'i valikute klassi objekt ja edastage see veebidraiveri eksemplarile. Kuna tahame avada Chrome'i brauseri peata režiimis, peame argumendi –peata edastama Chrome'i valikute klassile.
  3. Looge Chrome'i klassi DesiredCapabilities objekt ja ühendage DesiredCapabilities klassi objekt klassi Chrome Options objektiga, kasutades liitmismeetodit
  4. Looge Chrome'i draiveriklassi objekt ja edastage Chrome'i valikud Selenium objekt argumendina
  5. Lõpuks peame läbima URL - https://demo.guru99.com/ juhile.get meetod
  6. Printige lehe pealkiri ja sulgege brauser

Väljund

Brauser ei ole ülaltoodud koodi puhul nähtav, kuna Chrome töötab peata režiimis. Lehekülje pealkiri tuuakse ja kuvatakse nagu allpool.

Chrome'i valikud peata Chrome'i jaoks

KKK

Jah. Selenium 4 aegunud DesiredCapabilities'i brauseri valikuklasside (nt ChromeOptions) kasuks. Selenium 3 sa ühendasid need; Selenium 4 edastate ChromeOptionsi otse draiverile.

Kutsu funktsioon addArguments välja mitme lipuga, näiteks options.addArguments lipuga start-maximized ja incognito. Saad ka mitu kutset aheldada. Iga argument kohandab Chrome'i seansi käivitumist.

addArguments edastab Chrome'ile käsurea lipud, näiteks päiseta või inkognito. addExtensions laadib seansi pakendatud .crx-laiendifaili. Mõlemad kohandavad käitumist, kuid täidavad erinevaid eesmärke.

Jah. Tehisintellekti assistendid, näiteks Copiloti tugisambad, ChromeOptions ja võimete seadistused, pakuvad argumentide nimesid ja selgitavad aegunud API-sid. Vaadake alati väljund üle, sest lipunimed ja Selenium versioonid muutuvad sageli.

Tehisintellekti isetervendamise tööriistad värskendavad argumente automaatselt, tuvastavad ebaühtlaseid märke ja pakuvad pärast Chrome'i versiooniuuendusi stabiilseid asendusi. Need vähendavad hooldust peata käivitamiste ja võimete mittevastavuste korral CI-keskkondades.

Jah. ChromeOptions töötab koos RemoteWebDriveriga Gridi käivitamiseks. Valikud lisatakse kaugseansile, lastes samal konfiguratsioonil töötada hajutatud masinates ja brauserites.

Tavaliselt tähendab see, et ChromeDriveri ja Chrome'i brauseri versioonid ei ühti. Paigaldage sobiv ChromeDriver või kasutage Selenium Juhataja Selenium 4 draiveri automaatseks lahendamiseks.

Kasutage eksperimentaalset valikut: eelistuste kaardistamine download.default_directory abil, mis on edastatud valiku setExperimentalOption kaudu. Chrome salvestab seejärel failid automaatsete testide ajal automaatselt sellesse kausta.

Võta see postitus kokku järgmiselt: