java 接口 token_Java接口测试Cookie与token原理解析

本文详细介绍了Java接口测试中Cookie与Token的工作原理。对比了Cookie/Session与Token机制,阐述了Token验证流程。接着,展示了如何在HTTP请求中加载、清空Cookie,以及添加Token到请求头。同时,讲解了头域操作和参数传递的方法封装。最后,讨论了关键字需求封装,包括断言实现和头域参数的JSON格式转换,旨在帮助读者更好地理解和应用接口测试。
摘要由CSDN通过智能技术生成

一、Cookie与token机制测试

4e247719e756bdc47c96aea72f3d9519.png

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请求中使用。

js0bo21wbvj.jpg

参数传递

Httpclient方法封装

为了便于头域的管理和方法反复调用,将存储头域的map作为关键字类的成员变量,通过布尔变量来控制方法是否需要添加头域。

并设计方法实现该成员变量map赋值和清空。

同理,cookiestore也通过类似机制来管理是否需要使用cookie。

三、关键字需求封装

完成httpclientkw类的封装之后,发包流程的操作已经封装完成,基本操作已实现,接下来封装测试过程中的需求,以完成测试操作。

h0rffcvrpfv.jpg

关键字需求封装

断言实现

将每次发包方法调用返回结果赋值给成员变量response,针对response进行断言操作。

头域参数json格式转换

为便于头域参数的管理,将头域参数写为json格式,通过json转换为map,再传递给HttpclientKw的addheader方法操作。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值