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.