前言

在实际的web应用中,可能会涉及到cookie测试,验证浏览器中的cookie是否正确.。Cookies 验证:如果系统使用了cookie,测试人员需要对它们进行检测。如果在 cookies 中保存了注册信息,请确认该 cookie能够正常工作而且已对这些信息已经加密。如果使用 cookie 来统计次数,需要验证次数累计正确。关于cookie的使用可以参考浏览器的帮助信息。如果使用B/S结构cookies。WebDriver 提供了操作Cookie 的相关方法可以读取、添加和删除cookie 信息等方法。(cookie 数据是以以字典的形式进行存放的)

(1)getCookies() 获得所有cookie 信息。
(2)getCookieNamed(String name) 返回字典的key 为“name”的cookie 信息。
(3) addCookie(cookie dict) 添加cookie。“cookie_dict”指字典对象,必须有name 和value 值。
(4)deleteCookieNamed(String name) 删除cookie 信息。“name”是要删除的cookie 的名称;
(5)“optionsString”是该cookie 的选项,目前支持的选项包括“路径”,“域”。
(6) deleteAllCookies() 删除所有cookie 信息。

一、获得cookie

public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "D:/chromedriver_win32/chromedriver.exe");
ChromeOptions Options = new ChromeOptions();
Options.addArguments("user-data-dir=C:\\Users\\happy\\AppData\\Local\\Google\\Chrome\\User Data");
WebDriver driver = new ChromeDriver(Options);
driver.manage().window().maximize();
// 窗口最大化
driver.get("https://www.baidu.com/");
Set<Cookie> cookie= driver.manage().getCookies();
//获取cookie
System.out.println(cookie);
//打印cookie
driver.close();
driver.quit();
}

二、增加/删除cookie

public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "D:/chromedriver_win32/chromedriver.exe");
ChromeOptions Options = new ChromeOptions();
Options.addArguments("user-data-dir=C:\\Users\\happy\\AppData\\Local\\Google\\Chrome\\User Data");
WebDriver driver = new ChromeDriver(Options);
driver.manage().window().maximize();
// 窗口最大化
driver.get("https://www.baidu.com/");
//添加cookie
Cookie c1 = new Cookie("name", "key-aaaaaaa");
Cookie c2 = new Cookie("value", "value-bbbbbb");
driver.manage().addCookie(c1);
driver.manage().addCookie(c2);
// 获得cookie
Set<Cookie> coo = driver.manage().getCookies();
System.out.println(coo);
//删除所有的cookie
// driver.manage().deleteAllCookies();
driver.close();
driver.quit();
}

那么在什么情况下会用到cookie 的操作呢?例如开发人员开发一个功能,当用户登录后,会将用户的用户名写入浏览器cookie,指定的key 为“username”,那么我们就可以通过getCookies() 找到useranme,打印vlaue。
如果找不到username 或对应的value 为空,那么说明cookie 没有成功的保存到浏览器中。deleteCookie() 和deleteAllCookies() 的使用也很简单,前者通过name 删除一个特定的cookie 信息,后者直接删除浏览器中的所有cookies()信息。

最新文章

  1. Android 保存图片到SQLite
  2. Android 客户端设计之解决方案
  3. TF Boys (TensorFlow Boys ) 养成记(一)
  4. android 利用View自身的setAnimation来实现动画
  5. Python3基础 type获取变量的类型
  6. 配置apache虚拟主机的实例总结
  7. php学习问题记录
  8. iscroll源码初涉
  9. PHP返回JSON和XML类
  10. Android TV开发总结(一)构建一个TV app前要知道的事儿
  11. [工作积累] shadow map问题汇总
  12. camera测试之MTF
  13. Linux 小知识翻译 - 「环境变量」
  14. mips编译器交叉编译openssl
  15. ios成长之每日一遍(day 1)
  16. python第十四课--排序及自定义函数
  17. 升级_开阔视野之Oracle图形化升级(dbca建库后升级)—10.2.0.1.0升为10.2.0.5.0
  18. onActivityResult 通过case对不同情况进行处理
  19. docker--基本命令
  20. UML类图详解_泛化关系

热门文章

  1. 【翻译】介绍 ASP.NET Core 中的 Razor Pages
  2. ASP.NET 概述
  3. Mac下离线安装SDK
  4. Java——异常博客作业
  5. lintcode-94-二叉树中的最大路径和
  6. Football Games(思维题)
  7. Jboss提示:Server already running on localhost
  8. C++编码规范101
  9. Java堆和栈
  10. Angular 2018 All in One