国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一文揭秘利用python+unittest實現(xiàn)Webscoket協(xié)議接口測試_from websocket import create_connection

這篇具有很好參考價值的文章主要介紹了一文揭秘利用python+unittest實現(xiàn)Webscoket協(xié)議接口測試_from websocket import create_connection。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

先自我介紹一下,小編浙江大學(xué)畢業(yè),去過華為、字節(jié)跳動等大廠,目前阿里P7

深知大多數(shù)程序員,想要提升技能,往往是自己摸索成長,但自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!

因此收集整理了一份《2024年最新軟件測試全套學(xué)習(xí)資料》,初衷也很簡單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友。
一文揭秘利用python+unittest實現(xiàn)Webscoket協(xié)議接口測試_from websocket import create_connection,2024年程序員學(xué)習(xí),python,websocket,開發(fā)語言
一文揭秘利用python+unittest實現(xiàn)Webscoket協(xié)議接口測試_from websocket import create_connection,2024年程序員學(xué)習(xí),python,websocket,開發(fā)語言
一文揭秘利用python+unittest實現(xiàn)Webscoket協(xié)議接口測試_from websocket import create_connection,2024年程序員學(xué)習(xí),python,websocket,開發(fā)語言
一文揭秘利用python+unittest實現(xiàn)Webscoket協(xié)議接口測試_from websocket import create_connection,2024年程序員學(xué)習(xí),python,websocket,開發(fā)語言
一文揭秘利用python+unittest實現(xiàn)Webscoket協(xié)議接口測試_from websocket import create_connection,2024年程序員學(xué)習(xí),python,websocket,開發(fā)語言

既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,涵蓋了95%以上軟件測試知識點,真正體系化!

由于文件比較多,這里只是將部分目錄截圖出來,全套包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實戰(zhàn)項目、大綱路線、講解視頻,并且后續(xù)會持續(xù)更新

如果你需要這些資料,可以添加V獲?。簐ip1024b (備注軟件測試)
一文揭秘利用python+unittest實現(xiàn)Webscoket協(xié)議接口測試_from websocket import create_connection,2024年程序員學(xué)習(xí),python,websocket,開發(fā)語言

正文

這個接口 很簡單,就是完成一個鏈接,獲取到鏈接后,直接返回對應(yīng)的消息。

一個很簡單的接口,那么python如何來實現(xiàn)webscoket協(xié)議接口測試呢,

需要安裝兩個依賴包

pip3 install websocket-client
pip3 install websocket

安裝后,就可以去完成接口的請求。

先創(chuàng)建一個簡單的腳本,去測試下接口是否可以調(diào)用

from websocket import create_connection
import websocket
url = ‘ws://localhost:8081/ws’
wss = create_connection(url)#創(chuàng)建鏈接
wss.settimeout(10) #設(shè)置超時時間
print(wss.getstatus())#狀態(tài)碼是100認(rèn)為成功
wss.send(‘hello world’)#發(fā)送消息
print(wss.recv())#接受小時
wss.shutdown()

測試下

一文揭秘利用python+unittest實現(xiàn)Webscoket協(xié)議接口測試_from websocket import create_connection,2024年程序員學(xué)習(xí),python,websocket,開發(fā)語言

這樣可以正常請求,那么這樣一個簡單的接口,可以設(shè)計一個簡單的用例去測試

其實上面的請求測試,可以改造成一個簡單的接口測試用例。導(dǎo)入

import unittest

然后定一個一個類,繼承

class TestWebsocket(unittest.TestCase):

在setup中

def setUp(self) -> None:
self.url = ‘ws://localhost:8081/ws’
self.wss = create_connection(self.url) # 創(chuàng)建鏈接

其實就是創(chuàng)建鏈接

在tearDown中,斷開

def tearDown(self) -> None:
self.wss.shutdown()

在去新增一個用例

def testone(self):

用例中有兩個斷言,一個是鏈接是否正確,另一個斷言是發(fā)送的消息后是否返回對應(yīng)的值

def testone(self):
status=self.wss.getstatus()
self.assertEqual(status,101,‘websocket連接錯誤’)
self.wss.send(‘hello world’)#發(fā)送消息
recvdata=self.wss.recv()
self.assertTrue((“hello world” in recvdata),‘接口返回錯誤’)

這樣一個簡單的用例就實現(xiàn)完畢了,我們測試下

