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:
- Du kan se annoncer på http://demo.guru99.com/ som nedenfor
- 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:
- Oprindeligt skal du indstille stien til chromedriver.exe-filen ved hjælp af set-egenskabsmetoden, da du bruger Chrome Browser til test
- Du skal indstille stien til CRX-fil for at tilføje udvidelsesmetode
- 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
- Åbn URL'en - http://demo.guru99.com/test/simple_context_menu.html med Ad Blocker-udvidelse aktiveret
- 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 :
- Oprindeligt skal du indstille stien til chromedriver.exe-filen ved hjælp af set-egenskabsmetoden, da du bruger Chrome Browser til test
- 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.
- Derefter skal du oprette et objekt i ønsket klasse og flette objektet Ønskede muligheder med klasseobjekter i Chrome Options ved hjælp af fletningsmetode
- Du skal oprette et objekt i Chrome Driver-klassen og videregive Chrome Options-objektet som et argument
- Endelig er vi nødt til at videregive webadressen - http://demo.guru99.com/test/simple_context_menu.html til metoden driver.get
- 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 :
- Oprindeligt skal du indstille stien til chromedriver.exe-filen ved hjælp af set-egenskabsmetoden, da du bruger Chrome Browser til test
- 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.
- Opret et objekt i klasse Ønskede muligheder, og flet klasseobjektet Ønskede muligheder med klasseobjekter i Chrome Options ved hjælp af fletningsmetode
- Opret et objekt i Chrome Driver-klassen, og send Chrome Options-objektet som et argument
- Endelig er vi nødt til at videregive URL'en - http://demo.guru99.com/ til driver.get-metoden
- 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