一、httprunner的簡介
HttpRunner 是一款面向 HTTP(S) 協議的通用測試框架,只需編寫維護一份 YAML/JSON 腳本,即可實現自動化測試、性能測試、線上監控、持續集成等多種測試需求。
二、運行環境
1、HttpRunner 是一個基於 Python 開發的測試框架,可以運行在macOS、Linux、Windows 系統平台上。
2、Python 版本:HttpRunner 支持 Python 3.4 及以上的所有版本,並使用 Travis-CI 進行了持續集成測試,測試覆蓋的版本包括2.7/3.4/3.5/3.6/3.7。雖然 HttpRunner 暫時保留了對 Python 2.7 的兼容支持,但強烈建議使用 Python 3.4 及以上版本。
3、操作系統:推薦使用 macOS/Linux。
三、安裝方式
pip install httprunner==2.5.7
可指定安裝版本進行安裝
四、文件路徑
YAML/JSON(必須):測試用例文件,存儲接口測試相關信息
debugtalk.py(可選):存儲項目中邏輯運算輔助函數,該文件存在時,將作為項目根目錄定位標記,其所在目錄即被視為項目工程根目錄,該文件不存在時,運行測試的所在路徑(CWD)將被視為項目工程根目錄
.env(可選):存儲項目環境變量,通常用於存儲項目敏感信息
.csv(可選):項目數據文件,用於進行數據驅動
reports:默認生成測試報告的存儲文件夾
五、基本語法
1、k:(空格)v:表示一對鍵值對(空格必須有),不支持table鍵,一般手動空格
2、以空格的縮進來控制層級關系;只要是左對齊的一列數據,都是同一個層級的
3、屬性和值大小寫敏感
4、# 表示注釋
5、null是用~表示
6、支持的數據結構:
對象:鍵值對的集合
數組:一組按次序排列的值
純量(scalars):單個的、不可再分的值
字符串、布爾值、整數、浮點數、時間、日期、null
六、簡單接口測試場景
七、參數說明
7.1 config參數說明
output用法(也可以用export代替):
7.2 test參數說明
extract關鍵字:
支持多種提取方式:
響應結果為 JSON 結構,可采用.運算符的方式,例如headers.Content-Type、
content.success;
響應結果為 text/html 結構,可采用正則表達式的方式,例如blog-motto\">(.*)</h2>
request 關鍵詞:
request關鍵詞中包括http請求中的詳細內容:
headers:請求頭部信息
method: 請求方式
url:請求地址
host:請求主機地址
params:GET請求參數
data:表單形式的參數
json:json格式的參數
8、斷言設置
斷言是拿實際結果和期望結果去比較;
斷言支持的校驗器:
9、變量的創建及使用
使用:$變量名 如: $name