代码改变世界

jmeter测试webSocket接口

2020-09-20 20:59  清风软件测试开发  阅读(992)  评论(0编辑  收藏  举报

jmeter测试webSocket接口

webSocket就是长连接协议,一直保持着tcp连接,一般用在聊天工具,或者实时显示最新数据的页面里面。

可以在jmeter plugins manager里面安装WebSocket Sampler by Maciej Zaleski插件来测试webSocket接口。

测试的网站为:http://www.websocket.org/echo.html

 

 下面是jmeter脚本(没有填写WebSocket Response)

 

 

 总结:

1,sampler111,sampler222,sampler444,sampler555共用一个连接,这个连接就是sampler111最开始创建的连接。

2,由于sampler333没有勾选streamingConnection,所以sampler333无法使用sampler111之前创建的连接,sampler333需要自己重新创建一个连接,等到请求结束后,sampler333会自动关闭自己创建的连接。

 

下面是jmeter脚本(填写了WebSocket Response)

 

 

 总结:

1,WebSocket Response会对后面的每个接口(同一个连接)都有效

2,response pattern 一般会默认为空,默认为空表示:没有设置匹配条件,也就是说后面所有的接口都符合,都会有返回值

3,当某个接口response pattern匹配成功之后,就不会再进行close connection pattern的匹配,即使符合close connection pattern的值,也不去匹配了

4,如果response pattern的值设置错了,特别是设置为乱码的时候,就会导致后面所有的接口都没有返回值

5,如果想设置第4个接口请求结束后关闭连接,就必须将response pattern的值设置的和第4个接口不匹配,将close connection pattern的值置的和第4个接口匹配

 

 

关键词说明:

1、WebServer

(1)Server Name or IP:WebSocket发送的目标服务器的地址或者名称
(2)Port Number:WebSocker服务器监听的端口号。(一般是HTTP 80端口,可以通过WireShark数据包得到)

2、Timeout: 
(1)Connection – 发送一个连接请求后,Jmeter等待连接完成的最长时间,单位是毫秒。
(2)Response - 对响应消息的最大等待时间。

3、WebSocket Request
(1)Implementation – 只支持RFC6455(v13) ,WebSocket协议标准的最新版。
(2)Protocol – 有ws与wss之分, ws前缀是WebSocket连接的辨别标识,wss前缀是WebSocket安全连接的辨别标识。根据自己的实际情况填写
(3)Streaming Connection – 选择这个TCP session要不要保持,如果勾上标识连接会一直存在,如果没有勾上,那么得到第一次响应后该链接就会被关闭。
(4)Request data:填入将要发送的请求,要跟开发沟通好,这个是什么格式的消息。

4.WebSocket Response
(1)Response Pattern – 采样器将等待含有该标识的消息并继续通信(或者直到timeout,该连接关闭)
(2)Close Connection Pattern – 如果服务器返回的消息含有这样的字符,就结束会话。
(3)Message Backlog – 定义服务器返回消息保留的最大长度。

 

 

 

参考文章:

https://www.cnblogs.com/penghaihang/p/7724830.html

https://www.cnblogs.com/wuzm/p/10873589.html