Jmeter - BeanShell断言
添加 - 断言 - BeanShell断言:
// 1. 状态码断言 // 字符串只能使用双引号,字符串相等要使用 " ".equals(" ")表达式 log.info("状态码:" + ResponseCode); if (ResponseCode.equals("200")){ Failure = false; // 表示断言成功 } else{ Failure = true; // 表示断言失败 FailureMessage = "相应状态码非200"; // 自定义的失败信息 } // 2. 断言包含 String response = prev.getResponseDataAsString(); // 获取响应数据 log.info("响应体:" + response); if (response.contains("项目名称不能为空")){ Failure = false; // 表示断言成功 } else{ Failure = true; // 表示断言失败 FailureMessage = "相应数据不包含:项目名称不能为空"; // 自定义的失败信息 } // 3. 使用 JSON 响应断言 import org.json.*; // 导入 org.json 包 String response = prev.getResponseDataAsString(); // 获取响应数据 JSONObject responseJson = new JSONObject(response); // 转为 JSON 对象 String message = responseJson.getString("message"); // 获取 message 字段 log.info("响应 message 字段值:" + message); if (message.contains("项目名称不能为空")){ Failure = false; // 表示断言成功 } else{ Failure = true; // 表示断言失败 FailureMessage = "响应message字段非成功"; // 自定义的失败信息 } vars.put("result", response); // 提取参数 vars.put("result", responseJson.toString()); // 提取参数 // 4. 响应头解析 import java.util.HashMap; import java.util.Map; //将字符串用换行符 截取为abc数组 String [] headersList = ResponseHeaders.split("\n"); Map headersMap = new HashMap(); // 创建HashMap来重新组装headers for (int i=1; i<headersList.length; i++){ String [] itemsList = headersList[i].split(": "); // 按照冒号分割 headersMap.put(itemsList[0], itemsList[1]); // 键值对放入HashMap } String contentType = headersMap.get("Content-Type"); //提取请求头 log.info("响应Content-Type:" + contentType ) /* 一、断言方式 包含: message.contains("项目名称不能为空"); 等于:message.equals("项目名称不能为空"); 二、JSON响应体字段提取 下载 org.json.jar 放置 JMeter/lib目录下,下载地址:https://search.maven.org/search?q=g:org.json%20AND%20a:json&core=gav; JSON 其他语法: JSONObject对象除了getString()方法外,还支持: getBoolean(“字段名”):获取布尔类型字段值。 getInt(“字段名”):获取整型字段值。 getLong(“字段名”):获取长整型字段值。 getDouble(“字段名”):获取双精型字段值。 getJSONObject(“字段名”):获取嵌套Object类型字段值,JSONObject类型。 getJSONArray(“字段名”):获取嵌套Array类型,JSONArray类型。 */
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix