Jmeter 您所在的位置:网站首页 token提取器下载 Jmeter

Jmeter

2024-06-10 13:58| 来源: 网络整理| 查看: 265

上一个接口返回的token要作为下一个接口的入参,需要获取实时token,这里列举三种方法。

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

案例场景 有一个登陆接口A,登陆成功后返回一个token值,另有接口B,必须要先登录后传登录的token才能访问 A接口返回报文如下 在这里插入图片描述 1、后置处理器-JSON Extractor 在请求1中,添加后置处理器-Json提取器,从返回的结果中提取token值 在这里插入图片描述 关联请求,在HTTP信息头管理器,引用token参数${token},如下: 在这里插入图片描述 2、后置处理器-正则表达式提取器 在请求1中,添加后置处理器-正则表达式提取器,从返回的结果中提取token值 在这里插入图片描述 关联请求引用方式和JSON Extractor一致 ps:

JSON Extractor和正则表达式提取的区别:

json提取器只能提取json格式的数据,正则可以匹配任意的返回。

3、后置处理器-Beanshell PostProcessor BeanShell是一个嵌套在jmeter中的一个免费的、小型的处理器,采用Java编写的。 接口间的关联参数数据需要传递参数值。故可通过Beanshell PostProcessor来处理,在请求1中添加后置处理器 -> BeanShell PostProcessor 在Beanshell PostProcessor中的Script中输入以下代码

//先引入jar包 import org.json.*; //获取请求返回值。赋予字符串String 变量 String reponseresult_user = prev.getResponseDataAsString(); //将string的值转换成 jsonobject 对象 JSONObject json_user=new JSONObject(reponseresult_user); JSONObject obj_user = json_user.getJSONObject("data"); //获取json中token的值 String access_token=obj_user.getString("token"); //将获取到的token值赋予变量 vars.put("Token",access_token)

后续的接口调用(${变量名称})将token对应的值加进去就可以,如这个为 ${Token}

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

若jmeter中没有org.json的jar包,需要下载导入, 导入方式为:在测试计划中,通过浏览按钮,将需要导入的jar包引入 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有