Hva er Chrome Options-klassen?
Chrome-alternativklasse brukes til å manipulere forskjellige egenskaper for Chrome-driveren. Chrome-alternativklasse brukes vanligvis i forbindelse med Ønskede muligheter.
Eksempel:
Eksemplet nedenfor viser en måte å åpne Chrome-nettleseren i maksimert modus ved hjelp av ChromeOptions-klassen. Vi må overføre en forekomst av ChromeOptions-klassen til initialisering av nettdriveren.
ChromeOptions-alternativer = nye ChromeOptions ()options.addArgument ("startmaksimert");ChromeDriver-driver = ny ChromeDriver (alternativer);
Nedenfor er listen over tilgjengelige og mest brukte argumenter for ChromeOptions-klassen
- startmaksimert : Åpner Chrome i maksimeringsmodus
- inkognito: Åpner Chrome i inkognitomodus
- hodeløs: Åpner Chrome i hodeløs modus
- disable-extensions : Deaktiver eksisterende utvidelser i Chrome-nettleseren
- disable-popup-blocking : Deaktiver popup-vinduer som vises i Chrome-nettleseren
- make-default-browser: Gjør Chrome til standard nettleser
- versjon : Skriver ut kromleserversjon
- disable-infobars: Hindrer Chrome fra å vise varselet 'Chrome blir kontrollert av automatisert programvare
I denne veiledningen vil du lære
- Hva er Chrome Options-klassen?
- Ønsket kapasitetsklasse
- Chrome-alternativer for Adblocker-utvidelse
- Chrome-alternativer for inkognitomodus
- Chrome-alternativer for hodeløs krom
Ønsket kapasitetsklasse
Ønsket kapasitetsklasse brukes til å endre flere egenskaper til nettdriveren. Ønskede funksjoner-klassen gir et sett med nøkkelverdipar for å endre individuelle egenskaper til nettdriveren, for eksempel nettlesernavn, nettleserplattform, etc. Den mest brukte metoden for Ønskede muligheter er setCapability-metoden. Ønskede evner brukes oftest med Selenium Grid der samme testtilfelle må utføres i forskjellige nettlesere.
Eksempel:
Eksemplet nedenfor viser hvordan Chrome-nettlesere kan akseptere SSL-sertifikater på nettsteder som standard ved å bruke ønsket klasse.
// Opprett et objekt av ønsket kapasitetsklasse med Chrome-driverDesiredCapabilities SSLCertificate = DesiredCapabilities.chrome ();// Sett den forhåndsdefinerte muligheten - ACCEPT_SSL_CERTS-verdi til sannSSLCertificate.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true);// Åpne en ny forekomst av kromdriver med ønsket evneWebDriver driver = ny ChromeDriver (SSLCertificate);
Nedenfor er de mest brukte forhåndsdefinerte funksjonstypene.
Evne Navn | Beskrivelse |
ACCEPT_SSL_CERTS | Denne egenskapen ber nettleseren om å godta SSL-sertifikater som standard |
PLATFORM_NAME | Denne egenskapen brukes til å angi operativsystemplattformen som brukes til å få tilgang til nettstedet |
BROWSER_NAME | Denne egenskapen brukes til å angi nettlesernavnet for en webdriverinstans |
VERSJON | Denne egenskapen brukes til å angi nettleserversjonen |
Chrome-alternativer for Adblocker-utvidelse
Adblocker-utvidelse av Chrome-nettleseren kan håndteres ved hjelp av klassen Chrome Options and Desired Capabilities. Nedenfor er trinnene for å få tilgang til AdBlocker-utvidelsen i Chrome-nettleseren ved å bruke ønsket klasse.
Trinn 1) AdBlocker-utvidelsen må installeres i Chrome-nettleseren før du bruker Chrome Options-klassen
Trinn 2) Pakk ut CRX-filen som tilsvarer AdBlocker-utvidelsen gjennom http://crxextractor.com/
Trinn 3) Send den nedlastede CRX-filstien til Chrome-alternativklassen
Trinn 4) Instanter nettdriveren ved hjelp av ønsket kapasitetsklasse og kromalternativobjekt
Eksempel:
Nedenfor vises et eksempel på hvordan du aktiverer utvidelse av annonseblokkering i Chrome-nettleseren ved hjelp av klassen Chrome Options and Desired Capabilities.
ChromeOptions-alternativer = nye ChromeOptions ();options.addExtensions (ny fil ("Path to CRX File"));DesiredCapabilities-muligheter = nye DesiredCapabilities ();skills.setCapability (ChromeOptions.CAPABILITY, opsjoner);ChromeDriver driver = ny ChromeDriver (evner);
Pakk ut CRX-fil:
Trinnene nedenfor viser prosessen med å trekke ut CRX-filer gjennom annonseblokkering gjennom nettstedet - http://crxextractor.com/
Trinn 1) Gå til http://crxextractor.com/ og klikk startknappen
Trinn 2) Skriv inn Chrome-utvidelsen - Ad Blocker URL under tekstboksen. URL for Adblock i Chrome nettbutikk er https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom
og klikk ok
Trinn 3) Når du klikker på OK-knappen, endres etiketten til knappen til Get .CRX som nedenfor. Klikk på Get .CRX-knappen, CRX-fil som tilsvarer utvidelsen lastes ned
Trinn 4) Lagre filen på den lokale maskinen, noter stien som er lagret. Neste trinn er å sende den lagrede banen til Chrome Options-klassen
Eksempelkode:
- Du vil se annonser på http://demo.guru99.com/ som nedenfor
- Med utvidelse av AdBlocker aktivert i Chrome bør annonser deaktiveres
pakke adblock;importere java.io.File;importer org.openqa.selenium.chrome.ChromeDriver;importer org.openqa.selenium.chrome.ChromeOptions;importer org.openqa.selenium.remote.DesiredCapabilities;offentlig klasse AdblockDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions-alternativer = nye ChromeOptions ();options.addExtensions (ny fil ("X: //extension_3_40_1_0.crx"));DesiredCapabilities-muligheter = nye DesiredCapabilities ();skills.setCapability (ChromeOptions.CAPABILITY, opsjoner);options.merge (evner);ChromeDriver-driver = ny ChromeDriver (alternativer);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). vindu (). maksimere ();//driver.quit ();}}
Kode Forklaring:
- Opprinnelig må du angi banen til chromedriver.exe-filen ved å bruke set-egenskapsmetoden siden du bruker Chrome-nettleser for testing
- Du må angi banen til CRX File for å legge til utvidelsesmetoden
- Deretter må du lage et objekt av ønsket kapasitetsklasse og overføre det til webdriverinstans. Fra Selenium 3.8.1-versjonen er driveregenskapsklassen avviklet, og du må slå sammen funksjonsobjektet med Chrome Options-objektet før du sender det samme som et argument til Chrome Driver-konstruktøren
- Åpne URL-en - http://demo.guru99.com/test/simple_context_menu.html med Ad Blocker-utvidelse aktivert
- Maksimer og lukk nettleseren
MERKNAD: Vi aktiverer AdBlocker-utvidelsen i Chrome-nettleseren gjennom automatiseringsskript i stedet for å aktivere Adblocker-utvidelsen manuelt i Chrome-nettleseren. CRX File er en måte å få tilgang til utvidelse av annonseblokkering ved hjelp av automatiseringsskript
Produksjon:
Chrome-nettleser vil bli aktivert med AdBlocker-utvidelse aktivert som nedenfor uten annonser
Chrome-alternativer for inkognitomodus
Chrome-alternativer kan brukes i inkognitomodus ved å bruke det forhåndsdefinerte argumentet - inkognito .
Nedenfor er eksempelkoden for å oppnå det samme.
Eksempelkode:
pakke test;importere java.io.File;importer org.openqa.selenium.chrome.ChromeDriver;importer org.openqa.selenium.chrome.ChromeOptions;importer org.openqa.selenium.remote.DesiredCapabilities;offentlig klasse Incognito {public static void main (String [] args) {// TODO Auto-generert metodestubSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions-alternativer = nye ChromeOptions ();options.addArguments ("- inkognito");DesiredCapabilities-muligheter = nye DesiredCapabilities ();skills.setCapability (ChromeOptions.CAPABILITY, opsjoner);options.merge (evner);ChromeDriver-driver = ny ChromeDriver (alternativer);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). vindu (). maksimere ();//driver.quit ();}}
Kode Forklaring :
- Opprinnelig må du angi banen til chromedriver.exe-filen ved å bruke set-egenskapsmetoden siden du bruker Chrome-nettleser for testing
- Deretter må du opprette et objekt i Chrome Options-klassen og overføre det til en webdriverinstans. Siden vi vil åpne Chrome-nettleseren i inkognitomodus, må du sende argumentet -incognito til Chrome Options-klassen.
- Deretter oppretter du et objekt av ønsket kapasitetsklasse og slår sammen ønsket objekt med ønsket alternativ med Chrome-alternativer med flettemetode
- Du må opprette et objekt i Chrome Driver-klassen og sende Chrome Options-objektet som et argument
- Til slutt må vi sende URLen - http://demo.guru99.com/test/simple_context_menu.html til driver.get-metoden
- Maksimer og lukk nettleseren
Produksjon:
Chrome-nettleservinduet åpnes i inkognitomodus som nedenfor
Chrome-alternativer for hodeløs krom
En hodeløs nettleser kjører i bakgrunnen. Du vil ikke se brukergrensesnittet til nettleseren eller operasjonene som er utført på den.
Chrome-alternativer for å kjøre Chrome-nettleser i hodeløs modus kan oppnås ved å bruke de forhåndsdefinerte argumentene - hodeløs .
Eksempelkode for å oppnå det er nevnt nedenfor.
Eksempel:
pakke test;importere java.io.File;importer org.openqa.selenium.chrome.ChromeDriver;importer org.openqa.selenium.chrome.ChromeOptions;importer org.openqa.selenium.remote.DesiredCapabilities;offentlig klasse HeadlessModeDemo {public static void main (String [] args) {// TODO Auto-generert metodestubSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions-alternativer = nye ChromeOptions ();options.addArguments ("- headless");DesiredCapabilities-muligheter = nye DesiredCapabilities ();skills.setCapability (ChromeOptions.CAPABILITY, opsjoner);options.merge (evner);ChromeDriver-driver = ny ChromeDriver (alternativer);driver.get ("http://demo.guru99.com/");driver.manage (). vindu (). maksimere ();Streng tittel = driver.getTitle ();System.out.println ("Sidetittel: + tittel);driver.quit ();}}
Kode Forklaring :
- Opprinnelig må du angi banen til chromedriver.exe-filen ved å bruke set-egenskapsmetoden siden du bruker Chrome-nettleser for testing
- Deretter oppretter du et objekt i Chrome Options-klassen og sender det til en webdriverinstans. Siden vi ønsker å åpne Chrome-nettleseren i hodeløs modus, må vi overføre argumentet -headless til Chrome Options-klassen.
- Opprett et objekt av klasse Ønskede evner og slå sammen objektet Ønskede evner med klasseobjekter for Chrome-alternativer ved å bruke flettemetode
- Opprett et objekt i Chrome Driver-klassen og send Chrome Options-objektet som et argument
- Til slutt må vi sende URLen - http://demo.guru99.com/ til driver.get-metoden
- Skriv ut sidetittelen og lukk nettleseren
Produksjon
Nettleseren vil ikke være synlig for koden ovenfor, siden Chrome fungerer i hodeløs modus. Sidetittelen hentes og vises som nedenfor.
Sammendrag:
- Chrome-alternativklasse brukes til å manipulere forskjellige egenskaper for Chrome-driveren
- Ønsket kapasitetsklasse gir et sett med nøkkelverdipar for å endre individuelle egenskaper til nettdriveren, for eksempel nettlesernavn, nettleserplattform, etc.
- For å manipulere eventuelle utvidelser av Chrome-nettleseren, må CRX-fil som tilsvarer utvidelsen tas ut og må legges til i Chrome-alternativklassen
- --incognito og -headless er forhåndsdefinerte argumenter levert av Chrome Options-klassen for bruk av Chrome-nettleser i inkognitomodus og hodeløs modus