Chromen asetukset ja halutut ominaisuudet Selenium

⚡ Älykäs yhteenveto

Chrome-asetukset ja halutut ominaisuudet Selenium WebDriver ohjaa Chrome-selaimen käynnistymistä ja toimintaa automatisoitujen testien aikana. Yhdessä ne määrittävät argumentteja, laajennuksia, SSL-käsittelyä ja selainten välisiä asetuksia, mikä tekee testiajoista joustavia, toistettavia ja valmiita... Selenium Ruudukon toteutus.

  • 🌐 Chrome-asetukset: Mukauttaa istuntoja argumenteilla, kuten aloitus-maksimi, incognito ja headless.
  • ⚙️ Halutut ominaisuudet: Asettaa selaimen nimen, alustan, version ja SSL-varmenteen hyväksynnän.
  • 🧩 laajennukset: Lataa CRX-tiedosto automaattisesti manuaalisen asentamisen sijaan.
  • 🕵️ Inkognito ja päätön: Uudelleenkäytettävä koodi suorittaa yksityisiä tai taustaistuntoja CI-putkille.
  • 🖥️ Selenium Ruudukko: Ominaisuudet mahdollistavat hajautetun testien suorittamisen eri selaimissa.
  • ⚠️ Selenium Vuoden 4 huomautus: DesiredCapabilities on vanhentunut; välitä ChromeOptions suoraan ajurille.

Chrome-asetukset ja halutut ominaisuudet Selenium web-ajuri

Mikä on Chromen asetusluokka?

Chromeoptiot-luokka on käsite Selenium WebDriver Chrome-ohjaimen eri ominaisuuksien käsittelemiseen. Chromen asetusluokkaa käytetään yleensä yhdessä Haluttujen ominaisuuksien kanssa Chrome-ohjainistuntojen mukauttamiseen. Se auttaa sinua suorittamaan erilaisia ​​toimintoja, kuten avaamaan Chromen maksimoidussa tilassa, poistamaan olemassa olevat laajennukset, poistamaan ponnahdusikkunat jne.

Esimerkiksi:

Alla oleva esimerkki näyttää tavan avata Chrome-selain suurennetussa tilassa ChromeOptions-luokan avulla. Meidän on välitettävä ChromeOptions-luokan esiintymä verkkoohjaimen alustukseen.

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

Alla on luettelo ChromeOptions-luokan käytettävissä olevista ja yleisimmin käytetyistä argumenteista

  • aloitus-maksimoitu: Avaa Chromen suurennustilassa
  • incognito: Avaa Chromen incognito-tilassa
  • päätön: Avaa Chromen päättömässä tilassa
  • poista laajennukset käytöstä: Poistaa käytöstä Chrome-selaimen olemassa olevat laajennukset
  • poista ponnahdusikkunoiden esto käytöstä: Poistaa käytöstä Chrome-selaimessa näkyvät ponnahdusikkunat
  • make-default-selain: Tekee Chromesta oletusselaimen
  • versio: Tulostaa Chrome-selainversion
  • poista tietopalkit käytöstä: Estää Chromea näyttämästä ilmoitusta "Chromea ohjaa automaattinen ohjelmisto

Halutut ominaisuudet -luokka

Haluttu ominaisuusluokka käytetään useiden verkko-ohjainten ominaisuuksien muokkaamiseen. Se tarjoaa avain-arvo-pareja web-ajurien yksittäisten ominaisuuksien, kuten selaimen nimen, selainalustan jne. muuttamiseksi. Yleinen Desired Capabilities -luokan menetelmä on setCapability-menetelmä. Sitä käytetään enimmäkseen Selenium Grid, jossa sama testitapaus on suoritettava eri selaimissa.

Esimerkiksi:

Alla oleva esimerkki näyttää tavan, jolla Chrome-selain voi hyväksyä SSL-varmenteita verkkosivustoilla oletuksena käyttämällä Chrome-luokan Halutut ominaisuudet.

// 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);

Alla on yleisimmin käytetyt ennalta määritetyt ominaisuustyypit.

Valmiuden nimi Tuotetiedot
ACCEPT_SSL_CERTS Tämä ominaisuus käskee selaimen hyväksymään SSL-sertifikaatit oletuksena
PLATFORM_NAME Tätä ominaisuutta käytetään määrittämään verkkosivustolle pääsyyn käytettävä käyttöjärjestelmä
BROWSER_NAME Tätä ominaisuutta käytetään määrittämään selaimen nimi verkkoajurin esiintymälle
VERSION Tätä ominaisuutta käytettiin selainversion asettamiseen

