python的unittest測試框架的擴充套件淺談
很多時候測試框架需要根據測試資料來自動生成測試用例指令碼,比如介面測試,通過不同引數構建組合去請求介面,然後驗證返回結果,如果這樣能通過配置excel資料來驅動測試,而不用去寫一大堆的測試用例指令碼程式碼,減輕了維護自動化測試指令碼的時間和成本,大概有一個思路可以實現以上想法,先寫一個通過的unittest測試基類,然後用過python的內建type去生成自定義的功能模組類,再在生成的自定義類裡以setattr方法來生成每一個功能模組類下的用例方法,這樣到時收集測試報告的時候,可以比較清晰的分類展示。
如以下函式是根據excel生成測試類和類下的測試用例方法,當然如果接入平臺裡測試,到最後測試完要去銷燬之前生成的類和方法
def generateTestCases(log,arglists):
'''動態生成測試用例類及其方法'''class_list=[]
for args in arglists:
custom_class = type(args['inter'], (myEwsCase,), {"__doc__":args['cases'][0]['description']})
for a in args['cases']:
setattr(custom_class,'test_%s'%a['testcasename'],myEwsCase.getTestFunc(log,a))
class_list.append(custom_class)
return class_list
def destroyTestCases(log,custom_class,arglists):'''銷燬所有自動生成用例方法'''
n=0
for args in arglists:
for a in args['cases']:
delattr(custom_class[n],'test_%s'%a['testcasename'])
n +=1
相關文章
- Python 自動化測試框架unittestPython框架
- Python中的單元測試框架:使用unittest進行有效測試Python框架
- 淺談擴充套件歐幾里得演算法套件演算法
- .NET: 談談C#中的擴充套件方法C#套件
- Solon詳解(六)- Solon的校驗擴充套件框架使用與擴充套件套件框架
- 介面測試之unittest框架框架
- Python擴充套件_淺拷貝和深拷貝Python套件
- 淺析Dubbo的SPI擴充套件機制套件
- 淺談Kotlin語法篇之擴充套件函式(五)Kotlin套件函式
- Python中的Unittest框架Python框架
- Python + requests + unittest + ddt 進行介面自動化測試的框架Python框架
- 在Python中呼叫Java擴充套件包HanLP測試記錄PythonJava套件HanLP
- Laravel深入學習7 – 框架的擴充套件Laravel框架套件
- 淺談 vue-cli 擴充套件性和外掛設計Vue套件
- JavaScript擴充套件原型鏈淺析JavaScript套件原型
- python自動化測試框架pytest和unittest區別!!!Python框架
- 由事務擴充套件開談一談套件
- 自動化時序異常檢測的可擴充套件通用框架套件框架
- Ray:用於擴充套件和分發Python和ML應用的框架套件Python框架
- 安裝Swoole框架和擴充套件框架套件
- VS Code 的 Python 擴充套件有大更新Python套件
- python算術運算子的擴充套件功能Python套件
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- ?用Chrome擴充套件管理器, 管理你的擴充套件Chrome套件
- 淺談ddos的測試方式
- 使用ctypes來擴充套件Python套件Python
- 使用cython擴充套件python庫套件Python
- 淺談自動化測試框架開發框架
- 正則的擴充套件套件
- SRAM的容量擴充套件套件
- PHP擴充套件開發就是一個自己的PHP擴充套件PHP套件
- IT專家暢談:如何啟動和擴充套件成功的AI試點專案套件AI
- python介面自動化測試 —— unittest框架suite、runner詳細使用Python框架UI
- 淺談HASH長度擴充攻擊
- [譯] 探索 SMACSS:可擴充套件的模組化 CSS 框架MacCSS套件框架
- 打造靈活可擴充套件的前端工程化框架套件前端框架
- 基於Python的介面自動化-unittest測試框架和ddt資料驅動Python框架
- burpsuite擴充套件開發之PythonUI套件Python
- Python為什麼能擴充套件Python套件