Практически все веб-сайты в той или иной форме используют файлы cookie. Печенье представляют собой способ запоминания пользователей и их взаимодействия с сайтом путем хранения информации в файле cookie в виде пар ключ-значение.
При тестировании веб-сайта с помощью Selenium WebDriver иногда необходимо обрабатывать файлы cookie, например создавать новые файлы cookie, обновлять существующие файлы cookie с добавлением новой информации или удалять файлы cookie.
В этом руководстве по WebDriver мы рассмотрим обработку файлов cookie в WebDriver. Примеры кода Java для создания, обновления и удаления файлов cookie с помощью Selenium WebDriver.
Чтобы использовать любой из методов обработки файлов cookie в 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(); }