今天文章分為兩部分 :)
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
可指定安裝版本進行安裝
四、文件路徑
- ?
- ?
- ?
- ?
- ?
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格式的參數
?
八、斷言設置
斷言是拿實際結果和期望結果去比較;
?斷言支持的校驗器:
九、變量的創建及使用
使用變量方法:
$變量名?
$name
?
好了,先到這里了,如果大家在實踐中有什么問題,可以給我留言,Bye~
?
?
-以上簡單描述希望對你有所幫助。共勉-
以下為分享的寶藏內容
?
?
?
我認為資料的價值在于能用、好用,不是滿足人的占有欲和獲得感。所以,也請各位擦亮雙眼,提高標準。得到的同時記得他的價值所在,收獲的同時,也請做好擇優標準。BTW,學長做的不好的地方,歡迎你們提出來,又或者如果屏幕前的你將更好的資源拿出分享,那真的十分優秀,也希望各位能無私互助。獲取資料不強制轉發。最近學長很忙消息回復不及時,也請多體諒。
希望學長分享的內容對你我都有幫助💪