推广 热搜: 终于知道  1*1  2022  2023 

「重磅消息」websocket测试方式(linux入门基础)

点击图片查看原图
 
需求数量:
价格要求:
包装要求:
所在地: 全国
有效期至: 长期有效
最后更新: 2023-05-26 11:57
浏览次数: 0
报价
 
公司基本资料信息






详细说明

最近有一个超级表格的项目测试,支持多人实时协作编辑表格。项目选用了WebSocket这种基于 TCP 的全双工通讯协议,它可以实现服务端和客户端之间的主动数据推送,具有资源占用少、实时性高等特点,消息推送模式包括:单对单、单对多(全体广播)。

我们的项目使用WebSocket协议提交、广播增量数据,并广播提示其他用户拉取全量数据以达到同步的目的。

 

实战篇丨最强辅助Jmeter,测试WebSocket协议应用

 

在性能测试中需要模拟多个用户协同编辑一个文档的场景,选用Jmeter作为测试工具。

在Jmeter中测试WebSocket协议接口,需要先安装WebSocket插件和依赖包;

需添加的插件为:

jmeter-websocket-samplers-1.2.1.jar

依赖包:jetty-http

jetty-io

jetty-util

websocket-api

websocket-client

websocket-common

把插件放到Jmeter的libext,依赖包放到Jmeter的lib目录,打开Jmeter即可看到WebSocket相关的取样器。

 

实战篇丨最强辅助Jmeter,测试WebSocket协议应用

 

这几种取样器的作用如下表所示:

 

实战篇丨最强辅助Jmeter,测试WebSocket协议应用

 

常用的取样器是WebSocket Open Connection和WebSocket request-response Sampler,前者用来建立连接不发送数据,后者建立连接并发送data或者只发data。

在编写脚本前先通过浏览器查看建立连接的过程,首先打开一个文档时通过HTTP升级机制,使用HTTP的Upgrade和Connection协议头的方式将连接升级为WebSocket。

 

实战篇丨最强辅助Jmeter,测试WebSocket协议应用

 

返回的状态码为101则说明WebSocket连接建立成功,协议已经变为了WebSocket,如下图所示,浏览器先后发送三个数据帧,包括CONNECT建立连接、SUBSCRIBE订阅文档、SEND类型为CLIENT_READY消息,客户端收到的数据包括服务端返回的响应和每25s一个的心跳帧。

 

实战篇丨最强辅助Jmeter,测试WebSocket协议应用

 

后续通过WebSocket协议提交、广播、拉取各种类型的增量数据。

了解了这些之后就可以开始在测试场景中添加和配置WebSocket的sampler编写脚本。

1.右键单击测试计划,选择添加->线程->线程组,将一个线程组添加到测试计划。

2.在线程组添加WebSocket request-response Sampler建立连接,选择建立新连接,并发送请求数据如下:

 

实战篇丨最强辅助Jmeter,测试WebSocket协议应用

 

(1)Connection:有两个选项,第一项是使用已有连接,就是上一个WebSocket请求所建立的连接通道,选择后Server URL全置灰只读不可操作。第二项是新建连接通道。

(2)Server URL:可以发送ws协议和加密的WebSocket,即wss协议。Server Name Or IP处填写WebSocket服务器的地址,Port和Path依照实际填写即可。

(3)Request data:支持文本(包括JSON)和Binary二进制数据的发送,可以将浏览器中查看到的数据根据需求参数化之后填写。默认请求响应的超时时间为6S,超过这个时间报错。

因为要通过收到返回包含CONNECTED字样的报文来判断是否发送后续的消息。需要把收到的服务端返回的其他数据帧过滤掉,再用断言进行判断。

右键单击WebSocket request-response Sampler添加->配置元件->WebSocket Text frame Filter,配置条件过滤掉不需要的数据帧,如心跳帧等。

 

实战篇丨最强辅助Jmeter,测试WebSocket协议应用

 

右键添加->断言->响应断言,添加断言对建立连接的响应帧进行判断。

 

实战篇丨最强辅助Jmeter,测试WebSocket协议应用 (功能)计时,是手表最主要的功能。因此,正式场合所用的手表,不管是指针工、跳字式还是报时式,都应具有这一功能,并且应当精确到时、分,能精确到秒则更好。只精确到时的手表,显然不符合要求。有些附加的功能,如温度、湿度、风速、方向、血压、步速等等,均可有可无,而且以无为好。总之,手表的功能要少而精,并要有实用价值。 (另外)手表在佩戴或存放时,表冠应置于正常位置螺旋表冠应锁紧,以保证防水功能,防止灰尘进入。第一档负责上链,第二档负责快调日历,第三档调整时间。而且尽量以顺时针方向调整指针,避免过度上链。#腕表冷知识#!严正声明:“九段腕表”仅专注于腕表兴趣和生活的信息交流,不在任何地方、任何平台售卖任何手表。我们只说表,不卖表。

 

第一个建立连接的请求成功后,后续WebSocket request-response Sampler的连接类型选择使用已存在的连接,下面的Server URL全置灰只读不可操作。

 

实战篇丨最强辅助Jmeter,测试WebSocket协议应用

 

添加后续的SUBSCRIBE订阅文档,通过固定请求数据中的文档id可以使所有用户打开同一个文档,添加SEND类型为CLIENT_READY消息请求后,就完成了基本的打开文档建立连接的操作,之后可以添加循环控制器并用类似的方法添加发送编辑文档的请求。

脚本完成之后配置线程组的线程数,循环次数或执行时间,即可模拟并发用户同时编辑文档,添加结果树、聚合报告等监听器后可以查看测试的运行情况:

 

实战篇丨最强辅助Jmeter,测试WebSocket协议应用

 

从浏览器也可以验证收到了其他并发用户广播的数据。

 

实战篇丨最强辅助Jmeter,测试WebSocket协议应用

 

除了多用户协同编辑用一个文档的场景,性能测试的过程中还覆盖了协同用户保存同一文档、不同文档同时保存等场景,确保测试场景的充分性。


这篇文章将帮助你在购买适合您手腕的手表时需要考虑的5件事情。手表和手腕的尺寸比例配搭很重要。一般来说,如果您手腕偏细,那么尺寸较小的手表会比较适合您;如果您手腕偏粗,那么尺寸较大一点的手表就更适合您。那么具体什么尺寸手表和多粗的手臂更搭更协调?我们在这把它分解成5个关键元素:1.表壳直径,表壳直径是最明显和最显著的比例因素。男士手表的尺寸通常在38毫米到46毫米之间,任何超过46毫米的手表都会显得太大,而且这样尺寸的通常都是为华而不实的的时尚手表所设计。38毫米以下的手表多倾向于珠宝装饰,更容偏向女性尺寸的手表。那么你怎么知道什么尺码适合您呢?
更多>同类求购
自食其果|新海鸟大厅牌九房卡 形单影只|玖天乐游房卡出售中心(玖天乐游房卡) 执法如山|叮叮牛牛房卡 只争朝夕|新漫游房卡正版客服(新漫游房卡) 生死关头|三公房卡怎么买j 见风使舵|多人斗牛房卡游戏 哑然失笑|要房卡的斗牛软件下载 沆瀣一气|拼三张扎金花房卡
0相关评论

网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  苏ICP备19027764号-1