測牛學(xué)堂:接口自動(dòng)化使用python和數(shù)據(jù)驅(qū)動(dòng)的思想進(jìn)行封裝
接口對象封裝之?dāng)?shù)據(jù)驅(qū)動(dòng)
在實(shí)際接口測試中,測試的參數(shù)是通過json文件的方式給到的,所以我們要實(shí)現(xiàn)接口測試的數(shù)據(jù)驅(qū)動(dòng),也叫參數(shù)化。
使用python自帶的unittest單元測試框架進(jìn)行接口參數(shù)化測試時(shí),因unittest不具備參數(shù)化測試,所以需要借助Parameterized第三庫進(jìn)行測試
Parameterized可以進(jìn)行大量數(shù)據(jù)的測試,分離測試數(shù)據(jù)和測試腳本
一旦實(shí)現(xiàn)了參數(shù)化測試,那么后期調(diào)試測試用例時(shí),可以不需要看代碼,只需要修改測試數(shù)據(jù)即可。
安裝包:?pip install parameterized
實(shí)現(xiàn)思路:?1導(dǎo)包 from parameterized import parameterized
2在通用的測試方法上面添加 裝飾器?@parameterized.expand()
3給expand()傳入[(),(),()]格式的數(shù)據(jù)(這個(gè)是parameterized規(guī)定的格式,json不滿足需要我們自己轉(zhuǎn)化)
4修改測試方法,添加形參,個(gè)數(shù),順序,實(shí)現(xiàn)形參和實(shí)參一一對應(yīng)
5 在測試方法中使用形參即可。
代碼實(shí)現(xiàn):
1 轉(zhuǎn)化json格式數(shù)據(jù)
2 使用parameterized實(shí)現(xiàn)參數(shù)化:
完整代碼: