Jmeter:请求应根据之前的响应进行更改

时间:2018-02-16 19:29:14

标签: jmeter beanshell

{
    {"status": 
    {"id":2,}
}

下一个服务应该是

{
    "Data":"ABC"
}
同样地:

set Data = "DEF" if Id = 2 , Data = "GHI" if id = 3

1 个答案:

答案 0 :(得分:0)

  1. 将JSR223 PostProcessor作为生成此status JSON
  2. 的请求的子项添加
  3. 将以下代码放入"脚本"面积:

    def id = com.jayway.jsonpath.JsonPath.read(prev.getResponseDataAsString(), '$..id').get(0).toString()
    switch (id) {
        case '2':
            vars.put('Data', 'DEF')
            break;
        case '3':
            vars.put('Data', 'GHI')
    }
    
  4. 将您的HTTP请求采样器正文数据修改为:

    JMeter JSON Body Data

  5. 如果id 2 - Data值将变为DEF,如果id将为3 - {{ 1}}将成为Data

  6. 参考文献: