Httprunner是一款簡單優雅的http(s)的接口測試框架。
在當前測試行業,接口測試已經是必備技能了,而python也是廣大測試同行們深愛的語言之一。httprunner這個工具就兼有了接口錄制/導出,多種case編寫格式(json/yml/pytest),入門門檻低,靈活且生態完整。
httprunner更專注於http(s)接口層面的測試;python最長壽的unittest框架,則可以作為單元測試自動,http(s)/tcp層的接口或者功能集成自動化。
介於httprunner的名氣越來越大,如果你要跳槽找工作,大部分互聯網公司問到接口測試時,都或多或少會提及到httprunner。
httprunner有以下的設計哲學:
- 慣例優先原則(convention over configuration)
慣例優先原則源於Spring中的一個設計理念,簡單來說,就是框架給一套規范,這套規范可以幫助你盡量精簡配置文件,只要按照該規范去寫代碼,可以減少很多項目配置,而且代碼和配置的這種關系非常簡潔。
- 關注投資回報率(ROI matters)
注投資回報率是一個框架的最核心kpi,比如httprunner作為一個新的框架,對比其他框架,有什么優點?這些優點是否可以覆蓋我們適應httprunner的成本(簡單來說,學習一個新東西,帶來的性價比到底如何),在這一點上,httprunner力求給使用者最大的roi。
擁抱開源應該是當今軟件行業的一個趨勢,隨着github上的開源工程越來越多(甚至有些過剩),很多大牛都已經為我們創造出來好用的軟件工具了,作為后來者,應該是抱着更好地整合開源軟件的思想去做新的軟件工具(而不是重復造輪子)
httprunner(3.x)都有哪些核心功能呢?
- 集成了requests庫強大功能,在處理https請求上更加優雅人性化(這意味着httprunner(3.x)工具本身的性能和穩定性會更高)
- 提供了yaml,json的case編寫格式,並以pytest方式,更編譯和優雅的運行(比較方便的編輯轉換后python語言的測試case)
- 利用har的優勢,方便的錄制和導出並生成測試case
- 提供了一些列的機制支持一些復雜的測試場景
- 通過debugtalk.py插件支持自定義函數的編寫
- 通過jmespath,方便對返回的json進行校驗
- 通過pytest的強大插件生態補充了httprunner的功能
- 通過allure,讓測試報告更加美觀,可讀性更強
- 通過和locust的結合,很方便利用httprunner進行接口的性能測試
- httprunner以命令行方式運行,也更方便接入CI/CD
以上就是httprunner3.x的簡單介紹,順便說一句,httprunner3.x對httprunner2的case不兼容,如果你原來用的是httprunner2.x,那么測試case需要修改去適配下httprunner3.x的case語法。
備注:以上內容部分源於httprunner3.x的官網文檔翻譯。
博主:測試生財(一個不為996而996的測開碼農)
座右銘:專注測試開發與自動化運維,努力讀書思考寫作,為內卷的人生奠定財務自由。
內容范疇:技術提升,職場雜談,事業發展,閱讀寫作,投資理財,健康人生。
csdn:https://blog.csdn.net/ccgshigao
博客園:https://www.cnblogs.com/qa-freeroad/
51cto:https://blog.51cto.com/14900374
微信公眾號:測試生財(定期分享獨家內容和資源)

