在上邊的一一章中我們講了怎么用腳手架生成框架,接下來將我們怎去些case
一牢撼、charles 獲取har文件
1)charles 抓包獲取對應(yīng)的接口(怎么設(shè)置charles可以百度)
2)導(dǎo)出 har文件
3)導(dǎo)出之后夏醉,我們拿到如下文件
4)將文件放到 我們項目中的har文件夾下
經(jīng)歷上述這操作之后爽锥,我們已經(jīng)獲取到一個接口的請求信息,那么我們接下來需要將har文件轉(zhuǎn)換成我們的用例
二畔柔、轉(zhuǎn)化用例(hrp convert)
hrp convert 命令解釋
hrp convert -h
convert multiple source format to HttpRunner JSON/YAML/gotest/pytest cases
Usage:
hrp convert $path... [flags]
-h, --help help for convert
-d, --output-dir string specify output directory
-p, --profile string specify profile path to override headers and cookies
--to-json convert to JSON case scripts (default true)
--to-pytest convert to pytest scripts
--to-yaml convert to YAML case scripts
Global Flags:
--log-json set log to json format (default colorized console)
-l, --log-level string set log level (default "INFO")
參考官方文檔:https://httprunner.com/docs/user-guide/gen-tests/convert/
1氯夷、將hra 轉(zhuǎn)化成json/yml/pytest用例(任選其一)
默認(rèn)會將輸入的 demo.har 轉(zhuǎn)換為 JSON 測試用例 demo_test.json
hrp convert --from-har tianqi.har
# 將輸入的 demo.har 轉(zhuǎn)換為 pytest 測試用例 demo_test.py
hrp convert --from-har tianqi.har --to-pytest
# 輸出到對應(yīng)文件夾
hrp convert --from-har har/tianqi.har --output-dir testcases
hrp convert --from-har har/tianqi.har --to-pytest --output-dir testcases
hrp convert --from-har har/tianqi.har --to-yaml --output-dir testcases
2、生成完成你會得到這樣的一個目錄
3靶擦、你可以通過配置 替換接口中的 Headers 和 Cookies 信息
--profile 后接 profile 配置文件的路徑腮考,該文件的后綴可以為 .json/.yaml/.yml,其作用是在轉(zhuǎn)換過程中對測試用例的各個步驟進(jìn)行全局修改奢啥,目前支持修改輸入中的 Headers 和 Cookies 信息秸仙,并且支持替換(不存在則會創(chuàng)建)以及覆蓋兩種修改模式,下面給出這兩種修改模式的 profile 配置文件示例:
profile.yaml:根據(jù) profile 替換指定的 Headers 和 Cookies 信息
headers:
Header1: "this header will be created or updated"
cookies:
Cookie1: "this cookie will be created or updated"
profile_override.yaml:根據(jù) profile 覆蓋原有的 Headers 和 Cookies 信息
override: true
headers:
Header1: "all original headers will be overridden"
cookies:
Cookie1: "all original cookies will be overridden"
創(chuàng)建了以上的兩個 profile 配置文件后桩盲,我們可以使用 --profile 選項指定配置文件來進(jìn)行全局修改寂纪,例如:
# 將輸入的 demo.har 轉(zhuǎn)化為 json 測試用例 demo_test.json,并進(jìn)行全局替換Header和cookies
$ hrp convert demo.har --profile profile.yaml
# 將輸入的 demo.har 轉(zhuǎn)化為 pytest 測試用例 demo_test.py赌结,并進(jìn)行全局覆蓋
$ hrp convert demo.har --to-pytest --profile profile_override.yaml
文件放置的位置捞蛋,建議新增配置目錄如config
4、綜上我們已經(jīng)完成了一個接口的用例編寫(基本接口)接下來就是運行用例
# pytest
hrp pytest testcases/tianqi_test_test.py --html=results/index.html --junit-xml=results/report.xml
會得到這樣一個報告