jmeter如何提取json数据作为其他的接口入参

在我们实际的业务请求中,服务器响应用户请求的数据格式为JSON,然而我们通常需要提取接口A的响应值作为接口B的入参;那么在实际的应用中,从json响应值取得这个参数作为下一下接口的入参数呢?比如对于用户这个请求,

/communicator/app/share/getSharelist246.action?sessionId=5DE154A0AAFC0323D4BF090D32674DEC&page=1&rows=2

服务器端响应如下图所示:

响应结果

此时我们需要提取这个响应结果中的picUrl的值作为其他接口的入参数,我们应该如何做呢?在Jmeter工具中方法有三:

一、正则表达式:

点击右键-添加正则表达式,

 引用名称:填写提取值的变量名(即在Jmeter工具需要使用的变量名称);

正则表达式处:提取内容的正则表达式;   ()表示提取,对于你要提取的内容需要用小括号括起来。

模板:用$$引用起来,如果在正则表达式中有多个提取表达式(多个括号括起来的部分),则可以是$1$,$2$等等,表示解析到的第几个值给picUrl,正则表达式的提取模式,值从1开始,值0对应的是整个匹配的表达式。匹配数字(0代表随机):0代表随机,-1代表所有,其余正整数代表将在已提取的内容中第几个匹配的内容。这里需要提取的是第二个匹配的值。缺省值:正则匹配失败时取的值。


二、使用jp@gc - JSON Path Extractor配置元件提取

TIPS,使用这个配置元件提取时,首先需要在获取在在jmeter的plugins网站http://jmeter-plugins.org/downloads/all/选择 JMeterPlugins-ExtrasLibs-X.X.X.zip下载,解压以后将lib和lib/ext中的jar包放到jmeter安装目录对应位置,然后重启jmeter,才可以使用这个配置元件

在Sampler上面添加后置处理器-->jp@gc - JSON Path Extractor,


JSON Path Extractor

方法三:使用BeanShell PostProcessor元件提取

TIPS1.在使用这个元件提取时,首先需要将fastjson.jar工具包中拷贝到 jmeter lib 文件夹下后,然后重启 jmeter在Sampler上面添加后置处理器-->BeanShell PostProcessor

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONArray;        

import com.alibaba.fastjson.JSONObject;    //引入 fastjson.jar包

String json=prev.getResponseDataAsString();   //将用户的请求返回值转换成String存储在json变量中

JSONObject jso = JSON.parseObject(json);    //将json字符串转换成一个Object对象存储在jso中

JSONArray datas = jso.getJSONArray("rows");  //从 jso对象中获取获取至rows列表存放在datas中

vars.put("picUrl",datas.getJSONObject(0).getString("picUrl")); 从列表中获取第一个对象的的 picUrl值,存放在Jmtere变量picUrl中


使用 BeanShell PostProcessor提取json值
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Json 作为一种数据交换格式在网络开发,特别是 RESTful(Representational State T...
    道韫阅读 14,996评论 0 22
  • 主要文体来自 CDNS:https://www.cnblogs.com/ceshisanren/p/5639895...
    Amano阅读 13,798评论 3 27
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,179评论 19 139
  • 我爱上了一条狗。 因着他的俊美,温柔和痴情守望。 我喜欢用手臂轻轻环绕着他,用脸颊轻轻蹭他的头,用嘴角去蹭他的鼻子...
    琳琅view阅读 2,939评论 0 0
  • 年轻的我们还在为你不够关心我而争执,偶尔因为你的不够浪漫而生气,甚至无休止的争吵都觉得感情都已经走到了尽头...
    蛋炒饭没饭阅读 1,720评论 0 0

友情链接更多精彩内容