Селен - Създаване, актуализиране и изтриване на бисквитки

Почти всички уебсайтове използват бисквитки в една или друга форма. Бисквитки са начин за запомняне на потребителите и тяхното взаимодействие със сайта чрез съхраняване на информация във файла с бисквитки като двойки ключ-стойност.

Когато тествате уебсайт с Selenium WebDriver, понякога е необходимо да боравите с бисквитки, като например създаване на нови бисквитки, актуализиране на съществуващи бисквитки с нова информация или изтриване на бисквитки.

В този урок за WebDriver разглеждаме обработката на бисквитки в WebDriver. Примери за Java код за създаване, актуализиране и изтриване на бисквитки с помощта на Selenium WebDriver.


За да използваме някой от методите за обработка на бисквитки в WebDriver, първо трябва да импортираме класа Cookie. За целта използваме

import org.openqa.selenium.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(); }

Изтрийте конкретна бисквитка

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

Изтрийте всички бисквитки

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