当前位置:网站首页>性能测试(05)-表达式和业务关联-json关联
性能测试(05)-表达式和业务关联-json关联
2022-08-09 10:45:00 【猿小飞】
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 获取想要的值
边栏推荐
- Cpolar内网穿透的面板功能介绍
- 研发需求的验收标准应该怎么写? | 敏捷实践
- RPN principle in faster-rcnn
- snmp++编译错误问题解决方法
- 【原创】JPA中@PrePersist和@PreUpdate的用法
- 985毕业,工作3年,分享从阿里辞职到了国企的一路辛酸和经验
- Electron application development best practices
- Unix Environment Programming Chapter 15 15.7 Message Queuing
- jmeter BeanShell 后置处理器
- unix环境编程 第十五章 15.6 XSI IPC
猜你喜欢
2022年台湾省矢量数据(点线面)及数字高程数据下载
Cluster understanding
机器学习-逻辑回归(logistics regression)
Solve the ali cloud oss - the original 】 【 exe double-click response can't open, to provide a solution
上传张最近做的E2用的xmms的界面的截图
Electron application development best practices
CSDN的markdown编辑器语法完整大全
备战金三银四:如何成功拿到阿里offer(经历+面试题+如何准备)
Oracle数据库常用函数总结
批量转换经纬度的网页实现方法
随机推荐
一天半的结果——xmms on E2
编程技术提升
tensorflow和numpy对应的版本,报FutureWarning: Passing (type, 1) or ‘1type‘ as a synonym of type is deprecate
TELNET协议相关RFC
OpenGL 2.0编程例子
深度学习--循环神经网络(Recurrent Neural Network)
Dialogue with the DPO of a multinational consumer brand: How to start with data security compliance?See you on 8.11 Live!
Oracle数据库:for update 和for update nowait的区别
Mysql多表查询
xmms的歌词显示及音量控制OK
非科班毕业生,五面阿里:四轮技术面+HR一面已拿offer
TensorFlow:NameError: name ‘input_data’ is not defined
torch.cat()函数的官方解释,详解以及例子
【报错记录】解决华擎J3455-ITX不插显示器无法开机的问题
Win32控件--------------------WM_DRAWITEM消息测试程序
unix环境编程 第十四章 14.4 I/O多路转接
[华为云在线课程][SQL语法分类][数据操作][学习笔记]
遇到恶意退款不用怕,App 内购买项目的退款通知现已可用
Unix System Programming Chapter 15 15.2 Pipes
百度云大文件网页直接下载