數據驅動測試框架DDT的使用
- DDT測試框架的介紹
DDT全程爲Data Driver Test數據驅動測試,是由測試數據驅動測試用例的執行,加入ddt框架,可以實現用例的重複執行以及代碼的重複使用,減少工作量。數據代碼分離爲主流設計思路,在常見的測試體系中可以使用xml文件、excel文件、json文件來管理測試數據,通過代碼自動讀取,來驅動用例的執行,ddt測試框架基於這種設計思路上,實現了方便使用,簡單易懂的效果
- DDT的安裝
DDT是基於python的測試框架,一般與unittest測試框架搭配使用,所以在安裝使用ddt之前,需要先安裝好Python並配置Python環境變量。
安裝時可以直接在cmd中使用pip來安裝
- DDT的使用
DDT由幾個關鍵部分組成:1.裝飾類 2.普通裝飾器 3.參數拆分
(裝飾器爲Python中的語法結構,通過@語法糖來使用,裝飾器是在方法或者類的基礎上新增的額外功能,相當於裝飾了方法,新增了額外的功能,具體需要查看python語法)
- 裝飾類ddt:在上文介紹過,ddt一般與unittest搭配使用,在使用unittest時,可以自定義類來編寫測試用例,例如:
在腳本最上方導入ddt框架後,可以使用裝飾類ddt,來裝飾自定義的測試用例,被ddt裝飾的類可以直接使用ddt測試框架
2.裝飾器ddt.data,使用data裝飾unittest中的測試方法,該方法可以讀取到data中設定的測試數據,來驅動用例的執行,例如
需要注意的是,被裝飾的方法需要定義傳入參數,例如value,data需要定義測試的數據例如(1,2,3,4),執行效果爲test_fun()方法會執行4次,依次讀取data中設定好的測試數據
3.unpack的使用,當test_*()方法需要傳入多個參數時,需要通過列表或者元組來設定參數,則需要通過unpack方法來解析參數,例如:
Test_function()方法定義了兩個傳入參數,data裝飾器中設定了三組參數,由於參數保存在列表中,則需要使用unpack方法解析列表,解析後的參數會正常給a,b賦值,第一次執行a=20,b-=30 第二次執行a=40,b=50 第三次執行a=50,b=60
4.引入excel數據作爲測試數據
封裝好的excel數據方法爲:
引入封裝好的excel類,並創建對象,
然後在data裝飾器中引用excel中的數據,如下:
完整版代碼如下: