jmeter接口之json提取器应用
在接口测试中有一个这样的场景:业务接口需要用到登录token;下个接口需要用到前个接口返回值作为参数,该怎么实现?
首先先看下登录、业务接口,本文用的jmeter版本为5.4.1
一、json提取器设置变量获取数据
1、先添加登录接口,运行查看响应结果

json path表达式怎么写?例如我要获取token,可写$data.token,$表示根元素,然后一级一级属性往下去找,先找到data,再往下子节点找到token;也可以写成$..token,直接从根元素去递归查找token。


2、右键登录请求-->后置处理器-->添加“JSON提取器”

JSON提取器说明:
Apply to:应用范围
Names of created variables :接收值的变量名,自定义,多个变量用分号分隔
JSON Path expression: json path表达式,也是用分号分隔
Match No.(0 for Random):0表示随机;n取第几个匹配值;-1匹配所有。若只要获取到匹配的第一个值,则填写1
Compute concatenation var(suffix_ALL):如果找到许多结果,则插件将使用' , '分隔符将它们连接起来,并将其存储在名为<variable name> _ALL的var中
Default Values: 缺省值,匹配不到值的时候取该值,可写error。
为了检查通过json提取器是否正常获取到值,可添加Debug PostProcessor来检查。

3、添加查询接口,将json提取器获取到的值,进行变量引用

点击运行接口,运行成功

二、json提取器设置一个变量获取多个数据
1、例如从“默认页面查询接口”返回中获取所有name

如果想要获取这里所有的name,json路径表达式怎么写?$..name或者$.data.records[*].orgName

2、添加json提取器,获取所有name信息

添加Debug PostProcessor来调试用,正常跑用例删除或禁用它。可查看到获取到了所有name值。通过name_1,....name_10可得到每一个name。

3、将获取到的每一个name循环进行查询
1)添加循环控制器,设置循环次数

2)在循环控制器之下添加“输入查询接口”,并做以下设置
因为也是业务接口,需要调用token,所以这里也加一下。

因为要把JSON提取器中匹配到的name_1,....name_10循环传递给“用户流水记录”,
__counter为jmeter自带的一个计数函数,${__counter(,)}引用这个函数,每运行1次+1,从1开始;
name_${__counter(,)}运行第1次name_1,运行第2次name_2,以此类推,直到运行到循环次数name_10
__V为jmeter自带的一个嵌套变量函数,运行第1次name_${__counter(,)}为name_1,${__V(name_${__counter(,)},)}则为${name_1},值10;以此类推,一直循环到${name_10}

3)运行结果查看

