JMeter---JSON提取器

JMeter的JSON提取器是一个用于从JSON响应中提取数据的元件。它可以从JSON响应中提取特定字段的值,并将这些值用于后续的测试步骤。

使用JSON提取器的步骤如下:

  • 添加一个HTTP请求,用于获取包含JSON响应的数据。

  • 在HTTP请求之后添加一个JSON提取器元件。

  • 在JSON提取器中配置相关字段。

JSON提取器的配置包括以下几个字段:

  • "name of created variables":指定一个变量名,用于存储提取的值。
  • "JSON Path expression":指定一个JSON表达式,用于定位要提取的值。可以使用点号(.)来访问嵌套的字段,例如:"user.name"。
  • "Match Numbers(匹配号)":指定要提取的值的索引号。如果JSON表达式返回多个匹配项,可以使用匹配号来选择其中一个。(0代表随机,1代表第一个,-1代表所有),可为空即默认第一个。
  • "Compute concatenation var(suffix_ALL)":是否统计所有,即将匹配到的所有值保存,名为"变量名_ALL",使用场景需要获取的值有多个,后面需要对这一组数据进行操作。
  • "Default Value":未取到值的时候默认值。

当配置完JSON提取器后,它将会在每次执行HTTP请求后提取指定字段的值,并将其存储在指定的变量中。可以在后续的测试步骤中使用这些变量。

当使用JMeter的JSON提取器时,可以使用JSONPath语法来定位和提取JSON响应中的特定字段值。

以下是JSONPath语法的详细说明:

:根节点。使用表示JSON的根节点。

.:当前节点。使用.表示当前节点。

..:递归下降,用于查找当前节点及其子节点中的匹配项。例如,$.store..price表示查找根节点下的store节点及其子节点中的所有price字段。

*:通配符,匹配任意字段。例如,$.store.*表示匹配根节点下的store节点中的所有字段。

\]:下标操作符,用于选择数组中的元素或对象中的属性。例如,$.store.book\[0\]表示选择根节点下的store节点中的book数组的第一个元素。 \[n\]:选择数组中的第n个元素。例如,$.store.book\[2\]表示选择根节点下的store节点中的book数组的第三个元素。 \[start:end\]:选择数组中从start到end的元素范围。例如,$.store.book\[0:2\]表示选择根节点下的store节点中的book数组的前三个元素。 \[?(expression)\]:过滤器,用于根据表达式的结果筛选匹配项。例如,$.store.book\[?(@.price \< 10)\]表示选择根节点下的store节点中的book数组中价格小于10的元素。 示例:假设有以下JSON响应: ```python { "store": { "book": [ { "title": "Book 1", "price": 10 }, { "title": "Book 2", "price": 15 }, { "title": "Book 3", "price": 5 } ] } } ``` 如果想提取第二本书的价格,可以使用JSONPath表达式$.store.book\[1\].price。这将返回15作为提取的值。 除了上述基本语法外,JSONPath还支持一些其他高级功能,如函数、条件表达式等。可以根据具体需求在JSONPath中使用这些功能。 **最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:** #### ![](https://file.jishuzhan.net/article/1738667831169388545/7cb830d04d0da6a59c8c2a118e958b4d.webp) 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! ![](https://file.jishuzhan.net/article/1738667831169388545/140187f5819b117ac57566ae8608dab0.webp)

相关推荐
独行soc3 小时前
2025年渗透测试面试题总结-2025年HW(护网面试) 33(题目+回答)
linux·科技·安全·网络安全·面试·职场和发展·护网
宇钶宇夕8 小时前
EPLAN 电气制图:建立自己的部件库,添加部件-加SQL Server安装教程(三)上
运维·服务器·数据库·程序人生·自动化
Thomas_YXQ11 小时前
Unity3D游戏内存优化指南
游戏·unity·职场和发展·性能优化·蓝桥杯·游戏引擎·unity3d
Y1nhl12 小时前
力扣_链表_python版本
开发语言·python·算法·leetcode·链表·职场和发展
一个 00 后的码农12 小时前
26考研物理复试面试常见问答问题汇总(2)电磁波高频面试问题,物理专业保研推免夏令营面试问题汇总
考研·面试·职场和发展
宇钶宇夕12 小时前
STEP 7 MicroWIN SMART V2.2 的详细安装步骤及注意事项
运维·服务器·程序人生·自动化
YuTaoShao1 天前
【LeetCode 热题 100】48. 旋转图像——转置+水平翻转
java·算法·leetcode·职场和发展
天真小巫1 天前
2025.7.6总结
职场和发展
百锦再1 天前
.Net配置文件appsetting.json的几种读取方法
chrome·json·.net·依赖注入·appsetting·web.config
算法_小学生1 天前
LeetCode 75. 颜色分类(荷兰国旗问题)
算法·leetcode·职场和发展