有时候我们需要验证浏览器中 cookie 是否正确,因为基于真实 cookie 的测试是无法通过白盒和集成测试进行的。WebDriver 提供了操作 cookie 的相关方法,可以读取、添加和删除 cookie信息。
WebDriver 操作 cookie 的方法:
- get_cookies(): 获得所有cookie信息。
- get_cookie(name): 返回字典的key为“name”的cookie信息。
- add_cookie(cookie_dict) : 添加cookie。“cookie_dict”指字典对象,必须有 name 和 value 值。
- delete_cookie(name,optionsString):删除 cookie 信息。“name”是要删除的 cookie 的名称,“optionsString”是该cookie的选项,目前支持的选项包括“路径”,“域”。
- delete_all_cookies(): 删除所有 cookie 信息。
下面通过 get_cookies() 来获取当前浏览器的 cookie 信息。
from
从执行结果可以看出,cookie 数据是以字典的形式进行存放的。知道了 cookie 的存放形式,接下来我们就可以按照这种形式向浏览器中写入 cookie 信息。
from
输出结果:
YOUDAO_MOBILE_ACCESS_TYPE -> 1
_PREF_ANONYUSER__MYTH -> aGFzbG9nZ2VkPXRydWU=
OUTFOX_SEARCH_USER_ID -> -1046383847@218.17.158.115
JSESSIONID -> abc7qSE_SBGsVgnVLBvcu
key-aaaaaaa -> value-bbbbbb
从执行结果可以看到,最后一条 cookie 信息是在脚本执行过程中通过 add_cookie() 方法添加的。通过遍历得到所有的 cookie 信息,从而找到 key 为“name”和“value”的特定 cookie 的
阅读原文:
cookie操作www.birdpython.com