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框架
- 五、談擴充套件方法的理解套件
- [丁原]使用Mysql來搭建可擴充套件的SNS網站(淺談)MySql套件網站
- .NET: 談談C#中的擴充套件方法C#套件
- Solon詳解(六)- Solon的校驗擴充套件框架使用與擴充套件套件框架
- Python 的單元測試之 unittestPython
- 淺析Dubbo的SPI擴充套件機制套件
- 在Python中呼叫Java擴充套件包HanLP測試記錄PythonJava套件HanLP
- Python擴充套件_淺拷貝和深拷貝Python套件
- Laravel深入學習7 – 框架的擴充套件Laravel框架套件
- Python的unittest做引數化測試Python
- Python中的Unittest框架Python框架
- 淺談 vue-cli 擴充套件性和外掛設計Vue套件
- 淺談Kotlin語法篇之擴充套件函式(五)Kotlin套件函式
- JavaScript擴充套件原型鏈淺析JavaScript套件原型
- 由事務擴充套件開談一談套件
- Rafy 框架 - 外掛級別的擴充套件點框架套件
- 自動化時序異常檢測的可擴充套件通用框架套件框架
- 安裝Swoole框架和擴充套件框架套件
- 淺談ddos的測試方式
- python自動化測試框架pytest和unittest區別!!!Python框架
- 高效能的Python擴充套件(2)Python套件
- 高效能的Python擴充套件(1)Python套件
- 高效能的Python擴充套件(3)Python套件
- 淺談自動化測試框架開發框架
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- ?用Chrome擴充套件管理器, 管理你的擴充套件Chrome套件
- 如何開發、本地測試、釋出 Laravel 擴充套件包?Laravel套件
- [譯] 探索 SMACSS:可擴充套件的模組化 CSS 框架MacCSS套件框架
- ZenML:可擴充套件的開源機器學習MLOps框架套件機器學習框架
- ReactiveUI是.NET的Reactive程式設計擴充套件框架ReactUI程式設計套件框架
- Ray:用於擴充套件和分發Python和ML應用的框架套件Python框架
- python介面自動化測試 —— unittest框架suite、runner詳細使用Python框架UI
- IT專家暢談:如何啟動和擴充套件成功的AI試點專案套件AI
- 正則的擴充套件套件
- SRAM的容量擴充套件套件