前言
在接口测试的时候,很多接口都需要用户先登录,才有访问接口的权限。在测试的时候,我们的关注点其实是当前测试的接口,登录只是一个前置操作
像 python 的 unittest 和 pytest 框架都有 setUp 的概念,前置操作用来准备测试数据,jmeter 里面也有个 setUp 线程组可以实现前置准备工作
一、setUp线程组
我们需要测试的是查询用户个人信息接口:/api/v1/userinfo,但是查询接口需要有用户登录的token才有权限去访问
那么我们的前置操作就是先登录,取出token,后面的接口拿着这个token就有权限访问了
在测试计划里面,新增 setUp 线程组
在 setUp 线程组前面加HTTP请求默认值添加环境配置,新增HTTP信息头管理器添加POST接口请求类型Content-Type: application/json
新增HTTP请求,添加登录接口的相关信息
运行后查看结果树,可以看到登录后返回的token
返回的完整json内容
{
"code": 0,
"msg": "login success!",
"username": "test",
"token": "b6b3545d53881d5e95430572bb43a5c995e462ce"
}
二、提取token
添加后置处理器-JSON提取器,把token提取出来,设置变量名称:token
这里提取的变量,只在当前线程组能引用到,下面我们需把token设置为系统的全局变量,添加BeanShell 后置处理程序
把提取的${token}参数设置为全局属性,设置属性名称:token_global
${__setProperty(token_global,${token},)}
三、线程组引用全局属性
新增一个测试的线程组,添加头部管理器,在头部添加token,引用属性使用${__P(属性名称,)}
接着添加我们需要测试的个人信息接口的访问路径
运行后查看结果树请求头部,可以看到已经关联成功
还有个tearDown线程组,用于测试完成后数据清理的操作
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!
生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!
只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!
资料获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群领取。