HttpRunner 主要包含下列特徵:
繼承 Requests 庫的全部特性,輕鬆實現 HTTP(S) 的各種測試需求
以 YAML 和 JSON 定義測試用例,通過 pytest 去運行
基於 HAR 文件,實現接口的錄製及用例的生成功能
支持 variables、extract、validate、hook 等關鍵字,可以創建複雜的測試場景
藉助輔助插件 debugtalk.py,在測試腳本中輕鬆實現複雜的動態計算邏輯
集成 jmespath,方便提取變量、驗證 JSON 響應
集成 pytest,支持大量的插件
集成 allure 生成強大的測試報告
集成 locust,非常方便做性能測試
執行方式採用 CLI 調用形式,可以和 Jenkins 等持續集成工具完美結合
config模塊
name 本用例集名稱
request 請求全局變量,包括base_url(公共host)、headers等
base_url 全局公共host,也可以不定義,用例中寫全url即可
以上全局配置,除了name,其他都是非必要的,根據需要添加。
【字段說明】
test 模塊
name 本條測試用例的名字
request 請求體
url 請求的路徑,由於全局變量已經定義好host,這裏就直接填寫後面的路由即可
method 請求方式
params 請求參數
validate 斷言
extract 參數傳遞
【使用場景1--》fiddler 】
通過抓包請求導出 har格式
如圖1:
如圖2:導出爲test.har 格式
如圖3:將har 轉換爲python代碼
如圖4:執行python代碼,有兩種方式 hrun sobot_test.py 或 pytest sobot_test.py【因爲pytest 已被封裝在httprunner中,所有可直接使用】
【說明:1failed 是因爲 接口 相關參數失效,可忽略】
【使用場景2--》將test.har轉換爲yaml 或json格式用於測試用例的維護,但是不建議這樣操作,以pytest 整合測試用例更爲直觀 】
如圖1:
如圖2: