A sütik használata a Selenium WebDriver programmal Java-ban

1. Áttekintés

Ebben a cikkben gyorsan áttekintjük, hogyan használhatjuk a sütiket a Java Selenium WebDriver programmal.

Beszélünk egy kicsit néhány felhasználási esetről, majd egyenesen a kódba ugrunk.

2. Munka a sütikkel

A sütik kezelésének mindennapos esete a tesztek közötti munkamenet fenntartása.

Még egyszerűbb forgatókönyv az, amikor tesztelni akarjuk, hogy háttérprogramunk megfelelően állítja be a sütiket.

A következő szakaszokban röviden beszélünk a cookie-k kezeléséről, miközben egyszerű kódokat mutatunk be.

2.1. Beállít

Hozzá kell adnunk a szelén-java függőséget a projektünkhöz:

 org.seleniumhq.selenium szelén-java 3.14.0 

Állítsuk be teszt osztályunkat:

public class SeleniumCookiesJUnitLiveTest {privát WebDriver illesztőprogram; privát String navUrl; @ Nyilvános void előtt setUp () {képességek képességei = kívánatos képességek.firefox (); driver = új FirefoxDriver (képességek); navUrl = "//baeldung.com"; }}

2.2. Sütik olvasása

Ezután egy egyszerű tesztet hajtunk végre annak ellenőrzésére, hogy léteznek-e sütik az illesztőprogramunkban, miután eljutottunk egy weboldalra:

@Test public void whenNavigate_thenCookiesExist () {driver.navigate (). To (navUrl); Set cookies = driver.manage (). GetCookies (); assertThat (sütik, is (nem (üres ()))); }

Gyakran előfordulhat, hogy egy adott sütit akarunk keresni:

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

2.3. Cookie tulajdonságok

A cookie társítható egy domainhez, megadhatja a lejárati dátumot és még sok minden mást.

Vessünk egy pillantást néhány általános cookie tulajdonságra:

@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 (), egyenlőTo ("/")); assertThat (lpCookie.getExpiry (), is (not (nullValue ()))); assertThat (lpCookie.isSecure (), egyenlőTo (hamis)); assertThat (lpCookie.isHttpOnly (), egyenlőTo (hamis)); }

2.4. Cookie-k hozzáadása

A cookie hozzáadása egyszerű folyamat.

Létrehozzuk a sütit, és hozzáadjuk az illesztőprogramhoz a addCookie módszer:

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

2.5. Cookie-k törlése

Ahogy számíthattunk rá, törölhetünk egy cookie-t is a deleteCookie módszer:

@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 törölveCookie = driver.manage (). GetCookieNamed ("lp_120073"); assertThat (törölveSüti, van (nullValue ())); }

2.6. Felülbíráló sütik

Bár nincs kifejezett módszer a süti felülírására, van egy egyszerű módszer.

Törölhetjük a cookie-t, és újat adhatunk hozzá ugyanazzal a névvel, de más értékkel:

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

3. Következtetés

Ebben a gyors bemutatóban gyors és praktikus példákon keresztül tanultuk meg, hogyan kell működni a sütikkel a Selenium WebDriver Java használatával.

Mint mindig, a kód elérhető a GitHubon.