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.