文章目录
- 一、WebSocket Sampler 安装说明
- 二、WebSocket Sampler 参数说明
- 三、测试计划设计
一、WebSocket Sampler 安装说明
下载路径:https://jmeter-plugins.org/install/Install/
(1)、打开网页,点击 plugins-manager.jar 进行下载
(2)、下载成功后,会得到一个 jmeter-plugins-manager-1.8.jar 的包
(3)、复制或剪切下载的 jmeter-plugins-manager-1.8.jar 包,放到 JMeter 安装路径 …/lib/ext 下
(4)、启动 Jmeter,点击选项,点击 Plugins Manager (has upgrades),在弹窗中,点击 Availble Plugins ,找到 WebSocket Sampler by Maciej Zalesiki 勾选上,点击 Apply Changes and Restart JMeter 进行安装应用
(5)、安装完成后,重启 Jmeter,在 取样器下,就能看到 WebSocket Sampler
二、WebSocket Sampler 参数说明
可以进行 Websocket 采样测试
该组件并非 Jmeter 原生组件,需要在插件管理中进行二次安装;安装方法可查看
选择线程组右键 >>> 添加 >>> 取样器 >>> WebSocket Sampler
Web Server
-
Server Name or IP: 需要连接的 websocket 服务器名称或Ip地址
-
Port Number: websocket 监听的端口号(一般是 HTTP 80 端口,可以通过 WireShark 数据包得到)
Timeout (milliseconds)
-
connection:发送一个连接请求后,Jmeter等待连接完成的最长时间,单位是毫秒
-
response:对响应消息的最大等待时间
WebSocket Request
(1)、Implementation:实现方式,只能选择RFC6455(v13)版本,这是websocket协议标准的最新版本
(2)、Protocol [ws/wss]:要使用的 websocket 协议,ws 表示一般 websocket 连接;wss 表示 websocket 安全连接;如果 websocket 协议在 https 下,选 wss;如果在 http 下,选 ws
(3)、Content encoding:设置消息文本编码,一般用UTF-8
(4)、Connection Id:指定一个会话 id,发送消息
(5)、Path:websocket 请求路径
(6)、Ignore SSL certificate errors:是否忽略 SSL 认证报错,只有协议选择 wss 才会生效。这里与 https 协议类似
(7)、Streaming connection:表示连接是否保留。如果选中,则会保存长连接;否则会在第一次响应后立即关闭连接
-
通过实践发现(观察‘查看结果树–取样器结果’中的执行流程execution flow):
-
当勾选了streaming connection,不仅会在请求结束后保留连接,而且当已存在可用连接时,会直接复用已有连接;
-
当没有勾选streaming connection,每次请求都会新建连接,在请求结束后,会立即关闭连接,而且即使存在可用的连接,也会新建连接
-
同请求一起发送参数:按照表单的形式,填写要发送的参数
(8)、同请求一起发送的参数:相当于 HTTP请求组件中的参数设置
(9)、Request data:要发送的请求数据,要跟开发沟通好,这个是什么格式的消息;相当于 HTTP请求组件中的消息体数据
WebSocket Response
-
Response pattern:采样器将等待含有该标识的消息并继续通信(或者直到timeout,该连接关闭);正则表达式
-
Message backlog:打印最近多少条响应
-
Close connection pattern:关闭连接结果样本,当匹配到设置的字段后,会自动关闭 websocket 连接
Proxy Server (currently not supported by Jetty):代理服务器,通过代理服务器像被测websocket服务发起压测请求
- Server Name or IP:需要代理的服务器名称或Ip地址
三、测试计划设计
(1)、测试计划右键 <<< 添加 <<< 线程(用户)<<< 线程组
(2)、线程组右键 <<< 添加 <<< 取样器 <<< WebSocket Sampler
- Server Name or IP:echo.websocket.org
其它参数保持不变
(3)、线程组右键 <<< 添加 <<< 监听器 <<< 查看结果树
(4)、点击启动,点击查看结果树中的 WebSocket Sampler
如图,[Execution Flow] 中的为返回消息,因为 echo.websocket.org 只是一个测试的网站,返回的消息没有太大的业务含义
(5)、修改线程组,循环2次
- 循环次数:2
(6)、修改 WebSocket Sampler 取样器,勾选 Streaming connection ,请求会复用
(7)、点击清除全部,点击启动,点击查看结果树中的 WebSocket Sampler
如图,第一个 WebSocket Sampler 是打开了一个新连接
如图,第二个 WebSocket Sampler 是打开现有连接,复用第一次 WebSocket Sampler 的连接