例如在gmail登录中,当我们考虑登录测试时,第一次手动执行时,我们将获得登录页面,从下一次开始,我们将直接进入收件箱页面。
如果您尝试在 webdriver 中做同样的事情(两次运行登录测试),在所有这些尝试中,我们将获得登录页面,因为我们之前没有从这台机器登录。在维护有关 cookie 或 session 的会话时,幕后发生了什么?
例如在gmail登录中,当我们考虑登录测试时,第一次手动执行时,我们将获得登录页面,从下一次开始,我们将直接进入收件箱页面。
如果您尝试在 webdriver 中做同样的事情(两次运行登录测试),在所有这些尝试中,我们将获得登录页面,因为我们之前没有从这台机器登录。在维护有关 cookie 或 session 的会话时,幕后发生了什么?
这是 selenium 文档中添加或删除 cookie 的描述和代码片段:
在我们离开这些后续步骤之前,您可能有兴趣了解如何使用 cookie。首先,您需要位于 cookie 有效的域中。如果您在开始与网站交互之前尝试预设 cookie,并且您的主页很大/加载需要一段时间,则另一种方法是在网站上找到一个较小的页面,通常 404 页面很小(http://example. com/some404page )
// Go to the correct domain
driver.get("http://www.example.com");
// Now set the cookie. This one's valid for the entire domain
Cookie cookie = new Cookie("key", "value");
driver.manage().addCookie(cookie);
// And now output all the available cookies for the current URL
Set<Cookie> allCookies = driver.manage().getCookies();
for (Cookie loadedCookie : allCookies) {
System.out.println(String.format("%s -> %s", loadedCookie.getName(), loadedCookie.getValue()));
}
// You can delete cookies in 3 ways
// By name
driver.manage().deleteCookieNamed("CookieName");
// By Cookie
driver.manage().deleteCookie(loadedCookie);
// Or all of them
driver.manage().deleteAllCookies();