postman介面自動化測試之利用node.js和xmysql連接、操作資料庫
一、背景
使用postman進行介面自動化測試時,除了要驗證介面的返回,有時候還要同時驗證資料庫的數據,或者將介面返回的數據與資料庫的數據做對比,檢驗數據的正確性。
有的時候還需要在執行自動化case之前,造一些測試數據,或者在跑完自動化之後,刪除測試數據。
所以,我們需要在postman里連接並操作資料庫,才能實現真正的完全自動化。
經查閱資料,可以通過安裝node.js和xmysql,實現Postman與資料庫的連接,生成Rest API,對資料庫的數據進行增刪改查操作。
具體實現如下:
二、下載安裝node.js
1、下載
nodejs下載地址://nodejs.org/en/
2、安裝
這一步是選擇安裝哪些模組,默認是全部安裝,對於新手來說建議全部安裝。
npm package manager:
表示npm包管理器
online documentation shortcuts:
在線文檔快捷方式
Add to PATH:
添加node安裝路徑到環境變數
點開那個add path選項前面的+號,我們看到,會主動把NodeJS和NPM這兩個模組的命令路徑添加到系統路徑里,對於我們來說就非常方便了。
點擊next繼續下一步,確認資訊,點擊Install開始安裝,程式開始複製文件等一系列步驟。一直到安裝完畢。
3、測試是否安裝成功
node -v
可以看到,已經安裝成功。
三、連接資料庫
1、安裝用來連接資料庫的xmysql插件
npm install -g xmysql
2、通過xmysql命令連接資料庫
xmysql -h 主機ip -u 用戶名-p 密碼 -d 資料庫名
可以看到Database為sousou,表的數量為53。
四、操作資料庫
連接成功後,我們就可以通過//localhost:3000/api/表名來操作資料庫。
1、查詢數據【GET】
其中,where參數是條件,不加where則是查詢所有記錄。
如下例子,是指查詢【package】表中【id=11】的記錄(【eq】代表資料庫里的【=】,其他運算符見下文【資料庫操作合集】):
http://localhost:3000/api/package?_where=(id,eq,11)
2、刪除數據【DELETE】
其中,id是資料庫中的記錄的唯一標識。
如下例子,刪除【banner】表中【id=155】的記錄:
http://localhost:3000/api/banner/:id
可以看出,一行受影響,證明已經刪除成功。
另:
可以對結果加斷言(檢查點)進行校驗,例如判斷受影響行數為1。
//校驗HTTP狀態碼為200 pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); var jsonData = pm.response.json(); //校驗受影響行數為1 pm.test("affectedRows = 1", function () { pm.expect(jsonData.affectedRows).to.eql(1); });
可以在Test Results中看到,狀態碼及受影響行數的斷言均通過。
3、修改數據【PATCH】
其中,id是資料庫中的記錄的唯一標識,更新的數據以json的格式放在body里
如下例子是將【package】表中【id=11】的記錄的【name】改為「測試修改」
http://localhost:3000/api/package/:id
通過結果response可以看出,有一行受影響,說明已經更新成功了,可根據自身情況設置響應的斷言進行校驗。
4、插入數據【POST】
插入記錄的數據以json的格式放在body里。
如下例子,向【banner】表中添加一條記錄:
http://localhost:3000/api/banner
可以看出,受影響行數為1,說明已經添加成功。
五、資料庫操作合集
1、請求方式
2、條件中的運算符
3、排序操作

初入職場熱愛分享的打工人一枚,請大家多多指教~~