Chrome-indstillinger & Ønskede muligheder: AdBlocker, Incognito, Headless

Indholdsfortegnelse:

Anonim

Hvad er Chrome Options-klassen?

Chrome-indstillingsklasse bruges til at manipulere forskellige egenskaber ved Chrome-driveren. Chrome-indstillingsklassen bruges normalt sammen med ønsket kapacitet.

Eksempel:

Nedenstående eksempel viser en måde at åbne Chrome-browseren i maksimeret tilstand ved hjælp af ChromeOptions-klassen. Vi er nødt til at videregive en forekomst af ChromeOptions-klassen til initialiseringen af ​​webdriveren.

ChromeOptions-muligheder = nye ChromeOptions ()options.addArgument ("start-maksimeret");ChromeDriver-driver = ny ChromeDriver (valgmuligheder);

Nedenfor er listen over tilgængelige og mest anvendte argumenter for ChromeOptions-klassen

  • start-maksimeret : Åbner Chrome i maksimeringstilstand
  • inkognito: Åbner Chrome i inkognitotilstand
  • headless: Åbner Chrome i hovedløs tilstand
  • deaktiver-udvidelser : Deaktiverer eksisterende udvidelser i Chrome-browseren
  • deaktiver-popup-blokering : Deaktiverer pop op-vinduer, der vises i Chrome-browseren
  • make-default-browser: Gør Chrome til standardbrowser
  • version : Udskriver Chrome-browserversion
  • deaktiver infobar: forhindrer Chrome i at vise meddelelsen 'Chrome styres af automatiseret software

I denne vejledning lærer du

  • Hvad er Chrome Options-klassen?
  • Ønsket kapacitetsklasse
  • Chrome-indstillinger til Adblocker-udvidelse
  • Chrome-indstillinger til inkognitotilstand
  • Chrome-indstillinger til hovedløs krom

Ønsket kapacitetsklasse

Ønsket kapacitetsklasse bruges til at ændre flere egenskaber for webdriver. Desired Capabilities-klassen giver et sæt nøgleværdipar til at ændre individuelle egenskaber for webdriveren, såsom browsernavn, browserplatform osv. Den mest anvendte metode til Class of Desired Capabilities er setCapability-metoden. Ønskede kapaciteter bruges hyppigst med Selen Grid, hvor den samme testcase skal udføres i forskellige browsere.

Eksempel:

Nedenstående eksempel viser, hvordan Chrome-browsere kan acceptere SSL-certifikater på websteder som standard ved hjælp af klasse Ønskede funktioner.

// Opret et objekt med den ønskede kapacitetsklasse med Chrome-driverenDesiredCapabilities SSLCertificate = DesiredCapabilities.chrome ();// Indstil den foruddefinerede kapacitet - ACCEPT_SSL_CERTS-værdi til sandSSLCertificate.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true);// Åbn en ny forekomst af kromdriver med den ønskede kapacitetWebDriver-driver = ny ChromeDriver (SSLCertificate);

Nedenfor er de mest almindeligt anvendte foruddefinerede funktionstyper.

Kapacitetsnavn Beskrivelse
ACCEPT_SSL_CERTS Denne egenskab fortæller browseren at acceptere SSL-certifikater som standard
PLATFORM_NAME Denne egenskab bruges til at indstille den operativsystemplatform, der bruges til at få adgang til webstedet
BROWSER_NAME Denne egenskab bruges til at indstille browsernavnet til en webdriverinstans
VERSION Denne egenskab bruges til at indstille browserversionen

Chrome-indstillinger til Adblocker-udvidelse

Adblocker-udvidelse af Chrome-browseren kan håndteres ved hjælp af klassen Chrome Options og ønsket kapacitet. Nedenfor er trinene for at få adgang til AdBlocker-udvidelsen i Chrome-browseren ved hjælp af klasse Ønskede muligheder.

Trin 1) AdBlocker-udvidelse skal installeres i Chrome-browseren, før du bruger Chrome Options-klassen

Trin 2) Uddrag CRX-filen, der svarer til AdBlocker-udvidelsen via http://crxextractor.com/