一文揭秘利用python+unittest實現(xiàn)Webscoket協(xié)議接口測試_from websocket import create_connection,2024年程序員學(xué)習(xí),python,websocket,開發(fā)語言

執(zhí)行成功,測試用例可以正常測試,這樣一個簡單的webscoket的接口的測試就完成了。

其實webscoket接口測試流程就是去創(chuàng)建鏈接,然后傳送數(shù)據(jù),接受數(shù)據(jù)。然后根據(jù)鏈接創(chuàng)建和返回數(shù)據(jù)進(jìn)行對應(yīng)的斷言就可以了。

簡單的接口測試可以這么來做,那么針對復(fù)雜的接口如何做呢,我們?nèi)ツ弥暗膶懙慕涌凇?/p>

@app.websocket(“/ws”)
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
while True:
data = await websocket.receive_text()
await websocket.send_text(f"接受到的消息是: {data}")
manager = ConnectionManager()

給人們消息

@app.websocket(“/ws/{user}/”)
async def websocket_many_point(
websocket: WebSocket,
user: str,
):
await manager.connect(user, websocket)
try:
while True:
data = await websocket.receive_json()
senduser = data.get(‘username’)
if senduser:
await manager.send_other_message_json(data, senduser)
else:
await manager.broadcast_json(data)
except WebSocketDisconnect as e:
manager.disconnect(user, websocket)
@app.websocket(“/ws”)
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
while True:
data = await websocket.receive_text()
await websocket.send_text(f"接受到的消息是: {data}")
manager = ConnectionManager()

給人們消息

@app.websocket(“/ws/{user}/”)
async def websocket_many_point(
websocket: WebSocket,
user: str,
):
await manager.connect(user, websocket)
try:
while True:
data = await websocket.receive_json()
senduser = data.get(‘username’)
if senduser:
await manager.send_other_message_json(data, senduser)
else:
await manager.broadcast_json(data)
except WebSocketDisconnect as e:
manager.disconnect(user, websocket)

很簡單,就是一個給多個人或者單個人發(fā)消息,這里的用例可以簡單的有四個。

測試發(fā)給自己看自己能不能接受到,
一個是群發(fā),看兩個能否接受到,
一個是給某個人發(fā),看那個人是否接受到。
A發(fā)給B,B可以接受到,C接受不到

接著去實現(xiàn)對應(yīng)的測試用例的代碼。

這里面需要注意:數(shù)據(jù)傳輸是根據(jù)字符串的,我們發(fā)送的是json,需要進(jìn)行json處理。直接使用json模塊進(jìn)行處理即可。

import json
from websocket import create_connection, WebSocketTimeoutException
import unittest
class TestWebSocket(unittest.TestCase):
def setUp(self) -> None:
#初始化鏈接地址
self.url = ‘ws://localhost:8081/ws/1/’
#鏈接
self.wss = create_connection(self.url)
def tearDown(self) -> None:
#關(guān)閉鏈接
self.wss.shutdown()
def testnouusernmae(self):
#獲取鏈接狀態(tài)
status = self.wss.getstatus()
#斷言狀態(tài)碼
self.assertEqual(status, 101, ‘websocket連接錯誤’)
#拼裝參數(shù)
senddata = {“dict”: 122}
#發(fā)送
self.wss.send(json.dumps(senddata))
#看群發(fā)是否自己能收到
recvdata = self.wss.recv()
#轉(zhuǎn)化下消息
reslut = json.loads(recvdata)
#斷言
self.assertEqual(reslut, senddata, ‘消息發(fā)送接受到不一致’)
def testorther(self):
#鏈接第二個
self.urlorther = ‘ws://localhost:8081/ws/212/’
#創(chuàng)建鏈接
self.ortherwss = create_connection(self.urlorther)
#獲取狀態(tài)
status = self.wss.getstatus()

網(wǎng)上學(xué)習(xí)資料一大堆,但如果學(xué)到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那么很難做到真正的技術(shù)提升。

需要這份系統(tǒng)化的資料的朋友,可以添加V獲?。簐ip1024b (備注軟件測試)
一文揭秘利用python+unittest實現(xiàn)Webscoket協(xié)議接口測試_from websocket import create_connection,2024年程序員學(xué)習(xí),python,websocket,開發(fā)語言

