postman 使用 xmysql 連接 mysql 的使用小結


作者
expect (connor)「發表於 TesterHome 」

 

在測試過程中我們往往需要校對數據庫的數據或者准備一些測試數據,供給接口測試在自動執行時使用。所以就用到了postman對於數據庫的操作。因為postman本身沒有連接數據庫的功能,所以用到的是node.js中的xmysql實現Rest API的生成,然后用postman進行不同的查詢、更新請求即可。

1.安裝部分:
node.js的安裝 : http://www.runoob.com/nodejs/nodejs-install-setup.html
xmysql的安裝:在安裝完node.js之后,在命令行中輸入 npm install -g xmysql 即可進行安裝。

2.連接部分:
連接部分也比較簡單:-h 是數據庫的地址 -u 用戶名 -p 密碼 -d 數據庫的名

這里可能注意的是:需要用root賬號才能進行連接
命令行輸入:xmysql -h host -u root -p Root@pwd -d test_db_2
可以在瀏覽器中輸入localhost:3000查看獲取到數據庫內容
注:增加-r 參數,那么訪問地址就變成了-r設置的地址。
例: xmysql -h host -u root -p Root@pwd -d test_db_2 -r 112.123.3.22 那么訪問地址為112.123.3.22:3000

 

 

3.對數據庫的操作部分:
我這里拿一個小的例子描述最常用的查詢和更新操作。
1)問題描述:測試環境下,在測試注冊接口的時候,我需要一個手機號的是未注冊的狀態,所以我這里先准備了一個手機號:18888888888,但是我不能保證這個手機號是否被注冊,所以我需要從數據庫中查詢當前數據是否存在,如果存在需要做相應的處理,使其變為未注冊的狀態。
2)解決方案:
思路是查詢當前手機號是否存在於user表中,如果存在就更新到別的手機號(考慮到數據庫中謹慎使用delete操作所以使用update),如果不存在直接執行下一步測試
首先,先從數據庫user表中查詢當前數據是否已經存在: 請求方式為GET,request name 為getuser-sql
http://localhost:3000/api/user?_where=(phone,eq,18888888888)

然后通過test編寫判斷數據是否存在以及處理方式

responseData = JSON.parse(responseBody)
//獲取到json返回的內容
var text = responseData[0];
//獲取當前是否有id
if(text != null){
//判斷當前手機號是否被注冊 ,如果不為null說明手機號已經注冊
tests["當前手機號已經注冊"] = true === true;
var key = responseData[0].id;
//將id復制給key
pm.environment.set("IDkey",key);
//設置id為環境變量
postman.setNextRequest("update-sql");
//執行更新手機號的接口,使手機號為未注冊的手機號
}
else{
tests["當前手機號為未注冊賬號"] = true === true;
postman.setNextRequest("next-api")
//當前手機號未注冊可以直接執行正常手機號登錄注冊流程
}

最后進行更新操作的編寫,請求方式為 PATCH ,request name 為上個接口中寫的 update-sql
http://localhost:3000/api/user/{{IDkey}} //{{IDkey}}是在getuser-sql中設置的環境變量,值為主鍵ID
另外需要在body中編寫需要更新字段,如圖所示即可:

 


這樣這個問題就完全解決了,另外:patch在使用時只能使用主鍵為條件進行更新,暫時還沒有找到別的方式。

 

4.數據庫基本操作:
第一部分請求方式

 

 

第二部分基本的數據庫操作:

 


第三部分排序操作:

 

 

總結:以上就是我在工作中常用的關於postman+xmysql中的使用,基本滿足了對於數據庫使用的需求。
另外附上我使用中常用的學習地址,感謝在我學習過程中幫助過我人:https://github.com/o1lab/xmysql#api-overview


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM