JSON提取器
组件使您可以执行JSON文档的验证。JSON PostProcessor使您可以使用JSON-PATH语法从JSON响应中提取数据。跟正则表达式提取器很相似。她必须作为HTTP Sample的子项或具有响应的任何其他采样器。她允许您以非常简单的方式提取文本内容。
添加》后置处理器》JSON提取器
JSON提取器页面的解释:
名称:自己命名即可
注释:自己命名即可
Apply to:
- 名称:自行定义,就是节点的名称
- 注释:节点的注释,容易理解的解释
- Apply to:断言可以应用于主样本,子样本或者两者。默认断言是第二个,断言应用于主样本。
- Main sample and sub-samples:主样本和子样本
- Main sample only:仅主样本
- Sub-samples only:仅子样本
- JMeter Variable Name to use:JMeter使用变量名字,断言将应用于命名变量的内容
Names of created variables:变量名称,比如:id,后续可以引用这个名称
JSON Path Expressions:JSON元素的路径
Match No. (0 for Random):0代表随机,就是JSON路径取出来的可能有多个值,0就是随机取一个,要取第一个,那么就填1即可。-1代表取所有
Compute concatenation var:如果找到许多结果,插件将会使用’,’连接起来
Default Values:默认值
JSON提取器分析:
返回的数据必须的JSON格式,否则会解析失败。他将JsonPath语法搜索指定的路径,找不到路径,则会失败。http://goessner.net/articles/JsonPath/ 这个网址去学习JSON语法
还是以禁用新建学校为例
取id和schoolid
JSON提取器可以在测试表达式是否提取成功 成功后直接复制去提取器粘贴即可
然后去提取 ID
可以看到相应中有两个ID 这个时候可以通过JSON解析来看这两个ID所在的类目 JSON解析地址 https://www.json.cn/json/jsononline.html
通过解析可以明显看到这这两个id一个在一级目录data中 一个在data下面的二级目录listSchoolType 中
要取一级目录data下面的ID的话 $.data.id 就可以了
如果要取二级目录listSchoolType中的ID的话 $.data.listSchoolType..id
这里我们需要的是第一个目录中的ID 所以我们用 $.data.id来取
然后去禁用学校中引用就可以了