[Jmeter]---JsonPath表达式提取响应&断言
时间:2022-07-28
本文章向大家介绍[Jmeter]---JsonPath表达式提取响应&断言,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
测试过程中会遇到一些复杂的json响应。比如多层list嵌套时的取值的问题。本篇主要讲述如何运用JsonPath表达式来解决多层嵌套取值的问题。
语法参考 https://goessner.net/articles/JsonPath/
Mock实例
https://easy-mock.com/mock/5d5128dd7d20f4574035dc71/example/etc_mock
{
"response": [
{
"total": 4
},
{
"location": "Beijing",
"detail": {
"area": [
{
"date": "2018-06",
"city": "北京"
}
],
"province": "北京",
"type": "domestic",
"operator": "联通"
}
},
{
"location": "Shanghai",
"detail": {
"area": [
{
"date": "2018-11",
"city": "上海"
}
],
"province": "上海",
"type": "domestic",
"operator": "联通"
}
},
{
"location": "Hangzhou",
"detail": {
"area": [
{
"date": "2019-04",
"city": "杭州"
}
],
"province": "杭州",
"type": "domestic",
"operator": "联通"
}
},
{
"location": "Hangzhou",
"detail": {
"area": [
{
"date": "2019-04",
"city": "杭州"
}
],
"province": "杭州",
"type": "domestic",
"operator": "联通"
}
}
],
"responseHeader": {
"time": 1561284795013,
"version": "V1.1.0",
"status": 200
}
}
$..city:列出所有省份
..response[1].detail 提取response中第二个list中的detail
$..[?(@.location=="Shanghai")] 筛选出location为Shanghai的所有list数据
$..response[:3] 筛选前三条数据
注意:..response[:3] 是筛选出前三条数据 ;..response[3] 是排除前三条数据;
添加JSON提取器
添加JSON断言
实际运用结果
- 让你感觉不真实的13个伟大科学成就和发现
- 分析Silverlight跨域调用
- Spring集成RabbiMQ-Spring AMQP新特性
- Nodejs学习笔记(二)--- 事件模块
- 巧用FireFox来调试Silverlight
- Nodejs学习笔记(一)--- 简介及安装Node.js开发环境
- WCF后续之旅(7):通过WCF Extension实现和Enterprise Library Unity Container的集成
- 区块链技术(一):Truffle开发入门
- Nodejs学习笔记(一)——初识Nodejs
- RabbitMQ入门-Topic模式
- 单分子数据储存取得一大突破,一枚“硬币”存量相当于100部iPhone 7
- Windows 7 旗舰版 VHD安装体验
- Nodejs学习笔记(二)——Eclipse中运行调试Nodejs
- Nodejs学习笔记(三)——一张图看懂Nodejs建站
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 基于栈的内存分配 —— alloca
- 第七章 字符串
- lldb-入坑指北(1)-给xcode添加批量启用禁用断点功能
- 第八章 指针
- Django入门笔记——第二章、Django安装
- lldb 入坑指北(2)- 15行代码搞定二进制与源码映射
- lldb入坑指北(4)-打印任意函数的汇编代码
- ElasticSearch索引 VS MySQL索引
- Python随机打乱列表中的元素
- Python面试题汇总
- lldb 入坑指北(3) - 打印 c++ 实例的虚函数表
- 一文让你彻底搞懂`__str__`和`__repr__`?
- lldb 入坑指北(1) - 给Xcode批量添加启用&禁用断点功能
- Xcode 中的 Workspace、Project、Target 和 Scheme
- 学习Python一年,这次终于弄懂了浅拷贝和深拷贝