性能测试(05)-表达式和业务关联-json关联
1.使用场景
在对返回结果较复杂且为json结构的HTTP请求进行提取某一个值,以用作其他接口使用或者用来断言的等。
2.使用
添加步骤:选择线程组中的HTTP请求——右键“添加”——后置处理器——JSON Extractor
先来一个免费的API网站:API Shop,专业的数据交易平台 | API免费调用,行业数据下载,数据定制
到时候,一般的测试数据,我们就直接从这个网站中获取就好。
{"result": {"area": "广州","areaCode": "440100","areaid": "101280101","dayList": [{"area": "广州","night_wind_direction": "东北风","night_air_temperature": "13","night_weather_pic": "http:\/\/app1.showapi.com\/weather\/icon\/night\/07.png","day_weather_code": "01","night_weather": "小雨","night_weather_code": "07","day_weather": "多云","day_wind_power": "0-3级","day_air_temperature": "18","day_weather_pic": "http:\/\/app1.showapi.com\/weather\/icon\/day\/01.png","day_wind_direction": "东北风","areaCode": "440100","areaid": "101280101","night_wind_power": "3-4级","daytime": "20211219"},{"area": "广州","night_wind_direction": "东北风","night_air_temperature": "12","night_weather_pic": "http:\/\/app1.showapi.com\/weather\/icon\/night\/21.png","day_weather_code": "07","night_weather": "小到中雨","night_weather_code": "21","day_weather": "小雨","day_wind_power": "3-4级","day_air_temperature": "15","day_weather_pic": "http:\/\/app1.showapi.com\/weather\/icon\/day\/07.png","day_wind_direction": "东北风","areaCode": "440100","areaid": "101280101","night_wind_power": "3-4级","daytime": "20211220"}],"ret_code": 0},"statusCode": "000000","desc": "请求成功"
}
接着我们就创建一个JSON提取器。
参数说明:
Variable names(名称):提取器的名称
Apply to(应用范围):
Main sample and sub-samples:应用于主sample及子sample。Main sample only:默认的是这个,应用于主sample。Sub-samples only:应用于子sample。JMeter Variable :应用于变量命名的内容。
Variable names:保存的变量名,后面使用${Variable names}引用。
JSON Path expressions:上一步中调试通过的json path表达式。
Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有)。
Default Values:找不到时默认值,一般设置为NOT FOUND。
Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”,使用场景需要获取的值有多个,后面需要对这一组数据进行操作。
特别注意:
当json提取器要提取两个值(或两个以上)的时候,一定要填写默认值,不然会报错
“Mismatch between number of variables, json expressions and default values” ;
反之:只提取两个值,默认值填了三个,也会报该错。
3.JSON Path expressions中的参数详细
JsonPath | 描述 |
$ | 根节点 |
@ | 当前节点 |
.or[] | 子节点 |
.. | 选择所有符合条件的节点 |
* | 所有节点 |
[] | 迭代器标示,如数组下标 |
[,] | 支持迭代器中做多选 |
[start:end:step] | 数组切片运算符 |
?() | 支持过滤操作 |
() | 支持表达式计算 |
4.配置
5.结果
6.获取上一个请求结果进行请求
7. jsonpath 语法
$..Name:列出所有省份
8.Json 取多个变量
也可以用表达式匹配所有值,然后用 match no 获取想要的值
性能测试(05)-表达式和业务关联-json关联相关推荐
- 性能测试(04)-表达式和业务关联-JDBC关联
1.JDBC关联 业务场景:先通过一个sql查询出数据,然后再传给另外一个sql去执行. 1.1.JDBC Connection Configuration 1.2.从 班级表中将需要取的数据查出来 ...
- sql解析json格式字段、sql关联json格式字段,mysql解析json、sql解析json字符串
sql解析json格式字段.sql关联json格式字段,mysql解析json.sql解析json字符串 sql解析字符串 sql关联json中的某个字段 sql解析字符串 表名user_login ...
- LOCUST性能测试3(高并发、参数关联、集合点)
高并发 FastHttpUser类 locust的HTTP客户端默认是使用requests模块实现的,但是在大规模并发http请求时,requests模块并不是最优的实现,为了解决并发资源消耗问题,l ...
- mysql中的自关联详解_Laravel - MySQL数据库的使用详解6(Eloquent ORM用法3:模型关联、关联查询)...
一.一对一关联 一对一关联是很基本的关联.假设一个 User 对应到一个 Phone,phones 表结构如下(通过 user_id 关联 user 表的主键): 1,定义一对一关联 (1)User ...
- jmeter+接口测试练习+接口关联+Json提取
1.测试用例设计 2.因为要执行多条用例,所以在Jmeter添加了http信息头管理器和http请求默认值. 3.查询用户信息接口需要用到登录的token,但要先登录再把token拿出来传到查询的信息 ...
- 电商软件性能测试,实战 | 电商业务的性能测试(一): 必备基础知识
原标题:实战 | 电商业务的性能测试(一): 必备基础知识 1. 测试步骤及模型分析 1.1 测试步骤总览 需求分析与测试设计(性能需求目标+业务模型拆解) 测试数据准备和构造(基于模型的数据准备) ...
- MySQL表关联及关联查询
主键 表中的一个字段,该字段的值是每一行数据的唯一标识. 默认情况下,每张表都要有一个主键,也只能有一个主键. 主键生成策略:代理主键,与业务无关的字段,仅仅是用来标识一行数据,一般定义为int类型, ...
- mysql 事务关联_MySQL 关联、联合查询,事务ACID见解
MySQL 关联.联合查询,事务ACID见解 1.关联查询分为几种情况: 1.1.内连接: 1.1.1.INNER JOIN INNER JOIN 产生的结果是两个表的交集 1.1.2.CROSS J ...
- 关联容器----关联容器概述,关联容器操作,无序容器
关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的.与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的. 关联容器支持高效的关键字查找和访问.两个主要的关联容器 ...
最新文章
- 太好玩了,爬虫、部署API、加小程序,一条龙玩转知乎热榜!
- 今天用GRID感觉它严重缺少灵活性
- Android——Handler总结
- 一个功能函数所具备的要素
- 编程的精髓:发现问题,解决问题
- php 不支持无符号整数,是否可以使用大型无符号int64而不会在PHP中失去精度?
- win10切换输入法快捷键_输入法失灵怎么办?该怎么恢复?
- python图像识别代码_用Python进行简单图像识别(验证码)
- Android Studio 3.1.4 报错Failed to find style 'coordinatorLayoutStyle' in current theme
- linux redis-trib.rb,linux 关于redis-trib.rb构建redis集群
- 点云合并pcl重载“+”
- python写csv文件按升序排列_用python给csv里的数据排序的具体代码
- Sql语句查询某列A相同值的另一列B最大值的数据
- VirtualBox安装Windows 98步骤
- 在 Vue2 中引入高德地图和三维模型
- 快手发布二季度及中期业绩:Q2收入191亿元 同比劲增48.8%
- OpenCV情绪识别(Python实现,超简单)
- python中os库是标准库还是第三方库_Python os 标准库使用
- 统计假设检验中的P值及置信区间理解
- Sign In with Apple - 使用苹果账号登录你的应用