我們在做接口自動化的時候,到底要不要做數據庫斷言?
這個沒有絕對的答案的,具體根據公司實際業務的需要來。
有條件的,有需求的,就可以加上數據庫斷言。
(我以前在外包公司待的時候,測試環境中的數據庫訪問都需要權限申請,層層審批,就沒有做數據庫斷言)
首先:思路:做數據庫斷言,為了驗證某個接口返回數據與數據庫中的值是否一致。(例如:添加內容的接口,查詢內容的接口)
通過sql語句,訪問數據庫,查詢到對應的那個字段的值,通過assert比較,從而判斷接口中的返回參數中的某個值是否正確。(或者,添加的接口內容是否成功存到數據庫中)
或者,我們的接口是刪除了某個值,數據庫中對應的字段是否成功刪除。
其次:我們要掌握如何用python 語法操作數據庫。(以前我寫過這類的博客),
網上轉載一篇文章:
https://www.jianshu.com/p/4490957e29ad 詳細介紹了
python3使用pymysql操作mysql
再次:在實際使用的時候,我們都會把操作數據庫的方法封裝成函數或者方法。(增刪改查的函數)
這只是簡單的使用,臨時寫的一個函數,先執行兩次sql命令,再執行查詢。
前面的兩個sql語句,可以是:增刪改查中任意兩種。最后返回查詢的結果。
如果返回結果有很多條值,那么,我們可以進行切片,
最后,把切片后的值引入到unittest或者pytest接口自動化測試框架中,進行斷言。
這樣看來,數據庫來斷言接口測試,其實也不難。
寫過一次就會了。