Postman进行Websocket接口测试

      最近工作需要测试websocket接口,之前一直用Postman做http请求这种短连接的发包工具,现在发现Postman v8.5以上的版本支持websocket了,在此记录一下。

 

首先New一个WebSocket Request

       在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

       在Postman中输入 WebSocket API URL,点击connect建立连接,就可以无缝发送和接收消息了。

       可以发送text纯文本,如果数据格式为JSON 和 XML,会有语法突出显示和自动格式化 ,还可以编写原始 ArrayBuffer 消息。

超时会提示连接已断开

发送和接收的数据会在下方按顺序显示

历史功能:

       还可以在 Postman 侧边栏的历史记录部分重新访问之前的 WebSocket 会话。不仅可以查看历史会话的消息,还可以重用相同的 API。   

附加:(之前了解websockt协议的时候,用python模拟了一个简单的,websocket客户端和服务器的通信过程,并监控了进程所占用的句柄数和服务器上的网络连接情况)

服务端:

#! python3
# SocketTestClient
# -*- coding:utf-8 -*-

import socket
import os
import subprocess
import time

host = '0.0.0.0'
port = 9918

host = socket.gethostname()
print('客户端host = ',host)
print("客户端请求PID = %i" % (os.getpid(),))
obj = socket.socket()
obj.connect((host, port))
print('netstat -nlp | grep %s' % port)
os.system('netstat -nlp | grep %s' % port)
j = 0
while True:
    obj.send(bytes("这是客户端第 %s 条消息! " % j, encoding="utf-8"))
    #time.sleep(5)
    j = j + 1
    print("发送了 %s 条!" %j)
    if j == 5:
        obj.send(bytes("End", encoding="utf-8"))
        ret = str(obj.recv(1024), encoding="utf-8")
        print('ret = ',ret)
        if ret == 'Finish!':
            obj.close()
            break
    else:
        continue

 客户端:

#! python3
# SocketTest.py
# -*- coding:utf-8 -*-


import socket
import os
import time


def socketTest():
    while True:
        ret = str(conn.recv(1024), encoding="utf-8")
        print(ret)
        if 'End' in ret:
            print('连接结束-End')
            print('---------------------------------')
            conn.sendall(bytes("收到断开连接信息-End!", encoding="utf-8"))
            conn.close()
            sk.close #不发送fin包
            conn.sendall(bytes("我再发!", encoding="utf-8"))
            conn.sendall(bytes("我再发!", encoding="utf-8"))
            os.system('netstat -nlp | grep %s' % port)
            break
        else:
            print('Not close')
            continue


if __name__ == '__main__':
    while True:
        host = '0.0.0.0'
        port = 9918

        host = socket.gethostname()
        print(host)
        print("PID = %i" % (os.getpid(),))

        sk = socket.socket()
        sk.bind((host, port))
        sk.listen(60)
        # sk.settimeout(10)
        print('端口监听中...')
        os.system("netstat -nlp|grep :%i" % (port,))
        print('客户端返回连接信息')
        conn, address = sk.accept()
        print('连接中...')
        print('连接来自: ', address)
        print('---------------------------------')
        print("lsof -p %i" % (os.getpid(),))
        os.system("lsof -p %i" % (os.getpid(),))
        print('---------------------------------')
        print('netstat -nlp | grep %s' % port)
        os.system('netstat -nlp | grep %s' % port)
        print('---------------------------------')
        print('ls /proc/%i/fd |wc -l '% (os.getpid(),))
        os.system('ls /proc/%i/fd |wc -l '% (os.getpid(),))
        #socketTest()

  • 14
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: Postman是一款常用的API接口测试工具,它也支持WebSocket接口测试WebSocket是一种基于TCP协议的双向通信协议,可以实现实时通信和数据推送。在Postman中,我们可以通过添加WebSocket请求来测试WebSocket接口,包括发送和接收消息等操作。使用Postman进行WebSocket接口测试可以帮助我们快速发现接口问题,提高接口测试效率。 ### 回答2: Postman是一款流行的API测试工具,除了可以测试RESTful接口外,它还支持测试WebSocket接口。WebSocket是一种在单个TCP连接上提供双向实时通信的协议,许多现代应用程序都依赖于WebSocket以快速更新数据。 在Postman中测试WebSocket接口,需要使用特殊的插件——"Postman Interceptor"。这个插件可以将WebSocket请求捕获并在Postman中显示,以便于测试。 下面是WebSocket接口测试的步骤: 1. 安装Postman Interceptor插件,并与Chrome浏览器或Postman桌面应用程序配对。 2. 在Postman中创建一个新请求,并将请求的URL设置为WebSocket的目标URL。 3. 添加一个WebSocket协议头:"Sec-WebSocket-Protocol: chat" 4. 将请求的方法设置为"GET",并选择"Send"按钮以开始WebSocket握手过程。 5. 接下来,将请求参数添加到握手响应的JSON数据中。 6. 使用Postman Interceptor插件,在请求过程中捕获和查看WebSocket消息。 7. 在Postman中可以使用"Test"标签测试WebSocket的响应数据,以确保其完整性和正确性。 8. 支持发送WebSocket数据,请将请求的方法设置为"POST",并将数据添加到Body中。 9. 在完成测试后,您可以断开WebSocket连接以停止测试。 除了基本的WebSocket测试以外,Postman还支持在WebSocket消息中添加参数、条件、验证器等高级测试功能,以便在WebSocket应用程序中进行完整测试。 在使用Postman测试WebSocket接口时,需要注意以下几点: 1. 确保握手过程的数据完整性和准确性。 2. 验证测试响应数据是否与预期数据匹配。 3. 确保网络连接的稳定性和WebSocket服务器的连接性。 4. 使用Postman Interceptor插件捕获和查看WebSocket消息。 总之,在使用Postman进行WebSocket接口测试时,需要针对WebSocket协议进行特殊设置,并确保网络和Web服务的可靠状态。这样可以帮助您快速找到WebSocket应用程序中的问题,并保证其正常运行。 ### 回答3: Websocket是一种基于TCP协议的实时通信协议,它是为了解决HTTP协议无法实现实时通信的问题而出现的。Postman可以用来测试Websocket接口,以确保应用程序能够正确地处理Websocket协议。 首先,我们需要为Postman安装Websocket扩展程序。在Postman的设置中,选择“扩展程序”,搜索“websocket”,然后安装“Websocket”扩展程序。 安装完成后,我们可以创建一个新的Websocket请求。在Postman的主页面中,选择“新建请求”,然后选择Websocket请求类型。在请求的URL栏中,输入Websocket的URL地址,例如:wss://echo.websocket.org。 接下来,我们可以设置Websocket请求的Header和Body。在Header中,我们需要指定WebSocket的协议版本,例如:Sec-WebSocket-Version: 13。在Body中,我们可以指定Websocket的Payload,以便在与服务器通信时发送消息。 当所有设置都完成后,我们可以点击“发送”按钮来执行Websocket请求。Postman将向服务器发送一个Websocket消息,并在Response窗口中显示任何返回的消息。我们还可以使用PostmanWebsocket监视器来查看Websocket连接状态和传输数据。 总的来说,通过使用Postman进行Websocket接口测试,我们可以验证对象的实现是否正确,确保应用程序具有正确的性能和可靠性。这对于保证我们开发Web应用程序的质量和稳定性非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值