jmeter接口之json提取器应用的更多相关文章
- Jmeter中的JSON提取器用法
一.使用前提 一般来说JSON提取器只适用于响应结果中返回的是json数据 二.需求 在下一个接口调用上一个接口的数据,如:请求1返回的结果,处理以后作为请求2的参数使用. 首先需要下载JSON Ex ...
- 『动善时』JMeter基础 — 35、JMeter接口关联【JSON提取器】详解
目录 1.JSON提取器介绍 2.JSON提取器界面详解 3.JSON提取器的使用 (1)测试计划内包含的元件 (2)HTTP Cookie管理器内容 (3)用户登陆请求界面内容 (4)JSON提取器 ...
- jmeter实现接口关联的两种方式:正则表达式提取器和json提取器看这篇就够了
一.前言在开展接口测试或者是接口面试的过程中,我们会发现很多接口需要依赖前面的接口,需要我们动态从前面的接口返回中提取数据,也就是我们通常说的关联. 关联通俗来讲就是把上一次请求的返回内容中的部分截取 ...
- 【jmeter】实现接口关联的两种方式:正则表达式提取器和json提取器
关联通俗来讲就是把上一次请求的返回内容中的部分截取出来保存为参数,用来传递给下一个请求使用. 示例: 1.用户密码进行登录,登录后生成authentication 2.需要将登录接口响应结果中auth ...
- Jmeter之Json提取器详解(史上最全)
参考资料:https://www.bbsmax.com/A/D854lmBw5E/ Jsonpath在线测试:http://jsonpath.com/ 实际工作中用到的一些场景: 提取某个特定的值 提 ...
- Jmeter系列(26)- 详解 JSON 提取器
果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 为什么要用 JSON 提取器 JSON ...
- Jmeter之JSON提取器应用
在接口测试中有一个这样的场景:登录之后,需要进行昵称修改,怎么实现? 首先我们分别看下登录.昵称修改的接口说明: 以上业务中补充一点,昵称修改,还需要添加请求头Authorization传登录获取的t ...
- 【Vlog】Jmeter之使用beanshell将json提取器中的多个值拼接为一个列表
场景如下: json提取器返回了当前登录用户的所有好友id,然而下一个接口是把好友id拼成一个数组进行传参的,现需将所有的好友ID拼接起来,类似ID1,ID2,ID3......这样 beanshel ...
- Jmeter(5)JSON提取器
Jmeter后置处理器-JSON提取器 JSON是一种轻量级数据格式,以"键-值"对形式组织数据. JSON串中{}表示对象,[]表示对象组成的数组.对象包含多个"属性& ...
- jmeter——JSON提取器(从上一个请求的响应结果提取参数传给下一个请求)
记录一个参数提取过程,可供后续参考. 1. 查看响应报文的结构 将上一个请求的响应报文复制到Notepad++编辑器 JSON Viewer是Notepad++的JSON插件, Notepad++的P ...
随机推荐
- Java 进阶P-7.4+P-7.5
JTable 用JTbale类可以以表格的形式显示和编辑数据. JTable类的对象并不存储数据,他只是数据的表现. 表格是 Swing 新增加的组件,主要功能是把数据以二维表格的形式显示出来,并且允 ...
- 创建型模式 - 抽象工厂模式AbstractFactory
学习而来,代码是自己敲的.也有些自己的理解在里边,有问题希望大家指出. 模式的定义与特点 抽象工厂模式.是一种为访问类提供一个创建一组相关或相关一类对象的接口,且访问类无需指定所要的产品的具体类,就能 ...
- 【Rust学习】内存安全探秘:变量的所有权、引用与借用
作者:京东零售 周凯 一.前言 Rust 语言由 Mozilla 开发,最早发布于 2014 年 9 月,是一种高效.可靠的通用高级语言.其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有 ...
- CentOS安装mysql、MariaDB以及更改数据库存储路径
注意:此方法只适用于新的机器或没有重要数据库表(可随意删除)的机器安装,如需升级版本参考下方链接!!! https://www.jianshu.com/p/955ff6065935 一.安装操作 1. ...
- 【TS】数组和元组
数组 在ts中,定义数组类型语法: let 变量名 : 数据类型[] = [值1,值2,值3] let arr1 : number[] = [1,2,3,4] console.log(arr1); / ...
- 【KAWAKO】TVM-tflite模型编译与优化
目录 前言 准备模型 版本问题 精度问题 加载tflite模型 编译模型 在python上运行模型进行测试 加载输入数据 运行四连 优化(Autotune) 注: 前言 TVM的编译与优化主要有两种方 ...
- SP2416 DSUBSEQ - Distinct Subsequences
题意 求本质不同的子串个数(包括空串) 思路 序列自动机裸题 直接上代码 \(Code\) #include<cstdio> #include<cstring> using n ...
- 黑群晖NAS、windows server服务器内网穿透
推荐一个套件: http://nas.8x6x.com/ 远程速度大概3m每秒,一月10元,很好用. 怎么使用里面有教程,这里暂时不更新. 2022.10.16更新 目前已经卸载了群辉系统,换了win ...
- linux系统下,新加硬盘并把现有的/home目录扩容。
我的机器是centos7.3的系统.使用了一段时间后,我的/home 目录的可用空间没有了.于是我新加了一张硬盘.(如果是加了多张硬盘,就先做好raid,使用起来是一样的).我需要把新加的硬盘空间都划 ...
- .gitattributes 作用详细讲解
https://blog.csdn.net/qq_35425070/article/details/106883833 *.fbx filter=lfs diff=lfs merge=lfs -tex ...