Trin 3) Send den downloadede CRX-filsti til Chrome Options-klassen

Trin 4) Instantier webdriveren ved hjælp af det ønskede kapacitetsklasse- og kromindstillingsobjekt

Eksempel:

Nedenstående eksempel viser, hvordan man aktiverer udvidelse af annonceblokering i Chrome-browseren ved hjælp af klassen Chrome Options og ønsket kapacitet.

ChromeOptions muligheder = nye ChromeOptions ();options.addExtensions (ny fil ("Sti til CRX-fil"));DesiredCapabilities-muligheder = nye DesiredCapabilities ();capabilities.setCapability (ChromeOptions.CAPABILITY, optioner);ChromeDriver-driver = ny ChromeDriver (funktioner);

Uddrag CRX-fil:

Nedenstående trin viser processen med at udtrække CRX-fil gennem Ad Blocker via webstedet - http://crxextractor.com/

Trin 1) Gå til http://crxextractor.com/ og klik på startknappen

Trin 2) Indtast chromextension - Ad Blocker URL under tekstboksen. URL til Adblock i Chrome webbutik er https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom

og klik ok

Trin 3) Når du klikker på OK-knappen, ændres etiketten på knappen til Get .CRX som nedenfor. Klik på Get .CRX-knappen, CRX-fil, der svarer til udvidelsen, downloades

Trin 4) Gem filen på den lokale maskine, noter den gemte sti. Det næste trin er at sende den gemte sti til Chrome Options-klassen

Prøvekode:

  1. Du kan se annoncer på http://demo.guru99.com/ som nedenfor

  1. Med AdBlocker-udvidelse aktiveret i Chrome bør annoncer deaktiveres
pakke adblock;import java.io.File;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.chrome.ChromeOptions;import org.openqa.selenium.remote.DesiredCapabilities;offentlig klasse AdblockDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions muligheder = nye ChromeOptions ();options.addExtensions (ny fil ("X: //extension_3_40_1_0.crx"));DesiredCapabilities-muligheder = nye DesiredCapabilities ();capabilities.setCapability (ChromeOptions.CAPABILITY, optioner);options.merge (kapaciteter);ChromeDriver-driver = ny ChromeDriver (valgmuligheder);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). vindue (). maksimere ();//driver.quit ();}}

Kode Forklaring:

  1. Oprindeligt skal du indstille stien til chromedriver.exe-filen ved hjælp af set-egenskabsmetoden, da du bruger Chrome Browser til test
  2. Du skal indstille stien til CRX-fil for at tilføje udvidelsesmetode
  3. Derefter skal du oprette et objekt af den ønskede kapacitetsklasse og videregive det til webdriverinstans. Fra Selenium 3.8.1-versionen afvikles driverfunktionsklassen, og du skal flette kapacitetsobjekt med Chrome Options-objekt, før du sender det samme som et argument til Chrome Driver-konstruktør
  4. Åbn URL'en - http://demo.guru99.com/test/simple_context_menu.html med Ad Blocker-udvidelse aktiveret
  5. Maksimer og luk browseren

BEMÆRK: Vi aktiverer AdBlocker-udvidelse i Chrome-browseren gennem automatiseringsscript i stedet for manuelt at aktivere Adblocker-udvidelse i Chrome-browseren. CRX File er en måde at få adgang til annonceblokeringsudvidelse ved hjælp af automatiseringsscript

Produktion:

Chrome-browseren aktiveres med AdBlocker-udvidelse aktiveret som nedenfor uden nogen annoncer

Chrome-indstillinger til inkognitotilstand

Chrome-indstillinger kan bruges til inkognitotilstand ved hjælp af det foruddefinerede argument - inkognito .

Nedenfor er prøvekoden for at opnå det samme.

Prøvekode:

