jmeter json提取器及设置

记录:在jmeter接口测试的过程中,遇到了需要关联参数的情况,在接口响应后,提取请求返回结果中的某个值或者某一组值,作为下一个接口的入参,如token或者其他变量,以及需要设置全局变量cookie的情况,整理如下

1.一开始的时候,使用的是【正则表达式提取器】去提取数据,但这个元件,对于响应结果是HTML格式的接口还比较方便,对于JSON格式的响应结果就有点无能为力了,总是提取不到需要的正确的值,百度教程的时候,发现了jmeter有专门处理JSON格式响应数据的元件【JSON Extractor】。

一、在接口请求内添加JSON Extractor,路径如下

二、JSON Extractor需要填写变量路径(JSON PATH),先认识如何写JSON PATH,才能获取到需要的变量值,jmeter默认的查看结果树是text文本格式,需要快速看出变量的层级,修改显示格式改成JSON Path Tester,可以在这里直接对结果进行调试

写JSON PATH:

JSON的基本语法就是$.然后后面跟要取字段名,比如要取msg,就直接写$.msg,如果要取data,就直接写$.data如下所示:

我需要获取的是msg《data内的第三条数据《对应的productId字段

语法规则如下表:

三:完善JSON提取器的表单

(如果不放心,还可以在请求后添加一个Debug Sampler查看我们需要id是否提取成功。)

四:如果是跨线程使用,需要声明全局变量,教程如下

  1. 该线程组添加BeanShell取样器,sampler-BeanShell sampler

  1. 运行函数助手,利用函数__setProperty将获取到的参数设为属性

  1. 再将设置属性时生成的函数字符串粘贴到脚本区域

  1. 使用__P函数来调用jmeter属性,获取属性值

其中${__P(productId,)}就是所取到的变量,可以在另一个线程中使用该变量。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值