Používanie súborov cookie so selenovým WebDriverom v jazyku Java

1. Prehľad

V tomto článku sa pozrieme na to, ako rýchlo používať súbory cookie s programom Selenium WebDriver v jazyku Java.

Trochu si povieme o niektorých prípadoch použitia a potom skočíme priamo do kódu.

2. Práca s cookies

Každodenným prípadom použitia súborov cookie je pretrvávanie našej relácie medzi testami.

Ešte jednoduchší scenár je, keď si chceme vyskúšať, či náš backend správne nastavuje cookies.

V ďalších častiach si v krátkosti povieme o narábaní s cookies a poskytneme jednoduché príklady kódu.

2.1. Nastaviť

Do nášho projektu budeme musieť pridať závislosť na seléne a jave:

 org.selenhq.selenium selenium-java 3.14.0 

Poďme nastaviť našu testovaciu triedu:

public class SeleniumCookiesJUnitLiveTest {súkromný ovládač WebDriver; private String navUrl; @Before public void setUp () {Capabilities capabilities = DesiredCapabilities.firefox (); ovládač = nový FirefoxDriver (možnosti); navUrl = "//baeldung.com"; }}

2.2. Čítanie cookies

Ďalej vykonáme jednoduchý test na overenie existencie súborov cookie v našom ovládači po prechode na webovú stránku:

@ Test public void whenNavigate_thenCookiesExist () {driver.navigate (). To (navUrl); Nastaviť cookies = driver.manage (). GetCookies (); assertThat (cookies, is (not (empty ()))); }

Často možno budeme chcieť vyhľadať konkrétny súbor cookie:

@Test public void whenNavigate_thenLpCookieIsHasCorrectValue () {driver.navigate (). To (navUrl); Cookie lpCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (lpCookie.getValue (), containsString ("www.baeldung.com")); }

2.3. Vlastnosti súborov cookie

Súbor cookie môže byť priradený k doméne, môže mať dátum expirácie a oveľa viac.

Pozrime sa na niektoré bežné vlastnosti súborov cookie:

@Test public void whenNavigate_thenLpCookieHasCorrectProps () {driver.navigate (). To (navUrl); Cookie lpCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (lpCookie.getDomain (), equalTo (". baeldung.com")); assertThat (lpCookie.getPath (), equalTo ("/")); assertThat (lpCookie.getExpiry (), je (nie (nullValue ()))); assertThat (lpCookie.isSecure (), equalTo (false)); assertThat (lpCookie.isHttpOnly (), equalTo (false)); }

2.4. Pridávanie cookies

Pridanie súboru cookie je jednoduchý proces.

Vytvoríme cookie a pridáme ho do ovládača pomocou addCookie metóda:

@Test public void whenAddingCookie_thenItIsPresent () {driver.navigate (). To (navUrl); Cookie cookie = nový Cookie ("foo", "bar"); driver.manage (). addCookie (cookie); Cookie driverCookie = driver.manage (). GetCookieNamed ("foo"); assertThat (driverCookie.getValue (), equalTo ("bar")); }

2.5. Mazanie cookies

Ako sme mohli čakať, môžeme tiež vymazať cookie pomocou deleteCookie metóda:

@Test public void whenDeletingCookie_thenItIsAbsent () {driver.navigate (). To (navUrl); Cookie lpCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (lpCookie, is (not (nullValue ()))); driver.manage (). deleteCookie (lpCookie); Cookie deletedCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (deletedCookie, is (nullValue ())); }

2.6. Prioritné súbory cookie

Aj keď neexistuje výslovný spôsob prepísania súboru cookie, existuje jednoduchý spôsob.

Cookies môžeme vymazať a pridať nový s rovnakým menom, ale s inou hodnotou:

@Test public void whenOverridingCookie_thenItIsUpdated () {driver.navigate (). To (navUrl); Cookie lpCookie = driver.manage (). GetCookieNamed ("lp_120073"); driver.manage (). deleteCookie (lpCookie); Cookie newLpCookie = nový cookie ("lp_120073", "foo"); driver.manage (). addCookie (newLpCookie); Cookie overriddenCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (overriddenCookie.getValue (), equalTo ("foo")); }

3. Záver

V tomto rýchlom výučbe sme sa prostredníctvom rýchlych a praktických príkladov naučili pracovať s cookies pomocou programu Selenium WebDriver v Jave.

Ako vždy, kód je k dispozícii na GitHub.