目录
前言:
JMeter是一个功能强大的性能测试工具,它提供了许多后置处理器来处理和提取测试结果。其中一个常用的后置处理器是JSON提取器(JSON Extractor),它可以帮助我们从响应数据中提取和操作JSON格式的内容。
测试环境
JMeter 5.4.1
插件介绍
JSON后置处理器(PostProcessor)允许使用 JSON Path 语法从JSON格式的响应中提取数据。类似正则表达式提取器,必须位于HTTP采样器、或者其它可以返回JSON数据的采样器下,作为子结点。
插件参数
Name
显示在脚本树结构中的名称
Apply to:
这用于可以生成子采样器的采样器,比如携带嵌套资源的HTTP采样器、邮件读取器或者由事务控制器控制的采样。
-
Main sample only
仅适用于主采样
-
Sub-samples only
仅适用于子采样
-
Main sample and sub-samples
适用于主采样和子采样
-
JMeter Variable Name to use
提取适用于命名变量的内容。
Names of created variables
由英文分号 ;分隔的变量名称,这些变量分别用于存储对应JSON-PATH表达提取的结果(必须匹配JSON-PATH表达式数量)。
JSON Path Expressions
由分号分号 ;分割的JSON-PATH表达式 (必须匹配变量的数量)
Default Values
如果对应变量的JSON-PATH表达式不返回任何结果时,对应变量的默认值,由英文分号 ;分隔(必须匹配变量的数量)
Match Numbers
对于每个JSON-PATH表达式,如果表达式查询到多个结果时,你可以选择提取那个值作为变量值。
- 0 表示随机(匹配数字的默认值)
- -1 提取所有结果,这些结果将存储到名为
<variable name>_N
的变量(N取值从1到提取结果的数量) - X 表示提取第X个结果。如果第X个结果不存在,则不会返回任何值,直接使用对应默认值作为变量。
这些匹配数字必须使用英文分号相隔,且匹配JSON-PATH表达式的数量。如果不配置匹配数字,默认使用0作为每个表达式的默认值。
注意:不管对应的JSON-PATH表达式能否查询到结果,程序都会将结果数(如果查询不到结果则设置为 0 )存储到变量 <variable name>_matchNr
中
Compute concatenation var
如果勾选,则表示如果对应表达式查询到多个结果,插件将使用 , 连接这些值并存储为命名为<variable name>_ALL
的变量中。
插件使用示例
其中登录