JMeter之Json Path Extractor使用(解决json接受上一个请求参数)
2018-03-01 17:54
274 查看
最近在使用Jmeter进行接口测试,被一个问题困扰了很久,就是第二个请求如何接收上一个请求响应中的参数,刚开始尝试着用网上普遍说的正则表达式,长了了N多次之,都没有达到我想要的效果,被整的够惨,于是,开始尝试使用第二种方法,就是Jmeter之Json Path Extractor,感觉棒极了,在此记录下
除了正则提取器,对于返回结果为 xml 或者 json 内容的请求,JMeter 分别有 XPath Extractor、JSON Path Extractor 等提取器进行提取。1、下载安装 Json Path Extractor插件,
1.1 插件安装——JMeterPlugins-Extras-1.4.0.zip 解压后,下载后解压以后将lib和lib/ext中的jar包放到安装目录对应位置,重启即可 地址:https://www.jianshu.com/p/56a607fc0d8f 或者 https://jmeter-plugins.org/wiki/JSONPathExtractor/1.2 尝试上述步骤没有安装成功,于是用JSONPathExtractorExample.jmx (在官网下的一个testplan)这个打开后点击安装,提示安装成功。
成功后,重启JMeter
2、使用方法
Variable names : 名称
JSONPath Expression:JSON表达式
Match Numbers:匹配哪个,可为空即默认第一个
Default Value:未取到值的时候默认值比如某一请求的返回值为:
这里因为返回的是json数据,
另外一个接口请求返回值为:
同样,使用
原来这个responses 的data为数组,故应为
3、实践成功
除了正则提取器,对于返回结果为 xml 或者 json 内容的请求,JMeter 分别有 XPath Extractor、JSON Path Extractor 等提取器进行提取。1、下载安装 Json Path Extractor插件,
1.1 插件安装——JMeterPlugins-Extras-1.4.0.zip 解压后,下载后解压以后将lib和lib/ext中的jar包放到安装目录对应位置,重启即可 地址:https://www.jianshu.com/p/56a607fc0d8f 或者 https://jmeter-plugins.org/wiki/JSONPathExtractor/1.2 尝试上述步骤没有安装成功,于是用JSONPathExtractorExample.jmx (在官网下的一个testplan)这个打开后点击安装,提示安装成功。
成功后,重启JMeter
2、使用方法
Variable names : 名称
JSONPath Expression:JSON表达式
Match Numbers:匹配哪个,可为空即默认第一个
Default Value:未取到值的时候默认值比如某一请求的返回值为:
这里因为返回的是json数据,
$.data.token,获取token的值但是有碰到一个坑
另外一个接口请求返回值为:
同样,使用
$.data.id去提取id的值时,发现获取到的数据为空
原来这个responses 的data为数组,故应为
$.data[0].id提取第1个值如下:
3、实践成功
相关文章推荐
- Jmeter之Json Path Extractor 接受上一个请求的响应参数
- jmeter 如何将上一个请求的结果作为下一个请求的参数——使用正则提取器
- JMeter 如何把上一个请求的结果作为下一个请求的参数 —— 使用正则提取器
- jmeter如何将上一个请求的结果作为下一个请求的参数——使用正则提取器
- 【转】jmeter 如何将上一个请求的结果作为下一个请求的参数——使用正则提取器
- jmeter 如何将上一个请求的结果作为下一个请求的参数——使用正则提取器
- JMeter 如何把上一个请求的结果作为下一个请求的参数 —— 使用正则提取器
- 细雨学习笔记:Jmeter上一个请求的结果作为下一个请求的参数--使用正则提取器
- JMeter 如何把上一个请求的结果作为下一个请求的参数 —— 使用正则提取器
- JMeter 如何把上一个请求的结果作为下一个请求的参数 —— 使用正则提取器
- 使用JMeter进行一次简单的带json数据的post请求测试,json可配置参数
- jmeter 如何将上一个请求的结果作为下一个请求的参数——使用正则提取器
- android菜鸟学习笔记25----与服务器端交互(二)解析服务端返回的json数据及使用一个开源组件请求服务端数据
- tomcat服务器使用get方式请求时参数乱码问题解决
- AJAX 跨域请求的解决办法:使用 JSONP获取JSON数据
- jmeter学习笔记(2)——上一个请求的结果传递给下一个请求使用
- 【C语言】【面试题】使用main函数的参数,实现一个整数计算机,程序可以接受三个参数
- 完美解决:此地址使用了一个通常用于网络浏览以外目的的端口.出于安全原因,Firefox 取消了该请求
- SpringMVC如何接受POST请求中的json参数
- 单元测试时候使用[ClassInitialize]会该方法必须是静态的公共方法,不返回值并且应采用一个TestContext类型的参数报错的解决办法