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