如何使用Jmeter获取及引用token

Jmeter也是一款常用的接口测试工具,如果使用Jmeter,该如何获取Token,并在下一接口引用呢?

这里给大家介绍三种方法:

后置处理器-JSON Extractor
后置处理器-正则表达式提取器
后置处理器-Beanshell PostProcessor

使用场景:如:登录接口A返回Token,下一接口B必须要先传登录接口的Token才可以访问。

方式一:后置处理器-JSON Extractor

步骤1:在登录接口A中添加JSON Extractor

 

 

 

备注:可在获取Token的接口返回值中,输入Json表达式,验证能否获取到Token,如下图

 

 

 

步骤2:接下来,可以Beanshell后置处理器或Beanshell取样器,将获取到的Token设置为全局变量,供后面的接口调用。

 

 

 

步骤3:关联请求。在HTTP请求头管理器中引用Token参数:${变量名称}

 

 

 

方式二:后置处理器-正则表达式提取器

在登录接口A中添加正则表达式提取器

 

 

 

其他步骤和Json提取器一致。

它俩的区别在于:json提取器只能提取json格式的数据,正则可以匹配任意的格式。

方式三:后置处理器-Beanshell PostProcessor

在登录接口A中添加Beanshell PostProcessor,在Script中输入以下代码:

 

 

 

//先引入jar包
import org.json.JSONObject;

//获取请求返回值。赋予字符串String 变量
String reponse = prev.getResponseDataAsString();

//将string的值转换成 jsonobject 对象
JSONObject json_user=new JSONObject(reponse);
JSONObject obj_user = json_user.getJSONObject("data");

//获取json中token的值
String token=obj_user.getString("token");

//将获取到的token值赋予变量
vars.put("newtoken",token)

 


Beanshell PostProcessor可以跨线程引用提取到的参数。引用方式为:${__P(变量名称,)},如 ${__P(Token,)}

Token篇就介绍到这里,小伙伴们实际操作后印象才会更深刻,这篇文章《重磅福利!接口测试实战》中有项目可实操。
————————————————
版权声明:本文为CSDN博主「墨石测试攻略」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44901808/article/details/126698726

posted @ 2022-11-14 18:03  rmticocean  阅读(1277)  评论(0编辑  收藏  举报