Python+Requests+UnitTest+Excel+ddt接口自動化項目實戰


利用UnitTest實現參數化需要用到ddt:

DDT又叫數據驅動(Data-Driven Design),在Python ddt作為一個裝飾器存在,用來實現數據的參數化,這樣就可以將代碼和測試數據分開,將代碼進行封裝,提高復用性。測試數據在本地文件或數據庫進行維護。

通常情況下,data中的數據按照一個參數傳遞給測試用例,如果data中含有多個數據,以元組,列表,字典等數據,需要自行在腳本中對數據進行分解或者使用unpack分解數據

使用方法:使用時在測試類上聲明@ddt裝飾符,在測試方法上使用@data裝飾符;@data裝飾符可以將參數當做測試數據傳入到測試方法中

第一步、封裝方法讀取Excel表數據。

 第二步、准備測試數據

以Excel表為准將接口寫進表格

 第三步、封裝用例

引入ddt下面的所有方法,@ddt需要放在測試類前面進行裝飾,然后下面開始創建測試用例,將獲取的Excel數據放進@ddt下面的@data()方法里面,參數可以是元組,列表,字典等數據。@data()裝飾符會把里面的數據分別拆分成單個元組,列表或者字典的形式進行發送參數,但是在它只適用於單個接口。

注意:在unittest框架中一個test文件會當作一條用例因此不適用於多個接口同時寫在一個test測試文件下面執行。例如:將多個接口放在一個test方法下面進行@data()參數化執行,實際都是執行成功,但是在unittest輸出的信息和測試報告則只會顯示執行了一條用例,因為unittest以test進行區分。因此多個接口需要進行參數化時需要分別進行定義test方法,然后分別用@data()的形式傳遞參數,這樣就能實現多個接口的參數化互不干擾。

測試接口一:

 

 測試接口二:

 

 


免責聲明!

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



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