如何使用WebSocket做接口测试?

如何使用WebSocket做接口测试?,第1张

如果遇见了一个全新的协议,怎么从零开始,完成接口测试?以 WebSocket 为例。

WebSocket 协议在2008年诞生,2011年成为国际标准。现在所有浏览器都已经支持了。WebSocket 的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。

WebSocket 的其他特点:

1. 建立在 TCP 协议之上,服务器端的实现比较容易。

2. 与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。

3. 数据格式比较轻量,性能开销小,通信高效。

4. 可以发送文本,也可以发送二进制数据。

5. 没有同源限制,客户端可以与任意服务器通信。

6. 协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。

· ws–>http(未加密) 无证书

· wss–>https(加密) 有证书

第一步:

很多时候第一反应向开发工程师求助,因为开发工程师基于新协议已经完成了接口开发,向开发工程师求助显然是最好的办法。找到一些学习脉络,包含了协议的说明文档、代码开发文档、实现代码等内容,了解协议的原理。向开发求助是个方法。

那么 WebSocket 用 Fiddler 怎么搞定?,其实主要就是修改了 Fiddler 中 Rules 下的 Customize Rules,如果感兴趣可以自己去搜一下。当面对陌生技术问题的时候,应该使用最熟悉的技术去尝试解决问题。虽然 Fiddler 截获 WebSocket 接口的办法,所截获的全部消息都在日志里面,根本无法 *** 作。但是,可以借助 Fiddler 分析 WebSocket 的接口,一开始给 Fiddler 这款工具的定位一样,那就是通过它辅助分析我们的被测接口。处理HTTP、HTTPS,推荐用Fiddler。

但是在处理TCP,UDP 就用WireShark。Websocket是应用层协议,建立在 TCP 协议之上,服务器端的实现比较容易。因为应用层是在传输层的基础上包装数据,所以我们还是从底层开始了解Websocket到底是个啥?是如何工作的?

可以通过---- wireshark(网络封包分析软件)抓包工具抓到WebSocket接口

wireshark下载地址:https://www.wireshark.org/download.html

以下是python实现的websocket 接口连接。

安装磁盘配额支持软件

yum install quota

制作文件系统,并以支持配额功能的方式挂载文件系统

mkfs.ext4 /dev/sdb1

mount /dev/sdb1 /tmp

mount -o remount,usrquota,grpquota /dev/sdb1

查看磁盘挂载时是否启用磁盘配额技术

mount

要想永久挂载(需在配置文件里,加入usrquota,grpquota这两个参数)

vim /etc/fstab

/dev/sdb1 /tmp ext4 defaults,usrquota,grpquota 0 0

检测磁盘配额并生成配额文件(若是出错,请关闭selinux)

quotacheck -cugv /tmp #此命令会在/tmp下生成两个文件

#解释:

-c 创建配额文件,

-u (-g) 扫描磁盘空间,计算每个用户(组)识别码所占用的目录和文件数,

-a 扫描在/etc/fstab文件里,有加入quota设置的分区,

-d 详细显示指令执行过程,便于排错。

-R 排除根目录所在分区

用户和组帐号的配额设置

useradd wsfnk #先创建一个用户,若有就不用创建了

edquota -u wsfnk #-g 表示 wsfnk组,在类似vim界面,编辑限制大小,

Disk quotas for user wsfnk (uid 1000):

Filesystem                   blocks       soft       hard     inodes     soft     hard

/dev/sdb1                         0          20         50          1        0        0

#对其中各字段解释如下:

#Filesystem下显示实现磁盘配额的分区;

#blocks下为当前已经使用的大小,不用修改;

#soft为软限制,超出后会给出警告,超出的部分默认会保存7天;

#hard为硬限制,不可超越的限制(软硬限制默认单位都是KB);

#后面的两个相同的soft、hard分别表示分区中这个用户可以创建的文件数目软硬限制;

#本例中设置,qingsword可以使用/dev/sdb1分区的软限制大小10KB,硬限制20KB,可创建的文件个数软限制是3个,硬限制5个;

edquota参数

-u :设置用户的quta,这是预设的参数

-g :设置群组的quota

-p 源用户名称 :将源用户的quota设置套用到其他用户或组

-t :设置宽限期限

激活磁盘配额

quotaon -ugv /tmp

注意:磁盘配额中的blocks,不是fdisk里看到的blocks,而是表示1k

测试是否限制会生效

写数据

mkdir /tmp/test

chmod 777 /tmp/test

切换用户wsfnk

su wsfnk

cd /tmp/test

dd if=/dev/zero of=wss.test bs=1k count=500

关闭磁盘配额

#关闭单个磁盘的磁盘配额

quotaoff /sdb1

#关闭所有已经开启的磁盘配额

quotaoff -a

#反之,开启所有磁盘配额

quotaon -a

#如果不再使用磁盘配额,可以将配置文件也删除

rm -rf /sdb1/aquota.*

#最后删除/etc/fstab中的自动挂载即可。 详情查看  网页链接


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7642193.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存