Chrome-asetukset Adblocker-laajennukselle

Chrome-selaimen Adblocker-laajennusta voidaan käsitellä käyttämällä ChromeDriver Options- ja Desired Capabilities -luokkaa. Alla on pääsyn vaiheet AdBlocker laajennus Chrome-selaimessa käyttämällä Desired Capabilities -luokkaa.

Vaihe 1) AdBlocker laajennus on asennettava Chrome-selaimeen ennen Chrome Options -luokan käyttöä

Vaihe 2) Extract vastaava CRX-tiedosto AdBlocker-laajennus http://crxex kauttatractor.com/

Vaihe 3) Välitä ladatun CRX-tiedoston polku Chrome Options -luokkaan

Vaihe 4) Luo verkko-ohjain halutun ominaisuusluokan ja Chromen asetusten avulla Selenium objekti

Esimerkiksi:

Alla oleva esimerkki osoittaa, kuinka mainosten estolaajennus aktivoidaan Chrome-selaimessa käyttämällä Chromen asetukset ja Halutut ominaisuudet -luokkaa.

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-tiedosto

Alla olevat vaiheet havainnollistavat ex-prosessintracCRX-tiedoston lataaminen mainosten estäjän kautta verkkosivuston kautta – http://crxextractor.com/

Vaihe 1) Mene http://crxextractor.com/ ja napsauta aloituspainiketta

ExtracCRX-tiedosto

Vaihe 2) Anna Chrome-laajennus – Mainostenesto URL tekstikentän alla. URL Adblockille Chrome-verkkokaupassa on https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom

ja napsauta ok

ExtracCRX-tiedosto

Vaihe 3) Kun napsautat OK-painiketta, painikkeen otsikko muuttuu Get .CRX:ksi, kuten alla. Napsauta Hanki .CRX-painiketta, jolloin laajennusta vastaava CRX-tiedosto ladataan

ExtracCRX-tiedosto

Vaihe 4) Tallenna tiedosto paikalliselle koneelle, kirjoita muistiin tallennettu polku. Seuraava vaihe on siirtää tallennettu polku Chromen asetukset -luokkaan

Näyte Code:

  1. Näet mainoksia osoitteessa https://demo.guru99.com/ kuten alla

ExtracCRX-tiedosto

  1. Kanssa AdBlockChrome-selainmainoksissa käytössä oleva laajennus tulee poistaa käytöstä
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 Selitys:

  1. Aluksi sinun on asetettava polku chromedriver.exe-tiedostoon käyttämällä set property -menetelmää, koska käytät Chrome-selainta testaukseen
  2. Sinun on asetettava polku CRX-tiedostoon, jotta voit lisätä laajennusmenetelmän
  3. Sitten sinun on luotava Chrome Desired Capabilities -objekti Selenium luokkaan ja välitä se web-ohjaininstanssille. From Selenium 3.8.1-versio, ajurin ominaisuusluokka on vanhentunut, ja sinun on yhdistettävä ominaisuusobjekti Chrome Options -objektiin ennen kuin välität saman argumentin Chrome Driver -konstruktorille
  4. Avaa URL - https://demo.guru99.com/test/simple_context_menu.html Ad Blocker -laajennuksen ollessa käytössä
  5. Maksimoi ja sulje selain

HUOMAUTUS: Olemme mahdollistamassa AdBlocker laajennus Chrome-selaimessa automaatiokoodin avulla sen sijaan, että ottaisit Adblocker-laajennuksen käyttöön manuaalisesti Chrome-selaimessa. CRX-tiedosto on tapa käyttää mainosten estolaajennusta automaatiokomentosarjan avulla

lähtö:

Chrome-selain otetaan käyttöön kanssa AdBlocker laajennus otettu käyttöön alla ilman mainoksia

ExtracCRX-tiedosto

Laajennusten lataamisen lisäksi ChromeOptions hallitsee myös itse selainikkunan toimintaa.

Chromen asetukset incognito-tilassa

Chromen asetuksia voidaan käyttää incognito-tilassa käyttämällä ennalta määritettyä argumenttia -tuntemattomana.

Alla on esimerkkikoodi saman suorittamiseksi.

