beanshell 断言 jmeter脚本断言json 响应体

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import org.json.JSONObject;
import org.json.JSONArray;
String response = prev.getResponseDataAsString();
 
try {
    // 将响应字符串转换为JSON对象
    JSONObject jsonResponse = new JSONObject(response);
 
    // 获取 code, message 和 skuList 字段
    int code = jsonResponse.getInt("code");
    String message = jsonResponse.getString("message");
    JSONArray skuList = jsonResponse.getJSONObject("data").getJSONArray("skuList");
 
    // 检查 code 是否为 1 和 message 是否为 "success"
    if (code != 1) {
        prev.setSuccessful(false);
        prev.setResponseMessage("Invalid code, expected 1 but got " + code);
    } else if (!"success".equals(message)) {
        prev.setSuccessful(false);
        prev.setResponseMessage("Invalid message, expected 'success' but got " + message);
    } else if (skuList == null || skuList.length() == 0) {
        // 检查 skuList 是否为空
        prev.setSuccessful(false);
        prev.setResponseMessage("skuList is empty or null");
    } else {
        // 如果没有失败,则断言通过
        prev.setSuccessful(true);
    }
} catch (Exception e) {
    // 捕获JSON解析异常
    prev.setSuccessful(false);
    prev.setResponseMessage("Error parsing the response: " + e.getMessage());
}

 2、响应demo:

{
"code": 1,
"data": {
"skuList": [
{
"quantity": 2,
"salePrice": 28.99,
"discountPrice": 28.99,
"skuId": "529874918398763056"
},
{
"quantity": 2,
"salePrice": 28.99,
"discountPrice": 28.99,
"skuId": "529874918398763050"
}
]
},
"message": "success"
}
posted @   不带R的墨菲特  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2020-11-29 swagger 文档django实现
2019-11-29 python 处理form/data文件上传
点击右上角即可分享
微信分享提示