Jmeter(七)关联之JSON提取器
如果返回的数据是JSON格式的,我们可以用JSON提取器来提取需要的字段,这样更简单一点

Variable names:保存的变量名,后面使用${Variable names}引用
JSON Path expressions:调试通过的json path表达式
Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有)
Default Values:找不到时默认值,一般设置为NOT FOUND
Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”
示例:
请求URL:https://fe-api.zhaopin.com/c/i/sou?pageSize=60&cityId=765&workExperience=-1&education=-1&companyType=-1&employmentType=-1&jobWelfareTag=-1&kw=%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95&kt=3
返回的数据格式:
{"code":200,"data":{"numFound":5679,"numTotal":1000,"results":[{"applyType":"1","updateDate":"2019-02-18 08:59:47","refreshMulscore":"0.0","g_sort":"sort-ps-score-ranking-keyword","endDate":"2019-03-20 08:59:47","city":{"display":"深圳-南山区","items":[{"code":"765","name":"深圳"},{"code":"2039","name":"南山区"}]},"showLicence":0,"saleType":100,"positionURL":"https://jobs.zhaopin.com/CC120837247J00254874105.htm","g_weight":101,"industry":"160000,160400, 300100, 160200","welfare":["五险一金","周末双休","绩效奖金","全勤奖","带薪年假"],"salary":"8K-16K","SOU_POSITION_ID":"CC120837247J00254874105","duplicated":0,"geo":{"lon":"113.937987","lat":"22.523392"},"score":20.695484,"number":"CC120837247J00254874105","vipLevel":1003,"recruitCount":1,"workingExp":{"code":"510","name":"5-10年"},"companyScore":0,"tagIntHighend":0,"company":{"number":"CZ120837240","size":{"code":"3","name":"100-499人"},"name":"深圳市利谱信息技术有限公司","type":{"code":"5","name":"民营"},"url":"https://company.zhaopin.com/CZ120837240.htm"},"seo":"0","jobType":{"display":"IT质量管理/测试/配置管理,软件测试","items":[{"code":"160400","name":"IT质量管理/测试/配置管理"},{"code":"695","name":"软件测试"}]},"g_query":"query-ps-score-1","resumeCount":46,"createDate":"2019-02-18 08:59:47","jobName":"中高级测试工程师","manualScore":"0.0","eduLevel":{"code":"4","name":"本科"},"companyLogo":"","futureJob":false,"emplType":"全职","g_source":"source-solr-position","SOU_POSITION_SOURCE_TYPE":1,"recentAndTotal":{"applyTotal":"46","exposureTotal":"2350","clickTotal":"231","exposureRecent":"0","clickRecent":"0","applyRecent":"0"},"tags":[],"businessArea":"科技园","positionLabel":"{\"qualifications\":null,\"chatWindow\":20,\"jobLight\":[\"五险一金\",\"周末双休\",\"绩效奖金\",\"全勤奖\",\"带薪年假\",\"弹性工作\",\"节日福利\",\"员工旅游\"],\"role\":null,\"companyTag\":null,\"level\":null,\"refreshLevel\":0,\"skill\":[\"应用底层 \",\"熟悉网路知识\",\"软件功能测试\",\"网络设备测试\"]}","expandCount":0,"jobTag":{"searchTag":"应用底层 ,熟悉网路知识,软件功能测试,网络设备测试,五险一金,周末双休,绩效奖金,全勤奖,带薪年假,弹性工作,节日福利,员工旅游"},"feedbackRation":0.4557,"interview":0,"selected":false,"applied":false,"collected":false,"isShow":false,"timeState":"最新","rate":""},{"applyType":"1","updateDate":"2019-02-18 14:02:38","refreshMulscore":"0.0","g_sort":"sort-ps-score-ranking-keyword","endDate":"2019-03-13 14:55:38","city":{"display":"深圳","items":[{"code":"765","name":"深圳"}]},"showLicence":0,"saleType":100,"positionURL":"https://jobs.zhaopin.com/CC143316927J00059803005.htm","g_weight":101,"industry":"160400,160000,180000","welfare":["五险一金","员工旅游","加班补助","交通补助","餐补"],"salary":"6K-10K","SOU_POSITION_ID":"CC143316927J00059803005","duplicated":0,"geo":{"lon":"114.070226","lat":"22.556923"},"score":20.717499,"number":"CC143316927J00059803005","vipLevel":1003,"recruitCount":3,"workingExp":{"code":"103","name":"1-3年"},"companyScore":0,"tagIntHighend":0,"company":{"number":"CZ143316920","size":{"code":"5","name":"1000-9999人"},"name":"深圳市赢时胜信息技术股份有限公司","type":{"code":"5","name":"民营"},"url":"https://company.zhaopin.com/CZ143316920.htm"},"seo":"0","jobType":{"display":"IT质量管理/测试/配置管理,软件测试","items":[{"code":"160400","name":"IT质量管理/测试/配置管理"},{"code":"695","name":"软件测试"}]},"g_query":"query-ps-score-1","resumeCount":68,"createDate":"2019-02-11 14:55:38","jobName":"测试工程师","manualScore":"0.0","eduLevel":{"code":"4","name":"本科"},"companyLogo":"","futureJob":false,"emplType":"全职","g_source":"source-solr-position","SOU_POSITION_SOURCE_TYPE":1,"recentAndTotal":{"applyTotal":"68","exposureTotal":"3698","clickTotal":"218","exposureRecent":"0","clickRecent":"0","applyRecent":"0"},"tags":[],"businessArea":"莲花一村","positionLabel":"{\"qualifications\":null,\"chatWindow\":10,\"jobLight\":[\"五险一金\",\"员工旅游\",\"加班补助\",\"交通补助\",\"餐补\",\"通讯补助\"],\"role\":null,\"companyTag\":null,\"level\":null,\"refreshLevel\":1,\"skill\":null}","expandCount":0,"jobTag":{"searchTag":"五险一金,员工旅游,加班补助,交通补助,餐补,通讯补助"},"feedbackRation":0.1269,"interview":0,"selected":false,"applied":false,"collected":false,"isShow":false,"timeState":"最新","rate":""}],"debugInfo":null,"loginfo":null,"facets":[],"extend":"","method":"","taskId":"0a58fc153a9f4fcc9ccefd399e079156","scores":null,"elapsed":["gateway 内部执行耗时117毫秒","gateway 调用总耗时0毫秒","psapi 共耗时135毫秒"],"time":"2019-02-18 18:34:18"}}
现在我们来提取职位的positionURL字段:
1、在查看结果树中通过JSON Path Tester来调试json path

