python 實現ini文件用例接口測試工具+markdown格式測試報告
一、項目介紹
算是數據驅動+關鍵字驅動吧。
1. 用例格式
ini文件
2. 項目目錄
common
--core.py
--opt.py
--report.py
--vars.py
report
docs
--index.md
--case_xxxx_report.md
--mkdocs.yml
testcase
--case_xxxx.ini
...
二、核心代碼
1. core.py
Config類讀取ini文件用例
Case類存放用例信息
Runner作爲運行期主要提供執行用例、生成報告功能
2. vars.py
Vars類主要提供類似JMeter的vars.put和vars.get功能,實現參數傳遞
3. opt.py
Opt類主要提供當前公司裏定製化的一些功能,譬如登錄啊、生成特定數據、獲取特定數據。
4. rerport.py
Report類用來存放report信息,爲生成report提供支持。
三、報告
1. Web報告
報告是md格式的,用mkdocs服務來展示Web頁面
四、後言
1. 通用化與定製化
通用化指的是用例、配置靈活化,能放開的就放開。而定製化指的是針對公司的業務與數據進行定製化,這樣才有價值。要平衡兩個方面,其實不容易。
2. 擴展
目前還沒有日誌模塊、郵件通知模塊。我覺得這也是工具的必要組成部分。
3. 感悟
其實一直想寫屬於自己的測試框架,但是一直沒有方向。
是用unittest呢?還是捨棄單元測試思路呢?
是寫適用針對一個接口泛化功能測試?還是針對一條流程多接口的流程測試呢?
也想過能不能根據接口參數的格式進行自動生成case執行呢?(這再我另一個項目裏已有雛形)
越通用就越覺得一個人寫死也比不上開源框架如JMeter之流,越定製化又覺得偏向但願測試,那直接用unittest寫case算了。
也許世界是本來就沒有兩全其美的事情吧。