1、cookie和session
访问网站时用到的http协议:特征:无状态的连接。cookie和session用来记录访问过程中的状态。
token其实也是同样的机制。
cookie就是服务端在与客户端建立连接之后,发送给客户端的一个信息。
浏览器拿到cookie之后会保存在本地。
session相当于酒店记录的你的入住信息,保存在服务端。
cookie和session都是由服务器生成的,只不过cookie保存在浏览器本地,而session保存在服务端。
浏览器会自动保存cookie是浏览器的机制,而大部分的接口测试工具需要自己添加cookie。

使用token的时候,服务端并不记录相应的session信息,而是通过token的校验机制,可以省掉服务端很多资源消耗。
token在使用的时候,通常是通过cookie保存下来,并且在请求时发送给服务端进行校验的。
web自动化使用浏览器的时候,不需要关注究竟如何使用token和cookie的,浏览器会自动进行处理,而在接口调用的时候,就需要关注究竟使用的是何种方式传递token。

2、cookie中的重要属性:
1、name value 键和值
2、domain path 联合起来规定cookie的作用范围,在酒店当中可以使用哪些东西
3、expires:生命周期,规定了cookie的有效时间,如果想用cookie去实现登录状态的话,一定要保证cookie的有效时间内进行访问。

3、web自动化中如何绕过验证码完成登录,访问登录后的功能:
1、让开发去掉验证码的验证,万能的验证码
2、如果网站访问时,cookie的有效时间不仅局限于当前的一次session,可以使用cookie来完成登录
通过加载浏览器的用户文件,让浏览器自动带上cookie进行网页的访问。
3、在自动化脚本中设置一个等待时间,手动完成登录
4、用第三方的工具识别图片验证码

4、当用selenium去加载cookie时,需要首先访问一次待访问的页面,否则会报错。
加载cookie用到的cookie类是selenium包中的。

当使用webdriver启动一个浏览器时,相当于启动了一个无痕模式的浏览器,不带任何cookie和用户信息。

5、不同的浏览器加载用户配置文件使用的路径不同,因此也要使用不同的浏览器版本方法来加载对应的用户文件。
chrome中使用chromeoption添加一个属性–user-data-dir={你的chrome浏览器的用户文件路径}
使用用户文件加载cookie的时候,要注意不要手动打开浏览器,否则会因为用户配置文件被多个进程使用而报错。