结构图

1.准备
提前安装好JMeter Plugins Manager,后续用的到部分组件需要通过插件管理器安装,比如JSR断言、WebSocket Open Connection等组件
2.实现思路
2.1 通过HTTP请求获取token
token有过期时间,每次手动设置较为麻烦,故通过组件每次运行获取新的token

2.2 设置循环控制、断言变量
也有每次循环重置变量的作用,避免变量结果复用

2.3 建立WebSocket连接
WebSocket连接实在HTTP请求的基础上建立的,也就是在HTTP请求中高速对方,我要和你建立websocket连接,所以必要的HTTP请求头参数要带上


2.4 设置While循环控制读取CSV文件数据
2.4.1 csv文件设置,一般这样设置参数即可

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

2.6 设置循环来保证接收到需要的响应(排除ping响应的影响)

JSR223后置处理脚本(从正确响应中拆解出需要的数据):
脚本是类似C语言的执行模式,方法在前,调用在后
import org.json.JSONObject;
import org.json.JSONArray;
// 解析read的响应数据为json格式
public JSONObject parseResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
return jsonResponse;
} catch (Exception e) {
log.info("解析read结果失败: " + e.getMessage());
return null;
}
}
// 判断action是否为chat
public Boolean processAction(JSONObject jsonResponse) {
try{
if (jsonResponse.has("action") && jsonResp


577

被折叠的 条评论
为什么被折叠?