2、添加JSON提取器,设置正确的参数,获取第一个positionURL

输出结果:

3、获取所有的positionURL

输出结果:

4、把所有的positionURL放到一个字段中

输出结果:

5、一次性提取多个字段,比如我们要提取第一个职位的jobName;salary;positionURL三个字段

输出结果:

Json Path表达式:
|
JsonPath |
描述 |
|
$ |
根节点 |
|
@ |
当前节点 |
|
.or[] |
子节点 |
|
.. |
选择所有符合条件的节点 |
|
* |
所有节点 |
|
[] |
迭代器标示,如数组下标 |
|
[,] |
支持迭代器中做多选 |
|
[start:end:step] |
数组切片运算符 |
|
?() |
支持过滤操作 |
|
() |
支持表达式计算 |
Jmeter(七)关联之JSON提取器的更多相关文章
- 『动善时』JMeter基础 — 35、JMeter接口关联【JSON提取器】详解
目录 1.JSON提取器介绍 2.JSON提取器界面详解 3.JSON提取器的使用 (1)测试计划内包含的元件 (2)HTTP Cookie管理器内容 (3)用户登陆请求界面内容 (4)JSON提取器 ...
- Jmeter -- 上下文关联(JSON提取器)
目标: 将请求A响应数据的部分内容提取出来,保存成变量供后续请求使用(用在返回格式为json的HTTP请求中) 步骤: 1. 添加JSON Extractor后置处理器 add --> post ...
- Jmeter(5)JSON提取器
Jmeter后置处理器-JSON提取器 JSON是一种轻量级数据格式,以"键-值"对形式组织数据. JSON串中{}表示对象,[]表示对象组成的数组.对象包含多个"属性& ...
- 『动善时』JMeter基础 — 34、JMeter接口关联【XPath提取器】
目录 1.XPath提取器介绍 2.XPath提取器界面详解 3.XPath提取器的使用 (1)测试计划内包含的元件 (2)网易首页请求界面内容 (3)XPath提取器界面内容 (4)百度首页请求界面 ...
- 『动善时』JMeter基础 — 36、JMeter接口关联【正则表达式提取器】
目录 1.正则表达式提取器介绍 2.正则表达式提取器界面详解 3.正则表达式提取器的使用 (1)测试计划内包含的元件 (2)请求一界面内容 (3)正则表达式提取器界面内容 (4)请求二界面内容 (5) ...
- jmeter实现接口关联的两种方式:正则表达式提取器和json提取器看这篇就够了
一.前言在开展接口测试或者是接口面试的过程中,我们会发现很多接口需要依赖前面的接口,需要我们动态从前面的接口返回中提取数据,也就是我们通常说的关联. 关联通俗来讲就是把上一次请求的返回内容中的部分截取 ...
- 【jmeter】实现接口关联的两种方式:正则表达式提取器和json提取器
关联通俗来讲就是把上一次请求的返回内容中的部分截取出来保存为参数,用来传递给下一个请求使用. 示例: 1.用户密码进行登录,登录后生成authentication 2.需要将登录接口响应结果中auth ...
- Jmeter关联之正则表达式提取器(完整版)
Jmeter关联之正则表达式提取器(完整版) 在性能测试中,若想提取上一个请求的结果,作为下一次请求的参数,则需要使用关联~ 这篇博客主要讲jmeter正则表达式提取器的各种用法. 首先正则表达式 ...
- Jmeter之Json提取器详解(史上最全)
参考资料:https://www.bbsmax.com/A/D854lmBw5E/ Jsonpath在线测试:http://jsonpath.com/ 实际工作中用到的一些场景: 提取某个特定的值 提 ...
随机推荐
- [C#.net]xlApp.Workbooks.Open打开无法远程访问
上月还能使用的xlApp.Workbooks.Open,这个月报无法远程访问,搞了半天,才找到原因是Foxit PDF 的Execl插件搞的鬼,记录下 Excel.Workbooks wbChecks ...
- luogu题解P2502[HAOI2006]旅行--最小生成树变式
题目链接 https://www.luogu.org/problemnew/show/P2502 分析 一个很\(naive\)的做法是从\(s\)到\(t\)双向BFS这当然会TLE 这时我就有个想 ...
- JavaSE基础知识之继承
一.概述 继承描述的是事物之间的所属关系,这种关系是: is-a 的关系.例如,图中的兔子属于食草动物,食草动物又属于动物.继承可以使多种事物之间形成一种关系体系,让父类更通用,子类更具体. 1.1 ...
- 关于servlet类,继承HttpServlet,但是无法导入HttpServlet包的原因和解决方法
原因:缺少tomcat的libraries(HttpServlet对应位置在tomcat的lib中====) 解决: 1. 2. 3. 4.
- python版本
一般在Linux下,默认会安装一个python2.*的版本,但是我们自己开发有时候需要python3.*的版本 1. 安装python3 .安装依赖包 )首先安装gcc编译器,gcc有些系统版本已经默 ...
- Docker 备忘
C/S架构: 客户端发出命令给服务器端(内含守护进程),守护进程执行命令后将结果传回给客户端.(可以远程访问,可以本地访问) 容器内部操作: 可写层下面都是只读的,操作时需要什么文件会被复制到可写层, ...
- mybatis报错,There is no getter for property named 'templateName' in 'class
There is no getter for property named 'templateName' in 'class 主要原因是因为mapper.xml 的语句有错误,导致在bean里找不到相 ...
- win10编译maskrcnn benchmark
步骤 1. 按照官网的Option1安装步骤安装 https://github.com/facebookresearch/maskrcnn-benchmark/blob/master/INSTALL. ...
- PotPlayer直播源分享
添加直播源方法: 央视CCTV1综合HD-1,rtsp://113.136.42.45:554/PLTV/88888888/224/3221226087/10000100000000060000000 ...
- deep_learning_backprop
反向传播理解–从抽象到具体 神经网络从计算的角度看,数据是从底层输入,经过每一层,根据与该层之间的权重计算以一个中间结果,这个中间结果再经过一个非线性激活函数作用,得到该层的输出结果,然后把该层的输出 ...