问题描述
- 将JSR223 PostProcessor添加为请求的子代,该请求返回您的JSON
- 将以下代码放入“脚本”区域:
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')
}
-
将简单控制器添加为交换控制器的子代,并
empty
为其命名。将与空“ custom_options”相关的请求放在该empty
简单控制器下 - 添加另一个简单控制器作为交换控制器的子代,并
notempty
为其命名。将与不为空的“ custom_options”相关的请求放在该notempty
简单控制器下。
更多信息: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是否为空!如果为空,请执行一些操作,如果不为空,请执行其他操作!
需要条件来模拟这一点!
帮助很有用!