pakke test;import java.io.File;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.chrome.ChromeOptions;import org.openqa.selenium.remote.DesiredCapabilities;offentlig klasse Incognito {public static void main (String [] args) {// TODO Auto-genereret metodestubSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions muligheder = nye ChromeOptions ();options.addArguments ("- inkognito");DesiredCapabilities-muligheder = nye DesiredCapabilities ();capabilities.setCapability (ChromeOptions.CAPABILITY, optioner);options.merge (kapaciteter);ChromeDriver-driver = ny ChromeDriver (valgmuligheder);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). vindue (). maksimere ();//driver.quit ();}}

Kode Forklaring :

  1. Oprindeligt skal du indstille stien til chromedriver.exe-filen ved hjælp af set-egenskabsmetoden, da du bruger Chrome Browser til test
  2. Derefter skal du oprette et objekt i Chrome Options-klassen og videregive det til en webdriverinstans. Da vi vil åbne Chrome-browseren i inkognitotilstand, skal du videregive argumentet -incognito til Chrome Options-klassen.
  3. Derefter skal du oprette et objekt i ønsket klasse og flette objektet Ønskede muligheder med klasseobjekter i Chrome Options ved hjælp af fletningsmetode
  4. Du skal oprette et objekt i Chrome Driver-klassen og videregive Chrome Options-objektet som et argument
  5. Endelig er vi nødt til at videregive webadressen - http://demo.guru99.com/test/simple_context_menu.html til metoden driver.get
  6. Maksimer og luk browseren

Produktion:

Chrome-browservinduet åbnes i inkognitotilstand som nedenfor

Chrome-indstillinger til hovedløs krom

En browser uden hoved kører i baggrunden. Du kan ikke se brugergrænsefladen til browseren eller de operationer, der blev brugt på den.

Chrome-indstillinger til at køre Chrome-browseren i hovedløs tilstand kan opnås ved hjælp af de foruddefinerede argumenter - hovedløs .

Eksempelkode for at opnå det er nævnt nedenfor.

Eksempel:

pakke test;import java.io.File;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.chrome.ChromeOptions;import org.openqa.selenium.remote.DesiredCapabilities;offentlig klasse HeadlessModeDemo {public static void main (String [] args) {// TODO Auto-genereret metodestubSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");ChromeOptions muligheder = nye ChromeOptions ();options.addArguments ("- headless");DesiredCapabilities-muligheder = nye DesiredCapabilities ();capabilities.setCapability (ChromeOptions.CAPABILITY, optioner);options.merge (kapaciteter);ChromeDriver-driver = ny ChromeDriver (valgmuligheder);driver.get ("http://demo.guru99.com/");driver.manage (). vindue (). maksimere ();String title = driver.getTitle ();System.out.println ("Sidetitel: + titel);driver.quit ();}}

Kode Forklaring :

  1. Oprindeligt skal du indstille stien til chromedriver.exe-filen ved hjælp af set-egenskabsmetoden, da du bruger Chrome Browser til test
  2. Dernæst skal du oprette et objekt i Chrome Options-klassen og sende det til en webdriverinstans. Da vi vil åbne Chrome-browseren i hovedløs tilstand, skal vi videregive argumentet -hovedet til Chrome-indstillingsklassen.
  3. Opret et objekt i klasse Ønskede muligheder, og flet klasseobjektet Ønskede muligheder med klasseobjekter i Chrome Options ved hjælp af fletningsmetode
  4. Opret et objekt i Chrome Driver-klassen, og send Chrome Options-objektet som et argument
  5. Endelig er vi nødt til at videregive URL'en - http://demo.guru99.com/ til driver.get-metoden
  6. Udskriv sidetitlen, og luk browseren

Produktion

Browseren vil ikke være synlig for ovenstående kode, da Chrome fungerer i hovedløs tilstand. Sidetitel hentes og vises som nedenfor.

Resumé:

  • Chrome-indstillingsklasse bruges til at manipulere forskellige egenskaber ved Chrome-driveren
  • Desired Capabilities-klassen giver et sæt nøgleværdipar til at ændre individuelle egenskaber for webdriveren, såsom browserens navn, browserplatform osv.
  • For at manipulere eventuelle udvidelser i Chrome-browseren skal CRX-fil, der svarer til udvidelsen, udpakkes og skal føjes til Chrome-indstillingsklassen
  • --incognito og -headless er foruddefinerede argumenter leveret af Chrome Options-klassen til brug af Chrome-browseren i inkognitotilstand og hovedløs tilstand