Jmeter的提取器——JSON Extractor、XPath Extractor、正则表达式提取器(一)

Jmeter的提取器——JSON Extractor、XPath Extractor、正则表达式提取器
一、JSON Extractor
Jmeter的提取器——JSON Extractor、XPath Extractor、正则表达式提取器(一)_第1张图片
Variable names : 名称
JSONPath Expression:JSON 表达式
Match Numbers:0 代表随机,1 代表第 1 个,-1 代表全部
Default Value:未取到值的时候默认值
Jmeter的提取器——JSON Extractor、XPath Extractor、正则表达式提取器(一)_第2张图片
Jmeter的提取器——JSON Extractor、XPath Extractor、正则表达式提取器(一)_第3张图片
$…name 是查询当前所有的name的值
$…[?(@.name==’’)] 筛选名字是“”的所有list数据
$…Province[:2].name 查询前2个name
$…Province[0].name 提取 Province 中第一个 list 中的 Name
$.Province[:2].population 是筛选出前两条数据 ;
$.Province[2].population 是排除前两条数据;
$.Province[-2].population 是排除后两条数据,千万别弄混了哦

这里做一下总结:
1: 冒号在前
:index 正序取值,取数为 index
例:1 表示正序取 1 条数据(正数第一条)
:-index 倒序过滤,取数为 index
例:-1 表示倒序过滤一条数据(倒数第一条)
2:没有冒号
index 表示顺序取 index+1 的值
例: 1 取第二条数据
3:冒号在后
index: 顺序过滤,取数为 index
例: 1: 表示正序过滤第一条数据
-index:倒序取值,取数为 index
例:-1: 表示倒序取一条数据

Jmeter的提取器——JSON Extractor、XPath Extractor、正则表达式提取器(一)_第4张图片
这是一个多层嵌套的 jsonlist,需要提取所有 cabinInfos 列表下,patFlag=Y 时
的 cabin,standardPrice 和 finallyPrice。
$…[?(@.patFlag==“Y”)].[’'cabin","standardPrice ",“finallyPrice”]

注:JSON Extractor 使用 json path 表达式匹配,可以一次取多个变量值。$表示响
应的根对象。取子对象或对象的属性用. 取数组里的对象用[],数组索引从 0 开始

下面这个响应是一个 list 组,可以提取前两个 list 里面的 Name
Jmeter的提取器——JSON Extractor、XPath Extractor、正则表达式提取器(一)_第5张图片
$…Province[].name JSON表达式
Jmeter的提取器——JSON Extractor、XPath Extractor、正则表达式提取器(一)_第6张图片
1:添加一个 JSON Extractor 表达式,分号分隔多个参数名;分号分隔多个 json 表
达式;分号分隔多个匹配数字;分号分隔多个默认值(必填)
2:所有的个数一定要匹配,任一个不匹配该请求都不会在提取成功
Jmeter的提取器——JSON Extractor、XPath Extractor、正则表达式提取器(一)_第7张图片

正则表达式提取器在上一篇文章里,XPath Extractor在下一篇。

你可能感兴趣的:(jmeter)