(我的公众号“墨石测试攻略”,分享测试技能和实战项目,欢迎关注!)
之前,在文章《接口测试中的Token鉴权-Postman篇》,介绍了使用Postman获取接口返回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篇就介绍到这里,小伙伴们实际操作后印象才会更深刻,这篇文章《重磅福利!接口测试实战》中有项目可实操。
(我的公众号“墨石测试攻略”,分享测试技能和实战项目,欢迎关注!)
版权归原作者 墨石测试攻略 所有, 如有侵权,请联系我们删除。