1. python 介面升級怎麼測試
測試思路:
1、先把每個http介面一個一個寫腳本測試。(提交的json串直接放在data字典中,這里沒有用到excel等寫測試用例,測試用例直接用腳本實現。)
2、寫完所有介面的測試腳本後,由於一個介面有好幾個測試用例,所有要把同一個介面的py腳本封裝成方法,每一個介面封裝成一個介面類。
3、用testsuite直接調用這些介面類,構造測試集;或利用unittest自動識別測試用例,TestLoader類中提供的discover()方法。
(命名規則:介面名稱要以test_XXX開頭)
就好把所有的介面測試用例連起來構建自動化測試了。
4、最後利用HTMLTestRunner生成測試報告。
2. 【Python介面測試-1】登錄介面獲取token和uuid
所有介面測試都離不開登錄介面獲取的用戶信息,無論是使用JMeter、APIPost還是Python,登錄介面的調試都是首要步驟。在學習Python和unittest時,從項目開始,邊實踐邊探索,這里推薦菜鳥教程作為入門資源。
之前關於JMeter和ApiPost的文章里,同樣調試了登錄介面。登錄介面的參數和返回數據可以通過Fiddler抓包查看。登錄介面返回的json數據包含uuid和token,這兩個信息作為用戶認證數據,需要在所有介面測試中的header中引用。為此,編寫代碼提取uuid和token,並將其拼接到header中。
在編碼過程中,將環境信息、常用用戶信息等存儲為常量,便於在編碼時直接引用。創建了settings文件夾以存放這些常量。編寫unittest測試類(testman.py)來調用介面和公共方法。實現登錄介面調試和獲取uuid、token的過程,封裝在common模塊的get_header.py文件中。
具體步驟包括定義login_url、設置header和data參數,並調用post方法。login_url引用settings文件中的環境信息。在headers參數中添加固定的頭部信息,如Referer,否則可能導致請求失敗。data參數以字典形式包含用戶信息,考慮到不同項目登錄參數的差異,進行了適當的if判斷。通過res_data接收調用post方法返回的數據,但由於數據格式為字元串,直接使用json()方法獲取token信息不適用,需要先將字元串轉換為字典格式。
轉換字元串為字典推薦使用ast.literal_eval()方法,確保安全且高效。獲取到轉換後的數據後,將uuid和token追加到header中。之後,使用這個包含uuid和token信息的header調用後續的業務介面。
以上步驟涵蓋了從登錄介面調試到獲取uuid和token,以及如何將這些信息應用在其他介面測試中的全過程。有興趣了解更多細節,歡迎訪問相關文章。