HttpRunner 是近年一款優秀的國產開源接口測試框架,經過幾個大版本的迭代,目前最新版是3.0.13。相較於之前的版本,3.0 顛覆了以前的設計及理念。
HttpRunner 是一款面向 HTTP(S) 協議的通用測試框架,只需編寫維護一份 YAML/JSON
腳本,即可實現自動化測試、性能測試、線上監控、持續集成等多種測試需求。
此文檔適用於全新發布的 HttpRunner 3.x
版本,2.x
版本的使用文檔請查看歷史鏈接。
設計理念
- 充分複用優秀的開源項目,不追求重複造輪子,而是將強大的輪子組裝成戰車
- 遵循
約定大於配置
的準則,在框架功能中融入自動化測試最佳工程實踐 - 追求投入產出比,一份投入即可實現多種測試需求
核心特性
- 繼承 Requests 的全部特性,輕鬆實現 HTTP(S) 的各種測試需求
- 採用
YAML/JSON
的形式描述測試場景,保障測試用例描述的統一性和可維護性 - 藉助輔助函數(debugtalk.py),在測試腳本中輕鬆實現複雜的動態計算邏輯
- 支持完善的測試用例分層機制,充分實現測試用例的複用
- 測試前後支持完善的 hook 機制
- 響應結果支持豐富的校驗機制
- 使用 jmespath,提取和驗證 json 響應從未如此簡單
- 使用 pytest,數百個插件可供使用
- 基於 HAR 實現接口錄製和用例生成功能(har2case)
- 結合 Locust 框架,無需額外的工作即可實現分佈式性能測試
- 執行方式採用 CLI 調用,可與 Jenkins 等持續集成工具完美結合
- 測試結果統計報告簡潔清晰,附帶詳盡統計信息和日誌記錄
- 採用 allure,可以生成美觀且強大的測試報告