前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >高级性能测试系列《28.websocket协议、jmeter如何来测试websocket协议?》

高级性能测试系列《28.websocket协议、jmeter如何来测试websocket协议?》

作者头像
清菡
发布于 2022-12-02 13:52:41
发布于 2022-12-02 13:52:41
2.1K0
举报
文章被收录于专栏:清菡软件测试清菡软件测试

目录

  • 一、websocket协议
  • 二、jmeter如何来测试websocket协议?
  • 三、写脚本
    • 1.取样器
    • 2.websocket和socket是一个东西吗?
    • 3.写脚本

一、websocket协议

  • 启动websocket项目:
    • 下载 virt-dubbo.ova 项目机。
    • vmware 打开这个ova项目。
    • ./stwebsocketserver.sh 启动项目。(python3编写的、端口8189、协议 ws)

websocket协议是基于TCP的一种新的网络协议,它实现了客户端与服务端全双工通信:允许服务器主动向客户端发送消息,也允许客户端向服务器请求消息。

http协议: 只能客户端向服务器发起请求,服务器收到请求后,进行处理,原路返回。不能实现服务器主动向客户端发送消息。

  • 服务器主动向客户端发送消息:
    • 微信有网络时,马上就有消息推送。
    • app,有网络时,主动推送下来的消息(不是短信)。
    • 最典型的一个应用:app,心跳机制(保活)。

例如收到天气预报的这种短信:它有生成放在发送的序列里面去排队,排到它了就把它推送到你的手机上来。

什么是心跳机制(保活)?

看看这个app是不是一直处于一个在线活跃的状态。过一段时间,服务器主动发送一个消息给这个app,确认这个app是不是处于在线状态。

web测试:登录了一段时间未操作,再来操作时,就会出现登录超时。

  • websocket协议:
    • ws:不加密数据传输。
    • wss:ws + ssl 证书进行数据加密传输。
  • http协议簇 :
    • http:不加密数据传输。
    • https:http + ssl 进行数据加密传输。

二、jmeter如何来测试websocket协议?

jmeter中要引入插件,jmeter本身的取样器中,不支持websocket协议。

  • 插件管理.jarjmeter-plugins-manager-1.6.jar
    • 把jar包,放到jmeter的lib\ext文件夹中, 这个文件夹下放第三方开发的jar包。
    • 再启动jmeter。
    • jmeter的菜单-->选项-->plugins manager的入口(没有放plugin的jar包时,没有这个入口)。
    • 点击入口,出现插件管理的弹窗。
  • Installed plugins:已安装。
  • Available plugins:可用的,但是需要你手动去安装。
    • 搜索websocket。
    • 勾选WebSocket Samplers by Peter Doornbosch。
    • 点击右下角apply changes and restart jmeter。
  • upgrades:可以升级的。

三、写脚本

1.取样器

  • websocket close:关闭websocket。
  • websocket open connection:建立一个websocket。
  • websocket ping/pong:测试websocket协议的网络能不能通。
  • websocket single read sampler:客户端从服务器端获取响应。
  • websocket single write sampler:客户端向服务端发起请求(不会获取响应)。
  • websocket request-response sampler:同时具备向服务端发起请求和获取响应的功能。

2.websocket和socket是一个东西吗?

不是一个东西。websocket是一个通信协议(向外暴露接口,可以调用接口),socket:代码层面之间的调用(不向外暴露接口,必须使用代码调用)。

3.写脚本

我用的这个项目就是一个微型的直播室。

建立链接。

WebSocket Single Write Sampler:

  • connect:
    • user exist connection:使用已经建立连接。
    • setup new connection:新建一个连接。
  • Data:
    • 数据:text 文本,binary 二进制(例如用微信发消息的时候,是用二进制来传的语音)。
    • request data。

向服务器发起消息。

收消息。

运行结果中可以看出发过去的是601。

运行结果:直播室创建成功。

这个接口就测完了。

gitee脚本链接:

https://gitee.com/qinghanstudy/gaojixingneng/tree/master/Advanced%20performance%20testing


