Korištenje kolačića sa Selenium WebDriver u Javi

1. Pregled

U ovom ćemo članku na brzinu pogledati kako koristiti kolačiće s Selenium WebDriver u Javi.

Razgovarat ćemo malo o nekim slučajevima korištenja, a zatim ćemo izravno ući u kod.

2. Rad s kolačićima

Slučaj svakodnevne uporabe za manipulaciju kolačićima je neprekidna naša sesija između testova.

Još jednostavniji scenarij je kada želimo testirati da li naša pozadina pravilno postavlja kolačiće.

U sljedećim odjeljcima ukratko ćemo razgovarati o rukovanju kolačićima, pružajući jednostavne primjere koda.

2.1. Postaviti

Morat ćemo dodati ovisnost o selenu i javi u naš projekt:

 org.seleniumhq.selenium selen-java 3.14.0 

Postavimo našu testnu klasu:

javna klasa SeleniumCookiesJUnitLiveTest {privatni upravljački program WebDriver; privatni niz navUrl; @Before public void setUp () {Mogućnosti sposobnosti = DesiredCapabilities.firefox (); upravljački program = novi FirefoxDriver (mogućnosti); navUrl = "//baeldung.com"; }}

2.2. Čitanje kolačića

Zatim ćemo implementirati jednostavan test kako bismo provjerili postoje li kolačići u našem upravljačkom programu nakon što prijeđemo na web stranicu:

@Test public void whenNavigate_thenCookiesExist () {driver.navigate (). To (navUrl); Postavi kolačiće = driver.manage (). GetCookies (); assertThat (kolačići, jesu (nisu (prazni ()))); }

Često bismo mogli potražiti određeni kolačić:

@Test javna void whenNavigate_thenLpCookieIsHasCorrectValue () {driver.navigate (). To (navUrl); Kolačić lpCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (lpCookie.getValue (), containsString ("www.baeldung.com")); }

2.3. Svojstva kolačića

Kolačić se može povezati s domenom, imati datum isteka i još mnogo toga.

Pogledajmo neka uobičajena svojstva kolačića:

@Test javna void whenNavigate_thenLpCookieHasCorrectProps () {driver.navigate (). To (navUrl); Kolačić lpCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (lpCookie.getDomain (), jednakTo (". baeldung.com")); assertThat (lpCookie.getPath (), jednakTo ("/")); assertThat (lpCookie.getExpiry (), je (nije (nullValue ()))); assertThat (lpCookie.isSecure (), jednakTo (netačno)); assertThat (lpCookie.isHttpOnly (), jednakTo (netačno)); }

2.4. Dodavanje kolačića

Dodavanje kolačića jednostavan je postupak.

Kreiramo kolačić i dodamo ga upravljačkom programu pomoću addCookie metoda:

@Test public void whenAddingCookie_thenItIsPresent () {driver.navigate (). To (navUrl); Cookie cookie = novi Cookie ("foo", "bar"); driver.manage (). addCookie (kolačić); Cookie driverCookie = driver.manage (). GetCookieNamed ("foo"); assertThat (driverCookie.getValue (), jednakTo ("traka")); }

2.5. Brisanje kolačića

Kao što smo mogli očekivati, kolačić možemo izbrisati i pomoću deleteCookie metoda:

@Test javna void whenDeletingCookie_thenItIsAbsent () {driver.navigate (). To (navUrl); Kolačić lpCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (lpCookie, je (nije (nullValue ()))); driver.manage (). deleteCookie (lpCookie); Cookie deletedCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (deletedCookie, je (nullValue ())); }

2.6. Nadjačavanje kolačića

Iako ne postoji eksplicitna metoda za nadjačavanje kolačića, postoji jednostavan način.

Možemo izbrisati kolačić i dodati novi s istim imenom, ali druge vrijednosti:

@Test public void whenOverridingCookie_thenItIsUpdated () {driver.navigate (). To (navUrl); Kolačić lpCookie = driver.manage (). GetCookieNamed ("lp_120073"); driver.manage (). deleteCookie (lpCookie); Kolačić newLpCookie = novi kolačić ("lp_120073", "foo"); driver.manage (). addCookie (newLpCookie); Cookie overriddenCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (overriddenCookie.getValue (), jednakTo ("foo")); }

3. Zaključak

U ovom smo brzom vodiču kroz brze i praktične primjere naučili kako raditi s kolačićima koristeći Selenium WebDriver u Javi.

Kao i uvijek, kôd je dostupan na GitHub-u.