pytest + yaml 框架基本不用寫 python 代碼,只需寫yaml 文件用例就能實現接口自動化。
現在引入接口錄制功能,連 yaml 文件也不用寫了,點點點就能生成 yaml 用例文件了。
錄制功能在v1.3.4版本上實現
pip instal pytest-yaml-yoyo
環境準備
錄制功能環境沒給大家預裝,考慮大大家python 版本不太一樣,可能有的人裝不上。官方文檔地址https://docs.mitmproxy.org/stable/
1.先需要準備mitmproxy
?環境,最好是 python3.9 版本, 使用 pip 安裝接口
pip install mitmproxy
2.安裝完成后在項目本地新建一個recorde.py
?,名稱隨便定義
-
from pytest_yaml_yoyo.mitm_http import RecoderHTTP
-
"""
-
步驟:
-
1.pip 安裝 mitmproxy 環境
-
> pip install mitmproxy
-
2.復制這里的代碼,新建recorde.py 文件,設置過濾環境如:http://127.0.0.1:8001
-
3.啟動服務
-
> mitmweb -s ./recorde.py -p 8099
-
4.電腦開啟代理,設置對應端口
-
5.自動錄制抓包轉成 yaml 用例
-
"""
-
addons = [
-
RecoderHTTP(['http://你抓的環境地址:8001']) # 設置過濾環境
-
]
3.執行命令啟動服務, 指定監聽 8099 端口
mitmweb -s ./recorde.py -p 8099
啟動后我們會看到瀏覽器打開抓包頁面
4.電腦開啟代理,設置對應端口
瀏覽器-設置-系統-打開您計算機的代理設置
開啟代理-設置8099打開-并點保存
保存后就可以開始抓包了,電腦上發出去的請求都能抓到,比如瀏覽器打開你要測試的地址,或者通過python寫的腳本都能抓到
5.自動抓包生成 yaml 用例
抓到接口會自動生成 yaml 格式用例,如下
并且會自動插件pytest.ini 配置你的環境地址
-
[pytest]
-
log_cli = true
-
base_url = http://你抓的環境地址:8001
用例抓取完成后,重新打開一個終端窗口,輸入pytest命令就能執行用例了
最后不用了需要關閉電腦上設置的代理功能
行動吧,在路上總比一直觀望的要好,未來的你肯定會感 謝現在拼搏的自己!如果想學習提升找不到資料,沒人答疑解惑時,請及時加入扣群: 320231853,里面有各種軟件測試+開發資料和技術可以一起交流學習哦。
最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
?
這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!