WebSocket介面怎麼做測試

2022-07-06 23:06:18 字數 1816 閱讀 6926

如果遇見了乙個全新的協議,怎麼從零開始,完成介面測試?以 websocket 為例。

websocket 協議在2023年誕生,2023年成為國際標準。現在所有瀏覽器都已經支援了。websocket 的最大特點就是,伺服器可以主動向客戶端推送資訊,客戶端也可以主動向伺服器傳送資訊,是真正的雙向平等對話。

websocket 的其他特點:

•      建立在 tcp 協議之上,伺服器端的實現比較容易。

•    與 http 協議有著良好的相容性。預設埠也是80和443,並且握手階段採用 http 協議,因此握手時不容易遮蔽,能通過各種 http **伺服器。

•      資料格式比較輕量,效能開銷小,通訊高效。

•      可以傳送文字,也可以傳送二進位制資料。

•      沒有同源限制,客戶端可以與任意伺服器通訊。

•      協議識別符號是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到底是個啥?是如何工作的?

以下是python實現的websocket 介面連線。

#

匯入websocket的create_connection類

from websocket import

create_connection

#建立和websocket介面的鏈結

ws = create_connection("

ws:")

#列印日誌

print("

hello, world")

#客戶端傳送hello,world

ws.send("

hello, world")

print("

receiving...")

#將websocket的返回值儲存result變數

result =ws.recv()

#列印返回的result

print("

received '%s'

" %result)

#關閉websocket鏈結

ws.close()

# 建立和websocket介面的鏈結

ws = create_connection("ws:")

執行上面語句之後,客戶端就會與伺服器進行連線。

例項物件的send()方法用於向伺服器傳送資料。

ws.send("hello, world")

介面測試怎麼做

通用介面api規範 保持冪等。也即多次呼叫,應該產生一致的結果,例如轉賬1元,因為呼叫失敗或者超時重試的時候,最終結果還應該是轉賬1元,而非呼叫兩次變成轉賬2元。介面的實現應該盡量避免阻塞,可以使用非同步方式提公升效能。介面應該包括能夠區分不同情況的異常,而非丟擲寬泛的exception,不能吞掉異...

怎麼做web介面測試

這就需要開發提供的介面文件了,介面文件和功能測試的需求說明書的功能是一樣的。包括 介面說明 呼叫的url,請求方式 get or post 請求引數 引數型別 請求引數說明,返回結果說明。有了介面文件後,我們就可以設計用例了,一般介面測試的用例分為以下幾種 1 通過性驗證,說白了就是傳遞正確的引數,...

介面測試怎麼做的?

1 拿到介面文件熟悉 服務端開發人員把介面文件寫出來,我們就可以拿過來熟悉 1 每個介面對應要實現的功能是什麼。2 伺服器的位址 埠 介面位址 3 請求方式,請求引數有哪些 4 響應資料 1 響應的字段個數是否足夠 可以看需求文件中對應的功能需要顯示的個數,只能多不能少 2 正確和錯誤的響應碼 er...