十五、JMeter实战-关联-JSON提取器和边界值提取器

一、JSON提取器

该组件使您可以执行JSON文档的验证。JSON PostProcessor使您可以使用JSON-PATH语法从JSON响应中提取数据。跟正则表达式提取器很相似。她必须作为HTTP Sample的子项或具有响应的任何其他采样器。她允许您以非常简单的方式提取文本内容。
JSON提取器跟前面讲的JSON断言很相似。

添加》后置处理器》JSON提取器

JSON提取器页面的解释:

名称:自己命名即可
注释:自己命名即可
Apply to:

  1. 名称:自行定义,就是节点的名称
  2. 注释:节点的注释,容易理解的解释
  3. 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提取器分析:

  1. 返回的数据必须的JSON格式,否则会解析失败。
  2. 他将JsonPath语法搜索指定的路径,找不到路径,则会失败。http://goessner.net/articles/JsonPath/ 这个网址去学习JSON语法。
    举例:取code值





二、Json提取最后一组数据

新建后的属性接口响应回来一般放在第一位或者最后一位,第一位取比较方便,如下图:

1. 取第一个分类的id

$.[0].children[0].children[0].id



2. 那么取最后一个分类中的二级分类的id:

$.[0].children[-1:].children[0].title





三、边界提取器

允许用户使用左右边界从服务器响应中提取值。作为后处理器,此元素将在其范围内的每个Sample请求之后执行,测试边界,提取请求的值,生成模板字符串,并将结果存储到给定的变量名称中。

添加》后置处理器》边界提取器



JMeter中的边界提取器跟loadrunner中的左右边界值一样的原理。确定左边界和右边界,取中间的值。正则提取器的话取数据则会更灵活一些。
在填写边界值提取器之前,可以在查看结果树中先测试一下:


已经取到code的值:1了,那么就可以把左边界和右边界的值填写到边界提取器中了

原文地址:https://www.cnblogs.com/wwho/p/14154912.html