Bruk av informasjonskapsler med Selen WebDriver i Java

1. Oversikt

I denne artikkelen tar vi en rask titt på hvordan du bruker informasjonskapsler med Selenium WebDriver i Java.

Vi snakker litt om noen brukstilfeller, og så hopper vi rett inn i koden.

2. Arbeide med informasjonskapsler

En daglig brukstilfelle for å manipulere informasjonskapsler er å fortsette økten vår mellom testene.

Et enda enklere scenario er når vi vil teste at vår backend setter informasjonskapsler riktig.

I de neste avsnittene vil vi kort snakke om håndtering av informasjonskapsler mens vi gir enkle kodeeksempler.

2.1. Oppsett

Vi må legge til selen-java-avhengighet i prosjektet vårt:

 org.seleniumhq.selenium selen-java 3.14.0 

La oss sette opp testklassen vår:

offentlig klasse SeleniumCookiesJUnitLiveTest {privat WebDriver-driver; private String navUrl; @Før offentlig ugyldig setUp () {Capabilities kapasiteter = DesiredCapabilities.firefox (); driver = ny FirefoxDriver (evner); navUrl = "//baeldung.com"; }}

2.2. Lesekaker

Deretter implementerer vi en enkel test for å verifisere at informasjonskapsler finnes i sjåføren vår etter at vi har navigert til en webside:

@Test offentlig ugyldig når Navigate_thenCookiesExist () {driver.navigate (). Til (navUrl); Sett informasjonskapsler = driver.manage (). GetCookies (); assertThat (informasjonskapsler, er (ikke (tom ()))); }

Ofte vil vi kanskje søke etter en bestemt informasjonskapsel:

@Test offentlig ugyldig nårNavigate_thenLpCookieIsHasCorrectValue () {driver.navigate (). Til (navUrl); Cookie lpCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (lpCookie.getValue (), containString ("www.baeldung.com")); }

2.3. Egenskaper for informasjonskapsler

En informasjonskapsel kan knyttes til et domene, ha en utløpsdato og mye mer.

La oss ta en titt på noen vanlige informasjonskapselegenskaper:

@Test offentlig ugyldig nårNavigate_thenLpCookieHasCorrectProps () {driver.navigate (). Til (navUrl); Cookie lpCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (lpCookie.getDomain (), equalTo (". baeldung.com")); assertThat (lpCookie.getPath (), equalTo ("/")); assertThat (lpCookie.getExpiry (), er (ikke (nullValue ()))); assertThat (lpCookie.isSecure (), equalTo (false)); assertThat (lpCookie.isHttpOnly (), equalTo (false)); }

2.4. Legge til informasjonskapsler

Å legge til en informasjonskapsel er en enkel prosess.

Vi lager informasjonskapselen og legger den til driveren ved hjelp av addCookie metode:

@Test offentlig ugyldig nårAddingCookie_thenItIsPresent () {driver.navigate (). Til (navUrl); Cookie cookie = ny Cookie ("foo", "bar"); driver.manage (). addCookie (informasjonskapsel); Cookie driverCookie = driver.manage (). GetCookieNamed ("foo"); assertThat (driverCookie.getValue (), equalTo ("bar")); }

2.5. Slette informasjonskapsler

Som vi kanskje hadde forventet, kan vi også slette en informasjonskapsel ved hjelp av deleteCookie metode:

@Test offentlig ugyldig nårDeletingCookie_thenItIsAbsent () {driver.navigate (). Til (navUrl); Cookie lpCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (lpCookie, er (ikke (nullValue ()))); driver.manage (). deleteCookie (lpCookie); Cookie deleteCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (deleteCookie, is (nullValue ())); }

2.6. Overstyrende informasjonskapsler

Selv om det ikke er noen eksplisitt metode for å overstyre en informasjonskapsel, er det en enkel måte.

Vi kan slette informasjonskapselen og legge til en ny med samme navn, men med en annen verdi:

@Test offentlig ugyldig nårOverridingCookie_thenItIsUpdated () {driver.navigate (). To (navUrl); Cookie lpCookie = driver.manage (). GetCookieNamed ("lp_120073"); driver.manage (). deleteCookie (lpCookie); Cookie newLpCookie = ny informasjonskapsel ("lp_120073", "foo"); driver.manage (). addCookie (newLpCookie); Cookie overriddenCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (overriddenCookie.getValue (), equalTo ("foo")); }

3. Konklusjon

I denne raske opplæringen lærte vi hvordan vi kan jobbe med informasjonskapsler ved hjelp av Selenium WebDriver i Java gjennom raske og praktiske eksempler.

Som alltid er koden tilgjengelig på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found