一個人可以走的很快,但一群人才能走的更遠(yuǎn)!不論你是正從事IT行業(yè)的老鳥或是對IT行業(yè)感興趣的新人,都?xì)g迎加入我們的的圈子(技術(shù)交流、學(xué)習(xí)資源、職場吐槽、大廠內(nèi)推、面試輔導(dǎo)),讓我們一起學(xué)習(xí)成長!
()

網(wǎng)上學(xué)習(xí)資料一大堆,但如果學(xué)到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那么很難做到真正的技術(shù)提升。

需要這份系統(tǒng)化的資料的朋友,可以添加V獲?。簐ip1024b (備注軟件測試)
[外鏈圖片轉(zhuǎn)存中…(img-S9zhLpTp-1713184121700)]

一個人可以走的很快,但一群人才能走的更遠(yuǎn)!不論你是正從事IT行業(yè)的老鳥或是對IT行業(yè)感興趣的新人,都?xì)g迎加入我們的的圈子(技術(shù)交流、學(xué)習(xí)資源、職場吐槽、大廠內(nèi)推、面試輔導(dǎo)),讓我們一起學(xué)習(xí)成長!文章來源地址http://www.zghlxwxcb.cn/news/detail-856204.html

到了這里,關(guān)于一文揭秘利用python+unittest實現(xiàn)Webscoket協(xié)議接口測試_from websocket import create_connection的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 利用SMB協(xié)議實現(xiàn)局域網(wǎng)內(nèi)設(shè)備文件的共享

    利用SMB協(xié)議實現(xiàn)局域網(wǎng)內(nèi)設(shè)備文件的共享

    利用SMB協(xié)議實現(xiàn)局域網(wǎng)內(nèi)iPad、iPhone、Windows文件快速傳輸 通過SMB協(xié)議可以實現(xiàn)主設(shè)備共享文件夾,及外部設(shè)備訪問共享文件夾。 這里的主設(shè)備可以是windows系統(tǒng),macOS系統(tǒng)。外部設(shè)備可以是windows系統(tǒng),macOS系統(tǒng),ipad,iphone等。 下面以windows為主設(shè)備,ipad為外部設(shè)備舉例 方法一

    2024年02月10日
    瀏覽(18)
  • 如何利用SFTP協(xié)議遠(yuǎn)程實現(xiàn)更安全的文件傳輸 ——【內(nèi)網(wǎng)穿透】

    如何利用SFTP協(xié)議遠(yuǎn)程實現(xiàn)更安全的文件傳輸 ——【內(nèi)網(wǎng)穿透】

    ?? 鴿芷咕 :個人主頁 ??? 個人專欄 : 《高效編程技巧》《cpolar》 ??生活的理想,就是為了理想的生活! SFTP(SSH File Transfer Protocol)是一種基于SSH(Secure Shell)安全協(xié)議的文件傳輸協(xié)議。與FTP協(xié)議相比,SFTP使用了加密和身份驗證機(jī)制來保護(hù)數(shù)據(jù)的安全性和完整性,可以在

    2024年02月11日
    瀏覽(34)
  • 揭秘Elasticsearch:一文讀懂分布式搜索與分析引擎的核心概念

    揭秘Elasticsearch:一文讀懂分布式搜索與分析引擎的核心概念

    ????????Elasticsearch 是一個開源、分布式、實時搜索和分析引擎,專門用于處理大規(guī)模數(shù)據(jù)的快速檢索與分析。它建立在 Apache Lucene 的基礎(chǔ)上,但提供了比 Lucene 更為豐富的功能和友好的RESTful API 接口,使得開發(fā)者能夠輕松地進(jìn)行全文搜索、結(jié)構(gòu)化搜索以及對海量數(shù)據(jù)進(jìn)行

    2024年02月19日
    瀏覽(27)
  • “利用義烏購API揭秘跨境貿(mào)易商機(jī):一鍵獲取海量優(yōu)質(zhì)商品列表!“

    “利用義烏購API揭秘跨境貿(mào)易商機(jī):一鍵獲取海量優(yōu)質(zhì)商品列表!“

    義烏購API可以根據(jù)取商品列表。通過調(diào)用義烏購API的item_search接口,傳入?yún)?shù),可以獲取到符合該的商品列表。 以下是使用義烏購API根據(jù)取商品列表的步驟: 注冊義烏購開發(fā)者賬號并獲取授權(quán)碼和密鑰。 在代碼中導(dǎo)入義烏購API的SDK,設(shè)置請求的U

    2024年02月05日
    瀏覽(19)
  • SRS OBS利用RTMP協(xié)議實現(xiàn)音視頻推拉流;WebRTC 屏幕直播分享工具

    SRS OBS利用RTMP協(xié)議實現(xiàn)音視頻推拉流;WebRTC 屏幕直播分享工具

    參考:https://ossrs.net/lts/zh-cn/docs/v5/doc/getting-started 1)docker直接運(yùn)行SRS服務(wù): 運(yùn)行起來后可以http://localhost:8080/ 看到服務(wù)基本信息: 2) OBS 推流 在設(shè)置里設(shè)置直播地址: 然后回到首頁點擊開始直播 3)點擊http://localhost:8080/ 可以網(wǎng)頁查看流視頻 SRS低延遲啟動(暫時測試下來延遲

    2024年04月13日
    瀏覽(21)
  • 揭秘MQTT:為何它是物聯(lián)網(wǎng)的首選協(xié)議?

    揭秘MQTT:為何它是物聯(lián)網(wǎng)的首選協(xié)議?

    概覽 MQTT 是一種基于 發(fā)布/訂閱模式 的輕量級消息傳輸協(xié)議,專門針對低帶寬和不穩(wěn)定網(wǎng)絡(luò)環(huán)境的物聯(lián)網(wǎng)應(yīng)用而設(shè)計,可以用極少的代碼為聯(lián)網(wǎng)設(shè)備提供實時可靠的消息服務(wù)。MQTT 協(xié)議廣泛應(yīng)用于物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)、智能硬件、車聯(lián)網(wǎng)、智慧城市、遠(yuǎn)程醫(yī)療、電力、石油與

    2024年02月05日
    瀏覽(24)
  • 揭秘 HTTPS 加密協(xié)議:保護(hù)你的網(wǎng)上安全之道

    在當(dāng)今數(shù)字化時代,隱私和安全變得尤為重要。本博客將帶你深入了解 HTTPS 加密協(xié)議,它是如何通過加密通信、驗證身份和保護(hù)數(shù)據(jù)完整性來確保你在互聯(lián)網(wǎng)上的安全與隱私。 1、 互聯(lián)網(wǎng)安全的重要性 在當(dāng)今數(shù)字化時代,互聯(lián)網(wǎng)已經(jīng)成為人們生活中不可或缺的一部分。然而

    2024年02月04日
    瀏覽(18)
  • [Python]unittest-單元測試

    [Python]unittest-單元測試

    目錄 unittest的大致構(gòu)成: Test Fixture Test Case-測試用例 Test Suite-測試套件 Test Runner 批量執(zhí)行腳本 makeSuite() TestLoader discover() 用例的執(zhí)行順序 忽略用例執(zhí)行 skip skipIf skipUnless 斷言 HTML測試報告 錯誤截圖 unittest是python中的單元測試框架 大致作用: 提供用例的組織與執(zhí)行-組織大量的測

    2024年02月08日
    瀏覽(18)
  • .NE8實現(xiàn)HTTP Tunnel代理,利用HTTP協(xié)議升級機(jī)制和HTTP CONNECT動詞

    .NE8實現(xiàn)HTTP Tunnel代理,利用HTTP協(xié)議升級機(jī)制和HTTP CONNECT動詞

    看到一個文章[Go] 不到 100 行代碼實現(xiàn)一個支持 CONNECT 動詞的 HTTP 服務(wù)器 原理圖如下: 這里在NET8.0中實現(xiàn)反向代理服務(wù)器部分 新建MiniApi項目 編輯 Program.cs 文件。 正向代理服務(wù)器的HttpClient請求如下,將獲取到的TcpStream和TcpListener的NetworkStream串聯(lián)即可。 如下是正向代理服務(wù)器

    2024年02月22日
    瀏覽(11)
  • Python-pytest使用unittest

    介紹: unittest 是 Python 標(biāo)準(zhǔn)庫中的測試框架,用于編寫和運(yùn)行單元測試。它提供了一組用于組織測試、斷言和報告測試結(jié)果的類和方法。 編寫測試類和方法 運(yùn)行測試 命令行方式: 測試運(yùn)行器方式: 斷言 使用各種斷言方法來驗證測試條件: 測試裝置 使用 setUp 和 tearDown 進(jìn)行

    2024年01月17日
    瀏覽(12)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包