接口自动化测试中通常都有鉴权机制,就是判断是否在登录状态下,已登录方可调用接口,未登录则不可调用。本文将带领大家学习使用rest-assured框架实现基于cookies和token的鉴权关联,实现接口自动化测试。
1、基于cookies的鉴权关联
1. 业务接口熟悉
码同学全栈接口项目中有基于cookies的查询余额接口,必须先调用登录接口获取cookie并传递给查询余额接口,两个接口的信息如下
2. 通过抓包查看cookies
在页面上登录银行系统,通过Chrome开发者工具抓包,可以看到登录成功以后接口返回中产生了cookie信息
3. 使用rest-assured框架实现cookie关联
首先,使用脚本调用登录接口,并从返回信息中获取cookie,代码如下,该方法执行完成后会将登录后的cookies存储在代码中的cookies对象中
其次,调用查询余额接口,并在请求信息中添加cookies对象,这样做就可以让查询余额接口在请求时带上有效cookies,代码如下
2、基于token的鉴权关联
1. 业务接口熟悉
码同学全栈接口项目中有基于token的查询余额接口,必须先调用登录接口获取token并传递给查询余额接口,两个接口的信息如下
2. 抓包分析token的产生和传递
在页面上登录银行系统,通过fiddler工具抓包,可以看到登录成功以后接口返回中产生的data信息就是token的值
那我们再分析下查询余额的接口在发起时token信息是如何传递的,依然是fidder工具抓包,我们可以发现在请求的header中有一个字段叫做testfan-token,对应的值就是登录接口返回的token值
3. 使用rest-assured框架实现token关联
首先,使用脚本调用登录接口,并从返回信息中获取token,代码如下,该方法执行完成后会将登录后的token值存储在代码中的token变量中
其次,调用查询余额接口,并在请求信息中增加header信息,这样做就可以让查询余额接口在请求时带上有效token,代码如下
好了,不管是cookies还是token,我们都已经有了在rest-assured框架的关联使用,赶紧去试试吧
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!