文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章是清菡编写的,如有转载,请标明出处!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【接口测试】JMeter测试WebSocket接口
最近老被问到WebSocket,突然想到以前大学时上Java课的时候,老师教我们socket连接,一个同学电脑做客户端,一个同学电脑做服务端,当双方消息发送成功,第一次感觉到代码的奇妙~
用户9913368
2022/08/13
2.4K0
【接口测试】JMeter测试WebSocket接口
13-Websocket协议与MQ协议
Websocket和HTTP都是基于TCP协议的,所以使用抓包工具可以抓到websocket的数据
zx钟
2021/04/29
1.5K0
13-Websocket协议与MQ协议
Jmeter对WebSocket协议进行压测
目前市面上的协议种类繁多,我们可以通过Jmeter添加插件实现脚本编写,这里以WebSocket协议的业务压测为例来说明。
谭银
2021/10/19
9.4K0
【JMeter系列-10】JMeter websocket接口测试
在一个网站中,很多数据需要即时更新,比如期货交易类的用户资产。在以前,这种功能的实现一般使用http轮询,即客户端用定时任务每隔一段时间向服务器发送查询请求来获取最新值。这种方式的弊端显而易见:
云深i不知处
2020/09/16
2K0
Jmeter实现WebSocket协议的接口测试方法
WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。
顾翔
2019/12/11
3.2K0
Jmeter实现WebSocket协议的接口测试方法
Jmeter接口测试-websocket测试
https://github.com/maciejzaleski/JMeter-WebSocketSampler/wiki/Dependencies
louiezhou001
2019/07/25
2.2K0
Jmeter接口测试-websocket测试
Jmeter对基于websocket协议的压力测试
WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。
流柯
2018/08/31
5.2K0
Jmeter对基于websocket协议的压力测试
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
目前转转的所有业务都在快速增长,支撑其用户服务的客服系统也同样在快速发展,以承接用户每天大量的问题。
JackJiang
2024/12/05
750
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
WebSocket 原理浅析与实现简单聊天
随着 Web 的发展,用户对于 Web 的实时推送要求也越来越高,在 WebSocket 出现之前,大多数情况下是通过客户端发起轮询来拿到服务端实时更新的数据,因为 HTTP1.x 协议有一个缺陷就是通信只能由客户端发起,服务端没法主动给客户端推送。
用户4962466
2019/12/12
7410
一文吃透 WebSocket 原理
一.前言 踩着年末的尾巴,提前布局来年,为来年的工作做个好的铺垫,所以就开始了面试历程,因为项目中使用到了 WebSocket ,面试官在深挖项目经验的时候,也难免提到 WebSocket 相关的知识点,因为之前并没有考虑这么深,所以,回答的还是有所欠缺,因此,赶紧趁热再熟悉熟悉,也借此机会,整理出来供大家咀嚼,每个项目都有其值得挖掘的闪光点,要用有爱的眼睛👁去发现。 二.什么是 WebSocket WebSocket 是一种在单个TCP连接上进行全双工通信的协议。WebSocket 使得客户端和服务器之
ConardLi
2021/11/16
4.1K0
websocket协议
websocket是html5中提出的一个协议规范,它允许浏览器与服务器中相互主动通信.
仙士可
2020/12/15
2.4K0
Websocket之Jmeter压力测试 原
    最近使用到Websocket进行聊天功能开发,用Jmeter进行压力测试,记录下。
克虏伯
2019/04/15
2.4K1
Websocket之Jmeter压力测试
                                                                            原
websocket 协议解析
IMWeb前端团队
2018/01/08
1.3K0
websocket 协议解析
Springboot +WebSocket学习
WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议
大忽悠爱学习
2021/12/08
1.3K0
Springboot +WebSocket学习
使用JMeter测试MQTT协
如果文章对你有帮助,可以扫描下面的二维码进行关注,欢迎转发、本人会不定期发表和测试相关的文章,与大家分享测试技术,每一篇原创文章都是用心编写,杜绝抄袭复制,有纰漏的也请大家纠正
jmeter技术研究
2019/12/04
2.5K0
使用JMeter测试TCP协议
1. TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。数据传输时,应用程序向TCP层发送数据流,TCP就会将接受到的数据流切分成报文段(会根据当前网络环境来调整报文段的大小),然后经过下面的层层传递,最终传递给目标节点的TCP层。为了防止丢包,TCP协议会在数据包上标有序号,对方收到则发送ACK确认,未收到则重传。这个步骤就是我们通常所说的TCP建立连接的三次握手。同时TCP会通过奇偶校验和的方式来校验数据传输过程中是否出现错误。
jmeter技术研究
2020/07/24
7.4K0
使用JMeter测试TCP协议
WebSocket
HTTP:HTTP是应用层协议(在传输层使用 TCP,在网络层使用 IP 协议),是一种无状态(即每个请求都是一个新的请求)、无连接(每次连接只处理一个请求)协议,但是HTTP仍然可以借助Cookie(客户端数据储存)和Session(服务端数据储存)实现长连接(HTTP的长连接需要在请求头中加入Connection:keep-alive )。整个通信过程,客户端(浏览器)向服务端发送请求,服务端接收请求并返回响应信息。
十玖八柒
2022/08/01
1.5K0
WebSocket
什么是WebSocket协议?
随着科技发展,人们需求越来越多,生活的方方面面都离不开一些实时信息。比如:疫情期间在家协同办公、疫情监控目标人的实时运动轨迹、社交中的实时消息、多玩家互动游戏、每秒瞬息万变的股市基金报价、体育实况播放、音视频聊天、视频会议、在线教育等等,都可以借用WebSocket TCP链接可以让数据飞起来。下面就聊一下WebSocket协议。
没有故事的陈师傅
2022/04/05
7770
性能工具之Jmeter压测WebSocket接口(一)
WebSocket是web客户端和服务器之间新的通讯方式,依然架构在HTTP协议之上。使用WebSocket连接,web应用程序可以执行实时的交互,而不是以前的poll方式。
高楼Zee
2019/07/17
3.6K0
性能工具之Jmeter压测WebSocket接口(一)
高级性能测试系列《30.写mqtt脚本、dubbo协议、jmeter测试dubbo接口》
dubbo协议: 微服务器框架协议,不对外暴露接口。 调用远程rpc服务,server服务 + 注册中心+ 消费者。
清菡
2022/12/02
6720
高级性能测试系列《30.写mqtt脚本、dubbo协议、jmeter测试dubbo接口》
相关推荐
【接口测试】JMeter测试WebSocket接口
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文