1、簡介html
HttpRunner 是一款面向 HTTP(S) 協議的通用測試框架,只需編寫維護一份YAML/JSON
腳本,便可實現自動化測試、性能測試、線上監控、持續集成等多種測試需求。python
核心特性:git
YAML/JSON
的形式描述測試場景,保障測試用例具有可維護性2、安裝github
1. 首次安裝:pip install httprunnerjson
2. 升級到最新:pip install -U HttpRunner
api
3、命令框架
4、用例簡述分佈式
5、結果校驗器工具
1. 結果校驗器功能:主要輔助測試人員執行測試用例時判斷系統的功能是否正常。對於每個test
,能夠指定0個或多個校驗項,放置在validate
中。在自動化測試執行的時候,會在發起HTTP請求、解析結果響應以後,逐個檢查各個校驗項,若存在任意校驗項不經過的狀況,則該test
將終止並被標記爲失敗。性能
例:
- test: name: get token request: url: https://ape-api.yuanfudao.ws/win/login method: GET extract: - token: content.token validate: - {"check": "status_code", "comparator": "eq", "expect": 200} - {"check": "content.token", "comparator": "len_eq", "expect": 16}
2. 如上例所示,每個校驗項均爲一個json
結構,裏面包含check
、expect
、comparator
三個屬性字段。其中,check
對應着要檢查的字段,expect
對應着檢查字段預期的值,這兩項是必須指定的;comparator
字段對應着比較方法,若不指定,則默認採用eq
,即檢查字段與預期值相等。
3. 其餘檢查方法:
HttpRunner
除了eq
,還內置了大量的檢查方法。例如,咱們能夠經過gt
、ge
、lt
、le
等比較數值大小,經過len_eq
、len_gt
、len_lt
等比較長度是否相等(列表、字典、字符串均適用),經過contains
、contained_by
來判斷包含關係,經過startswith
、endswith
判斷字符串的開頭結尾,甚至經過regex_match
來判斷是否知足正則匹配等。
詳細的比較方式還有許多,須要時可查看comparator表格。
6、運行
1. Charles抓包,導出.har格式文件
2. 轉換格式:
har2case xxx.har xxx.json
3. 運行:
4. 查看報告:
5. 其餘:
DEBUG
,即在命令中添加--log-level debug。
failfast:若但願測試用例集在運行過程當中,遇到失敗時再也不繼續運行後續用例,則可經過在命令中添加--failfast
實現。
--html-report-name
參數。(會在reports目錄下生成相應名稱的文件夾,裏面包含相同名稱的報告)