如何使用Jmeter对WebSocket进行压力测试

01 环境准备
Jmeter对WebSocket协议的环境准备:

因为Jmeter本身不支持WebSocket协议的,所以需要安装第三方的插件JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar,并直接将这个jar包放到Jmeter软件的\lib\ext\目录下。

查阅https://github.com/maciejzaleski/JMeter-WebSocketSampler/wiki/Dependencies看到,这个插件需要以下几个jar包的支持:

  • jetty-http-9.1.2.v20140210.jar
  • jetty-io-9.1.2.v20140210.jar
  • jetty-util-9.1.2.v20140210.jar
  • websocket-api-9.1.1.v20140108.jar
  • websocket-client-9.1.1.v20140108.jar
  • websocket-common-9.1.1.v20140108.jar
     

02 WebSocket Sampler介绍

图片

 

WebSocket Sampler

1、WebServer

Server Name or IP:

WebSocket发送的目标服务器的地址或者名称

Port Number:

WebSocker服务器监听的端口号。(一般是HTTP 80端口,可以通过WireShark数据包得到)

2、Timeout:

Connection:

发送一个连接请求后,Jmeter等待连接完成的最长时间,单位是毫秒

Response:

对响应消息的最大等待时间

3、WebSocket Request

Implementation:

只支持RFC6455(v13) ,WebSocket协议标准的最新版。

Protocol:

有ws与wss之分, ws前缀是WebSocket连接的辨别标识,wss前缀是WebSocket安全连接的辨别标识。根据自己的实际情况填写

Streaming Connection:

选择这个TCP session要不要保持,如果勾上标识连接会一直存在,如果没有勾上,那么得到第一次响应后该链接就会被关闭。

Request data:

填入将要发送的请求,要跟开发沟通好,这个是什么格式的消息。

4、WebSocket Response

Response Pattern:

采样器将等待含有该标识的消息并继续通信(或者直到timeout,该连接关闭)

Close Connection Pattern:

如果服务器返回的消息含有这样的字符,就结束会话。

Message Backlog:

定义服务器返回消息保留的最大长度。

03 实践

1.创建线程组

 

图片

添加线程组

2.在线程组中创建WebSocket测试

图片

创建WebSocket Sampler

3.配置WebSocket Sampler

图片

WebSocket Sampler参数

WebSocket的Ip可以通过浏览器的页面检查工具中获取(例:google浏览器中右键 -> 检查)

图片

 

 

查看WebSocket地址

4.添加监听器便于查看分析结果 (常用的有图形结果、察看结果树、聚合报告)

图片

选择监听器

5.运行测试计划并查看结果

图片

运行线程组

图片

查看结果

这样结束了~~

 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

你可能感兴趣的:(websocket,jmeter,自动化测试,软件测试,测试工程师)