Näyte 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 Selitys:

  1. Aluksi sinun on asetettava polku chromedriver.exe-tiedostoon käyttämällä set property -menetelmää, koska käytät Chrome-selainta testaukseen
  2. Sitten sinun on luotava Chrome Options -luokan objekti ja välitettävä se verkkoohjaininstanssille. Koska haluamme avata Chrome-selaimen incognito-tilassa, sinun on välitettävä argumentti –incognito Chrome Options -luokkaan.
  3. Luo seuraavaksi Desired Capabilities -luokan objekti ja yhdistä Desired Capabilities -luokan objekti Chrome Options -luokan objektiin yhdistämismenetelmällä
  4. Sinun on luotava Chrome Driver -luokan objekti ja välitettävä Chrome Options -objekti argumenttina
  5. Lopuksi meidän on läpäistävä URL - https://demo.guru99.com/test/simple_context_menu.html kuljettajalle.get-menetelmä
  6. Maksimoi ja sulje selain

lähtö:

Chrome-selainikkuna avataan incognito-tilassa alla kuvatulla tavalla

Chromen asetukset incognito-tilassa

Chrome-asetukset päättömälle Chromelle

Päätön selain toimii taustalla. Et näe selaimen käyttöliittymää tai sillä suoritettuja toimintoja.

Chrome Asetukset Chrome-selaimen käyttämiseen päättömässä tilassa voidaan suorittaa käyttämällä ennalta määritettyjä argumentteja -kannaton.

Esimerkkikoodi sen suorittamiseksi on mainittu alla.

Esimerkiksi:

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 Selitys:

  1. Aluksi sinun on asetettava polku chromedriver.exe-tiedostoon käyttämällä set property -menetelmää, koska käytät Chrome-selainta testaukseen
  2. Luo seuraavaksi Chrome Options -luokan objekti ja välitä se verkkoohjaininstanssille. Koska haluamme avata Chrome-selaimen päättömässä tilassa, meidän on välitettävä argumentti -headless Chrome Options -luokkaan.
  3. Luo DesiredCapabilities Chrome-luokan objekti ja yhdistä Desired Capabilities -luokan objekti Chrome Options -luokan objektiin yhdistämismenetelmällä
  4. Luo Chrome Driver -luokan objekti ja välitä Chrome-asetukset Selenium vastustaa argumenttina
  5. Lopuksi meidän on läpäistävä URL - https://demo.guru99.com/ kuljettajalle.get-menetelmä
  6. Tulosta sivun otsikko ja sulje selain

ulostulo

Selain ei näy yllä olevalle koodille, koska Chrome toimii Headless-tilassa. Sivun otsikko noudetaan ja näytetään alla olevan mukaisesti.

Chrome-asetukset päättömälle Chromelle

UKK

Kyllä. Selenium 4 vanhentui DesiredCapabilities-luokkien, kuten ChromeOptionsin, hyväksi. Selenium 3 yhdistit ne; Selenium 4 välität ChromeOptions-asetukset suoraan ajurille.

Kutsu addArguments-funktiota useilla kriteereillä, esimerkiksi options.addArguments-funktiolla start-maximized- ja incognito-kriteereillä. Voit myös ketjuttaa useita kutsuja. Jokainen argumentti mukauttaa Chrome-istunnon käynnistystä.

addArguments välittää Chromelle komentorivilippuja, kuten headless tai incognito. addExtensions lataa istuntoon pakatun .crx-tiedostotunnisteen. Molemmat mukauttavat toimintaa, mutta palvelevat eri tarkoituksia.

Kyllä. Tekoälyavustajat, kuten Copilot, luovat ChromeOptions- ja ominaisuusasetuksia, ehdottavat argumenttien nimiä ja selittävät vanhentuneita API-rajapintoja. Tarkista aina tuloste, koska niiden nimet ja Selenium versiot vaihtuvat usein.

Tekoälyn itsekorjaustyökalut päivittävät argumentteja automaattisesti, havaitsevat epävakaita merkintöjä ja ehdottavat vakaita korvauksia Chrome-päivitysten jälkeen. Ne vähentävät ylläpitotarvetta käyttöliittymäsuoritusten ja ominaisuusristiriitojen vuoksi CI-ympäristöissä.

Kyllä. ChromeOptions toimii RemoteWebDriverin kanssa Grid-suoritusta varten. Liität asetukset etäistuntoon, jolloin sama kokoonpano toimii hajautetuissa koneissa ja selaimissa.

Tämä tarkoittaa yleensä, että ChromeDriverin ja Chrome-selaimen versiot eivät vastaa toisiaan. Asenna vastaava ChromeDriver tai käytä Selenium Johtaja Selenium 4 ratkaistaksesi ajurin automaattisesti.

Käytä kokeellista vaihtoehtoa: prefs-karttaa, jossa on download.default_directory ja setExperimentalOption. Chrome tallentaa sitten tiedostot kyseiseen kansioon automaattisesti automaattisten testien aikana.

Tiivistä tämä viesti seuraavasti: