接口自動化____如何根據測試數據excel中的數據量多少 去test類中定義同數據量的測試函數
阿新 • • 發佈:2019-01-31
請求 ron 信息 技術 span 其他 第一個 不能 針對
背景:
在做2.0核心接口測試的時候,針對一個接口,如:客戶信息查詢 在測試數據的excel中假如填入了三行數據,如何根據
excel中有多少行的數據去動態的定義多少個test函數。
解決方案:
1.由於python的unittest中默認設置是:測試類中的函數,以test開頭的會被執行,其他的不被執行,所以先定義一個測試函數,註意取名不能以test開頭
比如上圖,只有my_2700這麽一個函數作為測試函數,這個傳入的x是指作為測試數據的EXCEL中的某一行(如傳入的是3,就是針對測試數據excel中的第三行,依次讀取第三行中的數據,然後發送請求),然後根據下圖,定義一個get_test函數,用來執行my_2700函數,最後的關鍵在於 __test_demo()函數
setattr第一個參數傳入這個類名,第二個參數可以用來重命名這個函數,第三個參數就是來實例化的函數,這裏的i的值為測試數據excel的行數,然後每一行生成一個test打頭的函數名,這樣子就完成了本篇文章一開頭的需求,實現了根據excel的數據量,動態定義用來執行unittest的的函數。
關於setattr不懂的可以自己百度熟悉。
接口自動化____如何根據測試數據excel中的數據量多少 去test類中定義同數據量的測試函數