JMeter-SSE响应数据自动化

结构图

在这里插入图片描述

背景:

需要写一个JMeter脚本配合jenkins来进行自动化测试,主要是通过调用接口,要对响应的数据进行处理,包括不限于错误信息的输出。

1.SSE(摘录)

SSE(Server-Sent Events)是一种基于HTTP协议、允许服务器主动向客户端推送实时更新的技术‌。它特别适用于单向数据流的实时场景,例如消息通知、AI对话流式响应等,通过保持长连接实现持续数据传输。

2.实现思路(只处理简单json格式)

2.1 用户自定义变量组件

主要是用来统一更换和维护环境变量的,比如线上、线下环境host的切换

2.2 HTTP信息头管理

设置https请求的信息头,比如token,数据格式等等
在这里插入图片描述

2.3 CSV 数据文件设置

参数如下图设置
在这里插入图片描述
变量名称:appId,query,appName,needFiles,file

对应vars中的变量,变量值是根据分隔带JMeter自动处理的,变量名称 数量和分隔后的变量值 数量不对应也没影响,两者缺少的值会忽略或者设置为空值

2.4 HTTP请求组件

需要设置消息体数据,请求url等
在这里插入图片描述
下面三个插件,归类到HTTP请求的子目录下:如图
在这里插入图片描述

2.4.1 JSR223 预处理程序

主要来处理一下请求中消息体数据中的一个参数,fileParam

根据csv文件中的标记来确定fileParam的具体值,如下代码

import org.json.JSONObject;
import org.json.JSONArray;
import java.util.ArrayList;

//判断是否需要 files 参数
private Boolean needFiles(String str) {
   
   
	if("1".equals(str)) {
   
   
		return true;
	}else {
   
   
		return false;
	}
}

//设置 files 参数
private void setFiles(String fileParams) {
   
   
	try{
   
   
		//将fileParams转为json格式
		JSONObject jsonResponse = new JSONObject(fileParams);
		// 提取各个参数
		String filename = jsonResponse.optString("xxx", "");
		String fileHash = jsonResponse.optString("xxx", "");
		Integer filesize = jsonResponse.optInt("xxx", 0);  // Integer类型
		String extension = jsonResponse.optString("xxx", "");
		String mimeType = jsonResponse.optString("xxx", "");

		// 创建 JSON 对象数组(List<Map> 格式)
		JSONArray fileParamsArray = new JSONArray();
		JSONObject fileObj = new JSONObject();
		fileObj.put("xxx", xxx);
		fileObj
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值