httprunner接口自動化框架簡單使用教程一


一、用來做什么

HttpRunner 是一款面向 HTTP(S) 協議的通用測試框架,只需編寫維護一份 YAML/JSON 腳本,即可實現自動化測試、性能測試、線上監控、持續集成等多種測試需求。

官方中文文檔地址:https://cn.httprunner.org/

二、開始使用

   1、安裝

pip install httprunner 安裝
pip install pipenv  安裝管理依賴包
2、項目文件結構
測試用例分層結構
cmd到創建文件下目錄,執行
hrun --startproject demo 創建一個基本的測試用例分層結構

api文件:存放接口相關信息

testcase:用例存放

testsuites:用例集

reports:測試報告存放地方

debugtalk.py 基礎數據定義,這邊里可以定義數據,或者寫方法來獲取,在整個文件中都可以調用里面定義的數據

.env 也是定義數據的一個文件

gitignore  git軟件要忽略的文件列表

測試用不分層結構,根據項目需要創建文件所有文件都在同一個目錄,或者按自己的愛好創建,不推薦這種方式。
3、實踐使用
假設有一個登錄接口和查詢接口,要預先登錄后獲取到token,然后才能進行查詢,找到類似這兩個接口的接口文檔,或者抓包對應事件看看是否看接口相關信息

api格式:
name: demo api
base_url:base_url

variables:
    var1: value1
var2: value2
request:
url: /api/path/$var1
method: POST
headers:
Content-Type: "application/json"
json:
key: $var2
validate:
- eq: ["status_code", 200]
name 和 request 部分是必須的,request 中的描述形式與 requests.request 完全相同。存在變量引用的情況,可在 variables 中對參數進行定義,
默認情況下,har2case 生成用例時,若 HTTP 請求的響應內容為 JSON 格式,則會將第一層級中的所有key-value轉換為 validator。

testcase測試用例:
- config:
    name: testcase description

   request: base_url: ${gain_base_url()}

 variables: {} - test: name: /api/get-token request: headers: Content-Type: application/json User-Agent: python-requests/2.18.4 app_version: 2.8.6 device_sn: FwgRiO7CNA50DSU os_platform: ios json: sign: 9c0c7e51c91ae963c833a4ccbab8d683c4a90c98 method: POST url: http://127.0.0.1:5000/api/get-token validate: - eq: [status_code, 200] - eq: [headers.Content-Type, application/json] - eq: [content.success, true] - eq: [content.token, baNLX1zhFYP11Seb] 

 

config是接口配置部分,test是用例部分,validate是斷言部分

加密:

hook 函數的定義放置在項目的 debugtalk.py 中,在 YAML/JSON 中調用 hook 函數仍然是采用 ${func($a, $b)} 的形式。

3、運行

cd 到對應目錄下,hrun 對應case文件就行了

# 調試運行 hrun
$ pipenv run python main-debug.py hrun -h

# 調試運行 locusts $ pipenv run python main-debug.py locusts -h

httprunner、hrun、ate 三個命令完全等價


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM