Java接口测试Cookie与token原理解析
一、Cookie与token机制测试
Cookie与Session
token机制
cookie/session机制需要在服务端保存大量的session信息,造成严重负担,而token机制则避免记录大量信息,采用服务器签发的token完成验证。
1、客户端使用用户名跟密码请求登录
2、服务端收到请求,去验证用户名与密码
3、验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
4、客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
5、客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
6、服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据
相当于酒店在你入住之后,给你一段暗号,之后再来酒店,报暗号就可以入住了。
Cookie与token测试
加载与清空cookieStore
Httpclient提供了cookieStore类用于加载和读取cookies。
通过private CookieStore cookies = new BasicCookieStore();创建cookieStore
在构建httpclient时通过.setDefaultCookieStore(cookies)方法加载。
也可以通过添加头域Cookie的方式来添加Cookie。
通过一个布尔类型的标识参数来决定是否需要加载cookies。
添加token到请求头域
token通常在头域中被添加,当需要添加头域参数时,通过布尔类型的标识参数来决定是否设置新的头域。
通过setHeader方法完成头域的添加。
二、头域添加与参数传递
头域操作
为了方便头域信息键值对的传递和反复使用,并且方便方法封装时调用。使用map来保存头域信息的键值对,并通过循环遍历将头域headermap中的内容添加到http请求中使用。
参数传递
Httpclient方法封装
为了便于头域的管理和方法反复调用,将存储头域的map作为关键字类的成员变量,通过布尔变量来控制方法是否需要添加头域。
并设计方法实现该成员变量map赋值和清空。
同理,cookiestore也通过类似机制来管理是否需要使用cookie。
三、关键字需求封装
完成httpclientkw类的封装之后,发包流程的操作已经封装完成,基本操作已实现,接下来封装测试过程中的需求,以完成测试操作。
关键字需求封装
断言实现
将每次发包方法调用返回结果赋值给成员变量response,针对response进行断言操作。
头域参数json格式转换
为便于头域参数的管理,将头域参数写为json格式,通过json转换为map,再传递给HttpclientKw的addheader方法操作。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
解决RestTemplate加@Autowired注入不了的问题
这篇文章主要介绍了解决RestTemplate加@Autowired注入不了的问题,具有很好的参考价值,希望对大家有所帮助。2021-08-08Java中的CopyOnWriteArrayList原理详解
这篇文章主要介绍了Java中的CopyOnWriteArrayList原理详解,如源码所示,CopyOnWriteArrayList和ArrayList一样,都在内部维护了一个数组,操作CopyOnWriteArrayList其实就是在操作内部的数组,需要的朋友可以参考下2023-12-12简单的理解java集合中的HashSet和HashTree几个重写方法
这篇文章主要介绍了简单的理解java集合中的HashSet和HashTree几个重写方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-10-10HttpClient的DnsResolver自定义DNS解析另一种选择深入研究
这篇文章主要为大家介绍了HttpClient的DnsResolver自定义DNS解析另一种选择深入研究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-10-10
最新评论