1. 程式人生 > >接口自動化____如何根據測試數據excel中的數據量多少 去test類中定義同數據量的測試函數

接口自動化____如何根據測試數據excel中的數據量多少 去test類中定義同數據量的測試函數

請求 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類中定義同數據量的測試函數