最近在社群聊天里,發現了一款適用於http協議的接口框架——HttpRunner。在對其有個大致了解后,我覺得這款框架優點多多,整合了接口測試中所配套用到的多種框架。通過優秀的封裝,將case整合到一份yaml或者json文件里即可運行,我覺得可以學習一下。

目前官方最新版本為3.x的版本了,所以打算以這個版本為學習樣本。開篇就先對HttpRunner來一個介紹吧。
一、介紹
HttpRunner 是一款面向 HTTP(S) 協議的通用測試框架,只需編寫維護一份YAML/JSON腳本,即可實現自動化測試、性能測試、線上監控、持續集成等多種測試需求。
二、框架設計理念
- 充分復用優秀的開源項目,不追求重復造輪子,而是將強大的輪子組裝成戰車
- 遵循 約定大於配置 的准則,在框架功能中融入自動化測試最佳工程實踐
- 追求投入產出比,一份投入即可實現多種測試需求
三、核心特點
- 繼承 Requests 的全部特性,輕松實現 HTTP(S) 的各種測試需求
- 以YAML或JSON格式定義testcase,使用pytest運行,更加簡潔優雅
- 有了pytest,成百上千的插件隨時可用
- 支持variables/extract/validate/hooks機制來創建極其復雜的測試場景
- 借助輔助函數(debugtalk.py),任何函數都可以在測試用例的任何部分中使用
- 支持完善的測試用例分層機制,充分實現測試用例的復用
- 使用python的第三方庫jmespath,讓提取和驗證json響應更簡單
- 基於 HAR 實現接口錄制和用例生成功能(har2case)
- 結合 Locust 框架,無需額外的工作即可實現分布式性能測試
- 執行方式采用 CLI 調用,可與 Jenkins 等持續集成工具完美結合
- 集成了Allure,讓測試報告更加漂亮,內容更豐富。
- 極強的可擴展性,輕松實現二次開發和 Web 平台化
相信做過接口自動化的你,看到上述的優點,都會感慨這個框架的強大。

不過這里我也是抱着懷疑的態度去學習,HttpRunner整合的資源確實很豐富,但是用起來真正感受如何呢?讓我們拭目以待!
