Jmeter参数提取器-如何使用 json提取器及设置全局变量来调用

在jmeter接口测试的过程中,经常会遇到了需要关联参数的情况,在接口响应后,提取请求返回结果中的某个值或者某一组值,作为下一个接口的入参,例如token或者其他变量,需要设置成全局变量或者局部变量来给下个接口去调用。

1.jmeter这个工具提供了比较多的提取元件,例如正则表达式提取,当然还有专门处理JSON格式响应数据的元件【JSON Extractor】,本次主要使用的就是json提取器,以下是接口的详细操作:

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

在这里插入图片描述

二、JSON Extractor里面需要填写变量路径(JSON PATH),如果不清楚这个提取表达式是否能够将想要的数据
提取出来,可以在请求时,在响应结果里去测试下提取表达式,jmeter默认的查看结果树是text文本格式,需要
快速看出变量的层级,修改显示格式改成JSON Path Tester,可以在这里直接对结果进行调试。
例如:我需要提取:access_token  这个变量 
那他的表达式就是:$..access_token  
可以看到已经提取到数据了

在这里插入图片描述
json表达式语法规则如下表:
在这里插入图片描述

三、在json 提取器里完善需要填写的参数

在这里插入图片描述
如果不放心,还可以在请求后添加一个 调试取样器, 查看我们需要提取的数据是否提取成功
在这里插入图片描述
在这里插入图片描述

四、提取的参数需要跨线程来使用,那就需要提取的参数设置为  全局变量  操作如下:

1.在提取数据的这个线程组添加 BeanShell取样器(这个元件与HTTP请求元件是同级),添加路劲如下:
在这里插入图片描述
2.我们需要运行函数助手,利用工具自带的函数 __setProperty 将获取到的参数设为属性
在这里插入图片描述
填写需要的参数
在这里插入图片描述
3.在将刚刚利用函数生成的字符串粘贴到 BeanShell取样器 的脚本区域
在这里插入图片描述
4.在使用函数助手中的 __P函数来调用Jmeter属性,获取传递给下个接口的参数值
在这里插入图片描述
其中${__P(access_token,)}就是所取到的变量,可以在另一个线程中使用该变量。

五、给到其他线程组使用刚刚提取的参数,就可以了

在这里插入图片描述

  • 8
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JMeter使用Beanshell和Json提取结合可以提取变量。首先,你需要通过Json提取从接口的返回值提取出想要的变量。然后,你可以使用Beanshell取样设置全局变量。下面是一个示例脚本: ``` ${__setProperty(变量名称,${Json提取参数名称},)} ``` 上面的脚本将从Json提取获取的参数值存储为一个全局变量。这样,在后续的接口你就可以使用这个全局变量作为参数了。这个方法适用于同一线程组或不同线程组的接口。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [如何在Jmeter使用json提取并将结果在全局变量使用?](https://blog.csdn.net/qq_29954891/article/details/127100693)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Jmeter beanshell 提取json对象的数据](https://blog.csdn.net/sasibingdu/article/details/120327187)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值