
node.js + express + docker + mysql + jwt 實現用戶管理restful api
API 服器功能描述:
1. API服務器接收一個對用戶列表的 get()請求
2. 以Json 文件格式返回對應的用戶列表
目標明確了,現在需要做的就是:
創建一個json文件,存放用戶列表。這里只是為了學習,所以數據準備的并不復雜。
Expectation的意思就是告訴服務器當接收到請求時,響應相關的數據。通過Expectation定義相關請求的規則,與響應的規則。
比如:本例中當請求userList鏈接 get()方法時,就返回以Json格式的用戶列表。
注意:這里的用戶列表我們單獨放在一個Json文件里,以方法getPayloadString() 讀取后作為變量被Expectation調用。
目的主要讓代碼變得簡潔、易讀。數據存放在文件里也方便測試的修改與維護。
在pom文件里,配置Rest-Assured的dependency。
創建MockServerTest文件,在測試用例執行之前,需要先啟動Mock Server:
依據Expectation定義的規則,服務器啟動設置后,當用戶請求“http://localhost:10800/userList”,API Mock Server返回以Json格式的用戶列表 。
示例中驗證了:
運行測試以后,從結果中我們可以看到測試是失敗的。從運行的 log中看出:
現在我們在上面的測試用例中加一條等待語句 Thread.sleep(1000000)。
這里主要以學習為目的,最好給的等待久一點。我們詳細看一下Mock Server的日志。
這次運行測試,在執行完第一條打印語句以后,程序一直處于運行狀態。
通過瀏覽器訪問:http://localhost:10800/mockserver/dashboard
Mock Server Dashboard顯示如下:
通過點擊creating expectation旁邊的展開符號,可以詳細的看到剛才準備的expectation的規則與響應。
示例一:
現在我們發送一個正確的請求通過Jmeter,如圖所示:Jmeter中會返回響應的用戶列表。
記錄Request Received會同時出現在Log Messages、 Received Requests列表里,通過展開記錄可以詳細看到Request與Response。
示例二:
給出這樣一個沒有對應Expectation的請求時,Mock Server會返回響應代碼404。
但是在Log Messages里可以看NO_MATCH_RESPONSE的記錄。展開可以看到Request與Response的詳細信息。
這次主要是介紹Mock Server與Maven集成做API自動化測試的示例,以供大家參考。
另外Mock Server支持其它配置方式,如:?Docker、獨立服務器等以適應各種不同測試環境下的要求。Mock Server Dashboard隨時記錄下Request與Response信息,是很好的調試工具。
但是,Mock Sever也并不是萬能的,比如Mock Server 沒有自己的數據庫,也就是指所有的Expectations都是存儲在內存的,因此要求動態數據的場景,相比較有自帶數據庫的API Server,Mock Server 就有點差強人意了。
總之,一切要以實際測試環境為依據,每一個工具都有優點與缺點。
我始終堅持測試的終極目的不是比拼大家會用什么測試工具、會用什么語言。測試人員靈活掌握工具與語言是為了測試過程更簡約、更快捷。
好了,希望這些介紹能幫助到您的測試,有不足之處也希望大家多多提建議,共同進步。
node.js + express + docker + mysql + jwt 實現用戶管理restful api
nodejs + mongodb 編寫 restful 風格博客 api
表格插件wpDataTables-將 WordPress 表與 Google Sheets API 連接
手把手教你用Python和Flask創建REST API
使用 Django 和 Django REST 框架構建 RESTful API:實現 CRUD 操作
ASP.NET Web API快速入門介紹
2024年在線市場平臺的11大最佳支付解決方案
完整指南:如何在應用程序中集成和使用ChatGPT API
選擇AI API的指南:ChatGPT、Gemini或Claude,哪一個最適合你?