如何在JMeter中使用Groovy编写响应断言

时间:2017-12-22 14:25:17

标签: http groovy jmeter

我想使用groovy为这样的Request Giving Response数据编写一个Response断言代码

{
"value":"200"
"value_description":"pass"
"value_code":"pass"
"data_encode":"uyt-09-0nbv"
}
谷歌搜索之后我只得到了响应断言SOAP-UI工具,我还查看了Blaze meter博客,我并没有低估他们在说什么。我希望演示的简单方法可以实现200的响应数据Assert值的.write代码。请帮帮我这个东西

2 个答案:

答案 0 :(得分:1)

用于检查响应中的value属性是否等于200的相关Groovy代码将类似于:

def json = new groovy.json.JsonSlurper().parse(prev.getResponseData())

def value = json.value

if (value != '200') {
    AssertionResult.setFailure(true)
    AssertionResult.setFauilreMessage('Expected 200, but got ' + value)
}
  1. 添加JSR223 Assertion作为请求的子项,返回上述JSON(顺便说一下,它不是有效的JSON)
  2. 将上述代码放入“脚本”区域(确保勾选Cache compiled script if available框并从“语言”下拉列表中选择groovy
  3. 更多信息:

答案 1 :(得分:0)

您可以添加4个JSON Extractor,每个都有不同的路径表达式:

$.value$.value_description$.value_code$.data_encode

它将断言返回JSON参数。

您可以添加Regular Expression Extractor以使用“应用于JMeter Variable来检查您获得的每个变量。”