zoukankan      html  css  js  c++  java
  • 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包需要自己去网络下载后放到libext下

    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

  • 相关阅读:
    解决了一个java服务线程退出的问题
    怎么实现软件注册码功能?
    数据挖掘学习笔记
    IP网段拆分出多个IP
    Java list分割批量处理
    pyecharts import Bar后找不到Bar,或报错AttributeError: 'str' object has no attribute 'get'
    SqlServer 按日、周、月、季、年统计SQL语句
    Redis知识点
    js对类似Excel表头数据排序:A1,A10,A11,B1
    Elasticsearch面试题
  • 原文地址:https://www.cnblogs.com/xiaoshen666/p/10860345.html
Copyright © 2011-2022 走看看