获取响应的数据

response = prev.getResponseDataAsString()

//prev.getResponseDataAsString是Jmeter提供的方法,可以调取上次请求的响应字符串
response = prev.getResponseDataAsString();

验证statusCode的值是否为200

import org.json.*;
import java.util.Arrays; //获取上一个请求的返回
String jsonString = prev.getResponseDataAsString();
JSONObject responseJson = new JSONObject(jsonString); //判断返回值是否和预期一致
if (responseJson.getInt("statusCode") != 200) {
//把断言失败置为真,即用例失败,并在结果树中显示FailureMessage
Failure = true;
FailureMessage = "statusCode的返回值有误";
}

验证respone中message的值是否与预期一致

import org.json.*;
import java.util.Arrays; //获取上一个请求的返回
String jsonString = prev.getResponseDataAsString();
JSONObject responseJson = new JSONObject(jsonString); String fbpcontent = responseJson.getString("message");
if (!fbpcontent.equals("不能发送小于当前时间点的定时任务")) {
//把断言失败置为真,即用例失败,并在结果树中显示FailureMessage
Failure = true;
FailureMessage = "message与实际值不一致";
}

数据解析 针对如返回信息解析  groups  的数据

{
"priorityGroups": {
"proId": 1234,
"name": "项目一",
"groups": [
{
"id": "50356",
"items": [
{
"proId": 1360,
"n": "PC端",
"index": 1
},
{
"proId": 1361,
"n": "iOS端",
"index": 2
}
]
}
]
},
"promotion": {
"proId": 1364,
"cusId": 84,
"name": "项目二",
"from": 1470821215,
"to": 1470907615,
"status": 1,
"objectId": 1069,
"createBy": 394,
"eff": 1470821215000,
"createTime": 1470821155000
}
}
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject; String jsonContent = prev.getResponseDataAsString(); JSONObject response = new JSONObject(jsonContent);
JSONArray groups = response.getJSONObject("priorityGroups").getJSONArray("groups");
String strGroups = groups.toString();

BeanShell的获取数据解析,还可以使用Gson提供的方法

//prev.getResponseDataAsString是Jmeter提供的方法,可以调取上次请求的响应字符串
response = prev.getResponseDataAsString(); //使用Gson提供的方法解析json JsonParser parser = new JsonParser();
JsonObject responseObj = (JsonObject) parser.parse(response);

变量 的读取与保存 vars中的变量仅对当前线程组内可见
变量的读取
vars.get("goodId");

变量的保存
vars.put("new_value", value) ;

对象  的读取与保存

对象的读取
vars.getObject("OBJECT_NAME"); 对象的保存
vars.putObject("object_name", Object);

跨线程读取和保存变量   props

变量的获取
props.get("goodId") 变量的保存
props.put("new_value", value)

最新文章

  1. 飞思卡尔imx6开发板Linux下GPIO驱动
  2. [Note] changing building platform from vs 2013 to vs community 2015
  3. oracle impdp 导入
  4. .net学习笔记---xml序列化
  5. 生鲜电商的O2O之道
  6. 1040. Longest Symmetric String (25)
  7. HBase面试问题
  8. 记JavaScript的入门学习(二)
  9. JavaScript高级程序设计:第二十一章
  10. css代码实现
  11. Spring MVC请求执行流程
  12. git tag 查看标签列表、切换标签
  13. mysql 开发进阶篇系列 3 SQL 优化(索引使用方法)
  14. 大话设计模式之工厂模式 C#
  15. Maven入门---修改tomcat版本及端口及访问路径(四)
  16. 使用PostSharp在.NET平台上实现AOP(转)
  17. 最新Java校招面试题及答案
  18. noi题库(noi.openjudge.cn) 3.9数据结构之C++STL T1——T2
  19. yum安装(sentos7)
  20. 搭建springmvc

热门文章

  1. Vue14 条件渲染
  2. 关于Powerlink和EtherCAT的对比
  3. 下篇 | 使用 🤗 Transformers 进行概率时间序列预测
  4. 【KAWAKO】将conda虚拟环境设置进jupyter-notebook
  5. 内网安全之:黄金&白银票据传递域控制器权限维持
  6. 两个集合之间数据过滤linq
  7. .NET依赖注入之一个接口多个实现
  8. 基于C++的OpenGL 01 之Hello Triangle
  9. LeetCode-537 复数乘法
  10. pat乙级1022 D进制的A+B