熱線電話:13121318867

登錄
首頁大數據時代python 如何使用HttpRunner做接口自動化測試
python 如何使用HttpRunner做接口自動化測試
2020-09-18
收藏

作者:星安果 

來源:AirPython

1. 前言

原始測試金子塔包含 3 層,分別是:UI 自動化測試、接口服務測試、單元測試

其中,

單元測試是對軟件的最小可測試單元進行檢查和驗證,也是產生效率最大的一項測試

接口服務測試分為模塊接口測試和協議接口測試

UI 測試主要是為了取代人力操作,通過 UI 自動化去模擬操作,降低回歸測試的成本

考慮到投入產出率,大部分企業都會將測試重點放在接口自動化測試這一項上

接口自動化主流方案包含:python + Pytest/Unittest、Java + TestNG、Postman、HttpRunner、Postman、Jmeter、RobotFramework 等

本篇文章將和大家一起聊聊 HttpRunner 做接口自動化的流程

2.介紹及安裝

HttpRunner 是一款完全由 Python 語言編寫的測試框架,并且簡單、優雅、功能強大,同時支持 HTTP 和 HTTPS

HttpRunner 主要包含下列特征

  • 繼承 Requests 庫的全部特性,輕松實現 HTTP(S) 的各種測試需求
  • 以 YAML 和 JSON 定義測試用例,通過 pytest 去運行
  • 基于 HAR 文件,實現接口的錄制及用例的生成功能
  • 支持 variables、extract、validate、hook 等關鍵字,可以創建復雜的測試場景
  • 借助輔助插件 debugtalk.py,在測試腳本中輕松實現復雜的動態計算邏輯
  • 集成 jmespath,方便提取變量、驗證 JSON 響應
  • 集成 pytest,支持大量的插件
  • 集成 allure 生成強大的測試報告
  • 集成 locust,非常方便做性能測試
  • 執行方式采用 CLI 調用形式,可以和 Jenkins 等持續集成工具完美結合

使用 pip 安裝 HttpRunner 穩定版本

# 安裝 HttpRunner 穩定版本
pip3 install httprunner

需要指出的是,HttpRunner V3 版本對比 V2 版本進行了大量優化,特別是測試用例的表現形式,強烈建議安裝 V3 版本

3.常見命令

安裝完 HttpRunner 之后,就可以使用下面幾個命令了

1、hrun

HttpRunner 最主要的命令,主要作用是運行 Py/YAML/JSON 格式的測試用例

2、hmake

將 YAML/JSON 格式的測試用例轉換為 Python 文件

ps:HttpRunner V3 以 Python 文件保存測試用例,V2 之前是以 JSON/YAML 格式保存測試用例

3、har2case

har2case 作用是將 HAR 格式的請求文件轉為 YAML/JSON/Py 格式的測試用例

ps:一般網絡請求都可以直接以 AHR 格式保存到本地

4、locusts

HttpRunner 集成了 locusts 命令,可以利用它直接進行性能測試

5、其他命令

另外,通過 httprunner -h 命令可以查看幫助;使用 httprunner -V 命令可以查看 HttpRunner 的版本信息

4.小試牛刀

先通過一個簡單的接口聊聊 HttpRunner 的使用步驟

目標接口 - GET:

https://postman-echo.com/get?foo1=bar1

第一步:抓包,保存為 HAR 文件

打開 Charles 或 Fiddler,配置 Chrome 瀏覽器的代理, 使Charles 可以對瀏覽器進行抓包

使用 Chrome 訪問這個接口地址,模擬一次請求,然后在 Charles 中找到對應的請求,右鍵保存為 HAR 文件

第二步:轉為測試用例

使用 har2case 命令將 HAR 文件轉換為測試用例,V3 版本默認生成測試用例格式為 Py 文件

查看測試用例后發現,HttpRunner 自動生成的測試用例結構十分清晰,二次修改也非常方便

第三步,運行測試用例

使用 hrun 命令運行測試用例,另外,加上 --html 參數,可以在本地生成測試報告

# 生成測試報告
hrun demo_test.py --html=report.html

打開測試報告,可以查看測試用例的執行結果及日志

5.腳手架

HttpRunner 同樣提供了腳手架,方便我們快速創建標準化項目

# 使用腳手架創建一個項目
httprunner startproject demo

生成項目的目錄結果如下:

其中,

1、debugtalk.py

一般用于自定義 Python 函數,方便測試用例調用

比如:某個請求參數需要通過一段加密邏輯生成,這時可以自定義一個函數寫在 debugtalk.py 文件中

2、har

從抓包工具、Postman、瀏覽器保存的網絡請求

3、reports

生成測試報告的目錄

需要指出的是,除了使用自帶的 pytest-html 插件生成測試報告,HttpRunner 還可以通過 allure 生成功能更加強大的測試報告

4、testcases

用于放置測試用例

使用 hrun 命令可以直接運行腳手架項目

# 運行腳手架項目
# hrun 項目名稱
hrun demo

6.最后

受限于篇幅,上面僅僅介紹了 HttpRunner 最基本的使用方法

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