天天看點

【架構學習分享】HttpRunner

【架構學習分享】HttpRunner

今天文章分為兩部分 :)

PART1 HttpRunner内容分享/ PART2 關于後廠村兒

10 Minutes  HttpRunner:

PART 1 

首先感謝作者開源👍

因為最近工作需要用到HttpRunner,

于是便趁着周末學了下這個測試架構,感覺還可以~

是以分享一下今天的學習記錄,内容整理源于網絡。

如有侵權聯系删除~

開源位址:

​​https://github.com/httprunner/httprunner​​

一、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

可指定安裝版本進行安裝

【架構學習分享】HttpRunner

四、檔案路徑

YAML/JSON(必須):測試用例檔案,存儲接口測試相關資訊
debugtalk.py(可選):存儲項目中邏輯運算輔助函數,該檔案存在時,将作為項目根目錄定位标記,其所在目錄即被視為項目工程根目錄,該檔案不存在時,運作測試的所在路徑(CWD)将被視為項目工程根目錄
.env(可選):存儲項目環境變量,通常用于存儲項目敏感資訊
.csv(可選):項目資料檔案,用于進行資料驅動
reports:預設生成測試報告的存儲檔案夾      

五、基本文法

1、k:(空格)v:表示一對鍵值對(空格必須有),不支援table鍵,一般手動空格
2、以空格的縮進來控制層級關系;隻要是左對齊的一列資料,都是同一個層級的
3、屬性和值大小寫敏感
4、# 表示注釋
5、null是用~表示
6、支援的資料結構:
    對象:鍵值對的集合
    數組:一組按次序排列的值
    純量(scalars):單個的、不可再分的值
    字元串、布爾值、整數、浮點數、時間、日期、null      

六、簡單接口測試場景

【架構學習分享】HttpRunner
【架構學習分享】HttpRunner
【架構學習分享】HttpRunner

 七、參數說明

7.1  config參數說明

【架構學習分享】HttpRunner
【架構學習分享】HttpRunner

output用法(也可以用export代替):

【架構學習分享】HttpRunner
【架構學習分享】HttpRunner

 7.2  test參數說明

【架構學習分享】HttpRunner

 extract關鍵字:

支援多種提取方式:

響應結果為 JSON 結構,可采用.運算符的方式,

例如headers.Content-Type、content.success;
【架構學習分享】HttpRunner
【架構學習分享】HttpRunner

響應結果為 text/html 結構,可采用正規表達式的方式,例如

blog-motto\">(.*)</h2> 
【架構學習分享】HttpRunner

request 關鍵詞:

request關鍵詞中包括http請求中的詳細内容:
headers:請求頭部資訊
method:請求方式
url:請求位址
host:請求主機位址
params:GET請求參數
data:表單形式的參數
json:json格式的參數      

八、斷言設定

斷言是拿實際結果和期望結果去比較;

【架構學習分享】HttpRunner

 斷言支援的校驗器:

【架構學習分享】HttpRunner

九、變量的建立及使用

使用變量方法:

$變量名 

$name

【架構學習分享】HttpRunner
【架構學習分享】HttpRunner

好了,先到這裡了,如果大家在實踐中有什麼問題,可以給我留言,Bye~

-以上簡單描述希望對你有所幫助。共勉-

以下為分享的寶藏内容