selenium webdriver如何为每次运行维护单独的会话?

时间:2013-05-17 10:06:33

标签: java session selenium-webdriver session-cookies

例如在gmail登录中,当我们考虑登录测试时,当我们第一次手动执行登录页面时,从下次开始我们将直接进入收件箱页面。

如果您尝试在webdriver中执行相同的操作(运行登录测试两次),在所有这些尝试中,我们将获得登录页面,因为我们之前没有从此计算机登录。在维护有关cookie或会话的会话的幕后发生了什么?

1 个答案:

答案 0 :(得分:2)

这是描述&来自selenium docs的代码片段,用于添加或删除Cookie:

  

在我们离开这些后续步骤之前,您可能会感兴趣   了解如何使用cookies。首先,你需要参加   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();