Jmeter Web 性能测试入门 :Jmeter 解析 response 并传递 value

Posted 我不是李白00

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter Web 性能测试入门 :Jmeter 解析 response 并传递 value相关的知识,希望对你有一定的参考价值。

解析response中的内容,并把获取到的value传递到后续的request中,常用的方法就是在想要解析response的request上添加后置处理器
本章介绍两种常用的组件

  • BeanShell PostProcessor
  • JSON Extractor
添加后置处理器:BeanShell PostProcessor
  • 获取response中的字符串,并对内容进行判断,当response中包含“The wait operation timed out”或者“Oops. Something went wrong ... sorry”时,都认为该request的response不正确
    String response = prev.getResponseDataAsString();
    String code = prev.getResponseCode();
    log.info("Respnse is " + response);
    log.info(code);
    int result1 = response.indexOf("The wait operation timed out");
    int result2 = response.indexOf("Oops. Something went wrong ... sorry");
    if(code == "200" && result1>=0 || result2>=0){
    FailureMessage = "OK,check current";
    }
    else{
    Failure = true;
    FailureMessage = "ERROR,check error";
    }

  • 解析返回的Jason数据,获取name字段的值赋给变量result

{“body”:{“apps”:[{“name”:”111”},{“name”:”222”}]}}

import org.json.*;
脚本中的导入的json包需要自己去网络下载后放到\lib\ext下

String response_data = prev.getResponseDataAsString();
JSONObject data_obj = new JSONObject(response_data);
String apps_str = data_obj.get("body").get("apps").toString();
JSONArray apps_array = new JSONArray(apps_str);
String[] result = new String[apps_array.length()];
for(int i=0;i<apps_array.length();i++){
JSONObject app_obj = new JSONObject(apps_array.get(i).toString());
String name = app_obj.get("name").toString();
result[i] = name;
}
vars.put("result", Arrays.toString(result));

添加后置处理器:JSON Extractor

解析返回的Jason数据,获取name字段的值带入参数到后边的request中

{“body”:{“apps”:[{“name”:”111”},{“name”:”222”}]}}

 

技术分享图片
 

 

变量t1的值是111,变量t2的值是222


























以上是关于Jmeter Web 性能测试入门 :Jmeter 解析 response 并传递 value的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter Web 性能测试入门 :Performance 测试中踩过 Jmeter 的坑

Jmeter Web 性能测试入门 :Jmeter 常用组件说明

JMeter性能测试工具快速入门教程

Jmeter Web 性能测试入门 :环境配置 (免安装版)

Jmeter Web 性能测试入门 :Jmeter 参数化 Request

Jmeter Web 性能测试入门 :Jmeter 解析 response 并传递 value