Python测试Websocket接口
生活随笔
收集整理的這篇文章主要介紹了
Python测试Websocket接口
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
Websocket的詳解不再介紹,我的上一篇文章已經(jīng)介紹過(guò)了。
安裝
pip install websocket
運(yùn)行會(huì)報(bào)錯(cuò),還需要依賴包websocket-client
pip install websocket-client
示例
使用一個(gè)demo測(cè)試網(wǎng)站:https://www.websocket.org/echo.html 進(jìn)行演示。
import json
from websocket import create_connection
url = 'wss://echo.websocket.org'#websocket連接地址,地址為虛擬地址
#websocket.enableTrace(True) #打開跟蹤,查看日志
while True:
ws = create_connection(url) #創(chuàng)建連接
data =input('輸入傳輸消息:') #測(cè)試數(shù)據(jù)
# new_data=json.dumps(data,ensure_ascii=False) #將data轉(zhuǎn)化為字符串
ws.send(data) #發(fā)送請(qǐng)求
print('收到回復(fù)消息:',ws.recv()) #打印服務(wù)器響應(yīng)數(shù)據(jù)
if data == 'q':
ws.close() #關(guān)閉連接
break
實(shí)戰(zhàn)
公司開發(fā)的websocket接口只是單純的建立連接進(jìn)行監(jiān)聽,并不支持發(fā)送和接受數(shù)據(jù)。
import unittest
from websocket import create_connection
import websocket
class Test_websoket(unittest.TestCase):
def test_websk(self):
'''websocket 消息推送: /socketServer/${userId} '''
url = 'ws://10.10.100.224:9997/socketServer/528' # websocket連接地址
websocket.enableTrace(True) # 打開跟蹤,查看日志
ws = create_connection(url) # 創(chuàng)建連接
print(ws.getstatus()) # 打印連接狀態(tài)
self.assertEqual(101, ws.getstatus(), 'websocket連接錯(cuò)誤') # 斷言連接狀態(tài)
# ws.settimeout(10) #設(shè)置超時(shí)時(shí)間
# print(ws.gettimeout()) #獲取超時(shí)時(shí)間
# ws.shutdown() # 關(guān)閉連接
if __name__ == '__main__':
unittest.main()
注意這里返回的狀態(tài)是101,表示協(xié)議切換的意思,于是可以用來(lái)斷言是否連接成功。
總結(jié)
以上是生活随笔為你收集整理的Python测试Websocket接口的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电源芯片选择DC/DC还是LDO?《转》
- 下一篇: Nike Kyrie 1 Perform