jmeter如何测试websocket接口?

jmeter做接口测试,很多人都是做http协议的接口,就有很多人问websocket的接口怎么测试啊?

首先,我们要明白,websocket接口是什么接口。

然后,我们怎么用jmeter测试?

jmeter要测试websocket接口,需要先下载安装一个websocket samplers by peter doornbosch 的插件,插件安装成功后,再次启动jmeter,会在jmeter取样器最下面显示6个socket相关的取样器

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337

websocket close 用于正常关闭websocket连接;

websocket open connection 用于显式设置websocket连接;

websocket ping-pong 用于发送ping和接收 pong请求;

websocket single read sampler 用于接收一个文本或二进制的websocket请求;

websocket single write sampler 用于发送一个文本或二进制的websocket请求;

websocket request-response sampler 用于执行基本的请求-响应请求;

日常测试时,使用websocket request-Response sampler就足够了。

日常测试时,使用websocket request-Response sampler就足够了。

connection,有两个单选,一个是使用已经建立的连接,如果选择这种,那么,在该取样器之前要使用 websocket opnen connection先连接;

如果选择新建一个连接,则该取样器中,需要配置serverURL信息。

serverURL中,首先是协议,下拉框有两个选项,ws和wss. ws是明文数据传输,wss是密文数据传输,相当于http和https的差别。

server name or ip 就填写服务器的域名或ip地址

server name or ip 就填写服务器的域名或ip地址;

port 对应服务的端口;

path 对应服务路径,可以用 /;

data 就是发送的数据,支持两种,text文本,和binary 二进制;

request data为发送的数据,当数据类型为文本式,可以带jmeter的参数,如果为binary 二进制时,则输入的为二进制内容。

工具的配置就是这些,如果你只配置了websocket request-Response sampler 请求结束后,websocket连接不会关闭。

但是会在下次运行时,GC(垃圾收集)会自动回收资源关闭连接。

如果期望,测试结束时,立马关闭,可以使用websocket close 取样器

也可以修改jmeter.properties文件,设置:websocket.thread.stop.policy = wsClose;

若设置为:

websocket.thread.stop.policy=tcpClose则要在关闭jmeter时关闭连接。

接下来我们搭建一个demo,测试websocket接口。

首先,在linux服务器上下载websocketd:https://github.com/joewalnes/websocketd/releases 在这个页面中,找到你系统对应的包,下载后安装,并配置好环境变量。

然后,在服务器依然地方,创建一个soc.py文件:

然后,在linux服务器上执行:

最后,检查下你的服务器防火墙,开放你配置的端口。

此时,一个websocket的服务器已经搭建好,可以用jmeter来测试了。

这样就实现了用jmeter测试websocket接口

相关推荐
安卓开发者12 小时前
第14讲:HTTP网络请求 - Dio库的使用与封装
网络·网络协议·http
JosieBook12 小时前
【SpringBoot】32 核心功能 - 单元测试 - JUnit5 单元测试中的嵌套测试与参数化测试详解
spring boot·单元测试·log4j
L.EscaRC13 小时前
【复习408】TCP运输层核心机制
网络协议·tcp/ip
红树林0713 小时前
渗透测试之json_web_token(JWT)
网络协议·安全·web安全
北京耐用通信15 小时前
冶金车间“迷雾”重重?耐达讯自动化Profibus转光纤为HMI点亮“透视眼”!
人工智能·物联网·网络协议·网络安全·自动化
北京耐用通信15 小时前
耐达讯自动化Profibus光纤模块:智能仪表的“生命线”,极端环境通信无忧!
人工智能·物联网·网络协议·自动化·信息与通信
Jerry25050916 小时前
微信小程序必要要安装SSL证书吗?小程序SSL详解
网络·网络协议·网络安全·微信小程序·小程序·https·ssl
大G的笔记本17 小时前
gRPC vs RPC 高频面试题
网络·网络协议·rpc
星光一影17 小时前
SpringBoot+Vue3无人机AI巡检系统
人工智能·spring boot·websocket·mysql·intellij-idea·mybatis·无人机
zt1985q18 小时前
外网访问项目研发管理软件 codes
运维·服务器·windows·网络协议·tcp/ip