如何使用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介绍

如何使用Jmeter对WebSocket进行压力测试_第1张图片

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.创建线程组

如何使用Jmeter对WebSocket进行压力测试_第2张图片

添加线程组

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

如何使用Jmeter对WebSocket进行压力测试_第3张图片

创建WebSocket Sampler

3.配置WebSocket Sampler

如何使用Jmeter对WebSocket进行压力测试_第4张图片

WebSocket Sampler参数

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

如何使用Jmeter对WebSocket进行压力测试_第5张图片

查看WebSocket地址

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

如何使用Jmeter对WebSocket进行压力测试_第6张图片

选择监听器

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

如何使用Jmeter对WebSocket进行压力测试_第7张图片

运行线程组

如何使用Jmeter对WebSocket进行压力测试_第8张图片

查看结果

这样结束了~~

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
在这里插入图片描述

最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

你可能感兴趣的:(程序员,IT,软件测试,python,自动化,开发语言,测试工程师,软件测试)