微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何基于jmeter中的先前响应值绕过采样器?

如何解决如何基于jmeter中的先前响应值绕过采样器?

开关控制器

  1. JSR223 PostProcessor添加为请求的子代,该请求返回您的JSON
  2. 将以下代码放入“脚本”区域:
        def size = com.jayway.jsonpath.JsonPath.read(prev.getResponseDataAsstring(), '$..custom_options')[0].size()
    if (size == 0) {
        vars.put('size', 'empty')
    } else {
        vars.put('size', 'notempty')
    }
  1. 开关控制器添加到您的测试计划中,并${size}用作“开关值”

  2. 简单控制器添加为交换控制器的子代,并empty为其命名。将与空“ custom_options”相关的请求放在该empty简单控制器下

  3. 添加一个简单控制器作为交换控制器的子代,并notempty为其命名。将与不为空的“ custom_options”相关的请求放在该notempty简单控制器下。

JMeter开关控制器

更多信息:JMeter中的选择语句变得简单

解决方法

我遇到了一种情况,在这种情况下,我需要验证其中一个值的前一采样器的响应,如果该值是[],则需要触发以下请求,否则请切换到另一个采样器。

Flow:
Check Response of Sampler for One of the attribute
IF(attribute value==[])
Execute the Sampler under IF Conditions.
ELSE
New Sampler

样本响应:{“ id”:8,“ merchant_id”:“ 39”,“ title”:“ Shirts-XtraLarge”,“
subtitle”:null,“ price”:110,“ description”:null,“ images”: “
image_thumbs”:[[]],“ options”:[],“ options_available”:[],“ custom_options”:[]}

我需要检查属性custom_options是否为空!如果为空,请执行一些操作,如果不为空,请执行其他操作!

需要条件来模拟这一点!

帮助很有用!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。