接口自動化HttpRunner安裝
HttpRunner是一款面向 HTTP(S) 協議的通用測試框架,只需編寫維護一份YAML/JSON腳本,即可實現自動化測試、性能測試、線上監控、持續集成等多種測試需求。
https://testerhome.com/topics/19966
httprunner相當於整合了其他開源項目
安裝后,系統中會新增 4 個命令:
- httprunner: 核心命令
- hrun:httprunner 的縮寫,功能與 httprunner 完全相同
- hmake:httprunner make的別名,用於將YAML/JSON測試用例轉換為pytest文件
- har2case:輔助工具,可將標准通用的 HAR 格式(HTTP Archive)轉換為YAML/JSON格式的測試用例
新建項目區別:
利用腳手架工具快速創建項目
腳手架工具概念
可以快速構建項目的必要目錄,不必自己一個一個的配置與搭建,只需要執行一些命令即可。
【創建項目】
進入項目路徑,終端執行以下指令,創建項目
hrun --startproject httprunner_demo # 2.x版本 httprunner startproject httprunner_demo # 3.x版本
- debugtalk.py 放置在項目根目錄下(借鑒了pytest的conftest文件的設計)
- .env 放置在項目根目錄下,可以用於存放一些環境變量
- reports 文件夾:存儲 HTML 測試報告
- testcases 用於存放測試用例
- har 可以存放錄制導出的.har文件
【運行項目】
終端執行以下指令
hrun httprunner_demo
------------------------------------------
錄制/運行測試用例
【錄制測試用例】
對接口信息進行抓包,生成.har文件,比如命名為baidu_home.har
mac : 抓包工具charles導出接口數據
windows: Fiddler導出接口抓包數據
轉化為測試用例
在項目的har文件中,終端輸入以下指令
har2case baidu_home.har # 默認生成json格式 har2case baidu_home.har -2y # 生成yaml格式
【運行測試用例】
yaml json格式校驗
(當運行YAML/JSON,其實httprunner會先把他們轉換稱pytest格式,再去運行)
hrun baidu_home.json
運行后,生成*_test.py文件
測試用例詳解
【運行YAML/JSON格式的case】
當轉換har文件的時候,同級文件夾下,就會生成pytest文件,文件名稱的末尾會有_test
當運行YAML/JSON,其實httprunner會先把他們轉換稱pytest格式,再去運行
用httprunner 3.X版本的話,寫case最好直接用pytest格式
【運行pytest格式的case】
對pytest格式來說,用hrun或者pytest命令來運行都是可以的。
因為hrun只是封裝了pytest,所以用pytest運行所有的參數,同樣可以在hrun后面加
pytest格式用例如下:
法一: main()方法里在類的后面調用test_start()方法即可
法二: 命令行的話,直接在hrun后面加上case的路徑,就可以運行了
命令行運行單個case用例
hrun mayhttprunner\*\*_test.py
命令行運行多個case用例
hrun mayhttprunner\*\*_test.py mayhttprunner\*\**_test.py
來源:https://www.cnblogs.com/pingguo-softwaretesting/p/13204045.html