這里只是做一個大概的解析,還有很多細節部分沒有太過於關注
我們從cli.py開始進行解析
1、argparse.ArgumentParser 接受命令行的各種參數
[
argparse.ArgumentParser 主要是為了對httprunner進行命令行對操做
]
2、 httprunner進行初始化,初始化的參數從argarse傳遞進來
[
httprunner對主要代碼在api.py中,在httprunner的__init__ 進行:
1、日志level的設置
2、定義unitest.TextTestRunner , unittest.TestLoader
3、初始化其他參數數據
]
3、開始運行用例
[
for path in args.testcase_paths :
runner.run(path,xxx)
進入到api.py httprunner的其中一個方法run
]
代碼的核心部分還是在以上途中的run_tests的1、2中,這里利用到了
type動態創建類(元類)、 動態增加屬性、高階函數、反射(debugtalk.py的加載func)、與unittest的很好的結合
我創建了一個簡單的項目也嘗試用httprunner來做一些簡單的接口測試,確實比較好用,尤其可以自定義各種方法的情況下,更靈活的進行接口回歸測試
在不修改代碼的情況下,可以先用httprunner進行簡單的接口的編寫,進行相關數據回歸,然后再針對自己的業務情況,對httprunner進行修改