Селен - Стварэнне, абнаўленне і выдаленне файлаў cookie

Амаль усе вэб-сайты выкарыстоўваюць файлы cookie ў той ці іншай форме. Печыва з'яўляюцца спосабам запамінання карыстальнікаў і іх узаемадзеяння з сайтам, захоўваючы інфармацыю ў файле cookie ў выглядзе пар ключ-значэнне.

Пры тэставанні вэб-сайта з Selenium WebDriver часам неабходна апрацоўваць файлы cookie, напрыклад, ствараць новыя файлы cookie, абнаўляць існуючыя файлы cookie новай інфармацыяй альбо выдаляць файлы cookie.

У гэтым уроку WebDriver мы разгледзім апрацоўку файлаў cookie ў WebDriver. Прыклады кода Java, як ствараць, абнаўляць і выдаляць кукі-файлы з дапамогай Selenium WebDriver.

Каб выкарыстаць любы з метадаў апрацоўкі печыва ў WebDriver, спачатку трэба імпартаваць клас Cookie. Для гэтага мы выкарыстоўваем

import org.openqa.selenium.Cookie;

Атрымаць усе файлы cookie

//This method gets all the cookies public Set getAllCookies() {
return driver.manage().getCookies(); }

Атрымайце названае печыва

//This method gets a specified cookie public Cookie getCookieNamed(String name) {
return driver.manage().getCookieNamed(name); }

Атрыманне значэння печыва

//This method gets the value of a specified cookie public String getValueOfCookieNamed(String name) {
return driver.manage().getCookieNamed(name).getValue(); }

Дадайце печыва

//This method adds or creates a cookie public void addCookie(String name, String value, String domain, String path, Date expiry) {
driver.manage().addCookie(
new Cookie(name, value, domain, path, expiry)); }

Дадайце набор печыва

//This method adds set of cookies for a domain public void addCookiesToBrowser(Set cookies, String domain) {
for (Cookie c : cookies) {
if (c != null) {

if (c.getDomain().contains(domain)){


driver.manage().addCookie(


new Cookie(name, value, domain, path, expiry));

}
}
}
driver.navigate().refresh(); }

Выдаліць пэўны файл cookie

//This method deletes a specific cookie public void deleteCookieNamed(String name) {
driver.manage().deleteCookieNamed(name); }

Выдаліць усе файлы cookie

//This method deletes all cookies public void deleteAllCookies() {
driver.manage().deleteAllCookies(); }