pytest + yaml 框架 -41.postman 和 python代碼自動錄制成yaml用例 焦點熱聞
python代碼 和postman 寫的接口也能通過錄制功能自動生成yaml格式用例了。
環境準備參考前面一篇https://www.cnblogs.com/yoyoketang/p/17495374.html
【資料圖】
在項目本地新建一個recorde.py ,名稱隨便定義
from pytest_yaml_yoyo.mitm_http import RecoderHTTP"""步驟:1.pip 安裝 mitmproxy 環境> pip install mitmproxy2.復制這里的代碼,新建recorde.py 文件,設置過濾環境如:http://127.0.0.1:80013.啟動服務> mitmweb -s ./recorde.py -p 80994.電腦開啟代理,設置對應端口5.自動錄制抓包轉成 yaml 用例"""addons = [ RecoderHTTP([""]) # 設置過濾環境]
本地 python 代碼如下
import requestsurl = "/post"body = { "user": "test", "password": "123456"}r = requests.post(url, json=body)print(r.text)
執行后會自動抓到對應接口,轉成 test_post_post.yml 測試用例
config: base_url: post_post: request: method: POST url: /post headers: Content-Type: application/json json: user: test password: "123456" validate: - eq: [status_code, 200] - eq: [headers."Content-Type", application/json] - eq: [$.data, "{"user": "test", "password": "123456"}"] - eq: [$.origin, 183.193.25.125] - eq: [$.url, /post]
postman 上接口也能抓取如果你之前接口寫在postman 上,想轉成yaml 用例也很簡單,只需執行對應的接口,就可以自動抓取轉成yaml用例了.
常用的參數配置RecoderHTTP
實例化時,可以設置以下幾個參數
filter_host: 抓取的環境地址,可以是多個
ignore_cookies: 是否忽略掉cookies,默認False
save_base_url: 是否在 pytest.ini 保存全局base_url環境地址, 默認False
save_case_dir: 設置用例保存目錄,默認cases
1.默認情況下,只需傳一個參數,抓取的環境地址,可以是一個,也可以是多個
addons = [ RecoderHTTP([""])]
也可以抓取多個環境地址
addons = [ RecoderHTTP(["", "https://www.baidu.com"])]
2.ignore_cookies 是設置是否忽略cookies抓取,默認False
設置為True, 錄制的yaml 用例中不會帶上cookies
3.save_base_url
是否在 pytest.ini 保存全局base_url環境地址, 默認False.默認情況下,每個yaml 用例中在config 添加base_url 環境地址,兼容抓取多個環境的情況
如果只需抓一個環境的地址,設置全局base_url地址,設置save_base_url=True
addons = [ RecoderHTTP([""], save_base_url=True)]
抓取用例時會自動創建pytest.ini文件
[pytest]log_cli = truebase_url =
yaml 用例中不帶base_url了
post_post: request: method: POST url: /post headers: Content-Type: application/json json: user: test password: "123456" validate: - eq: [status_code, 200] - eq: [headers."Content-Type", application/json] - eq: [$.data, "{"user": "test", "password": "123456"}"] - eq: [$.origin, 183.193.25.125] - eq: [$.url, /post]
4.save_case_dir
參數設置用例保存目錄,yaml 用例默認保存目錄cases
2023年第 15期《Python接口自動化+Playwright 》課程,6月24號開學(課程全面升級!)
2020年第三期《python接口自動化+測試開發》課程,4月5號開學(火熱報名中!)
關鍵詞:
您可能也感興趣:
今日熱點
為您推薦
華為的造車“野心”不藏了 環球通訊
智博會工業考察團出海!
外觀和動力均有升級 新款吉利星瑞申報圖 焦點快播
排行
最近更新
- pytest + yaml 框架 -41.postman 和 python代碼自動錄制成yaml用例 焦點熱聞
- 極兔速遞被強制執行1014萬 當前訊息
- IDC:中國數字化轉型支出將以17.9%的年復合增長率增長 當前觀點
- 蘇州科創板上市企業增至50家 占全國近10%
- 時訊:超燃!2023昌樂青年音樂節“嗨翻”夏日
- 【行業觀察】縣域地區弱勢金融消費者群體權益保護工作問題研...
- 全球城市生活成本排名出爐,第一名超上海?生活成本與質量要兼顧
- 每日動態!中考期間,鄭州送考車輛可免費停車!
- 剛剛,南昌城區省級重點高中均衡生招生計劃出爐!|當前最新
- 古道夏葵 茶馬古道詩書畫|天天資訊
- 觀焦點:豆粕:降水引發美豆價格回調,天氣繼續主導行情
- 亞馬遜云科技投資1億美元成立生成式AI創新中心
- 煮玉米別只用清水煮,多加這3樣,玉米個個香甜軟糯,營養不流失
- 舌尖上的告別!西昌學院舉行2023屆畢業生午餐會
- 大商無算(大商百貨) 天天新要聞
- 李世民真的恨魏征嗎?李世民為何要拆掉魏征墓碑? 焦點快報
- 皮城暴龍開局四星爽吃!這可能是最好的連敗五費三星玩法!-全...
- 2022年智利鋰勘查投資4.67億美元|世界獨家
- 每日快訊!劉強演唱歌曲《請你回答》正式發行上線 由斑馬音樂...
- 銷量從100下降到30臺 下半年拐點難尋
- 廣東省吉林商會【新聞快報】-觀熱點
- 環球實時:中央紀委國家監委宣傳部副部長、一級巡視員郝宗強...
- 天天看熱訊:中央氣象臺:今明兩天華北高溫略微減弱
- 【防范非法集資宣傳月】守住錢袋子·護好幸福家
- 農產品(000061.SZ):目前廣東肇慶、四川達州、海南儋州等基地...
- 當前頭條:國網咸陽供電公司:深夜上門搶修 “電”亮心頭暖燈
- 今日視點:愛美客(300896.SZ):“注射用A型肉毒毒素”已完成I...
- 全球關注:最快7月上市,MG Cyberster將亮相古德伍德速度節
- 天天動態:數學差一分滿分 男生考702分想去北大見“韋神”
- 走過20年!QFII發展壯大,超700家機構生根發芽,金融市場對外...
今日要聞
- 每日快訊!劉強演唱歌曲《請你回答》正式發行上線 由斑馬音樂原創出品
- 關注!9個烏克蘭旅將參戰,全由西方訓練 環球要聞
- 當前頭條:國網咸陽供電公司:深夜上門搶修 “電”亮心頭暖燈
- 文化引領 數字賦能 2023南通數字文化產業(成都)推介會 成功舉辦
- 2022年智利鋰勘查投資4.67億美元|世界獨家
- 行駛證過期了多久之內必須更換證件 全球熱文
- 天天最資訊丨游戲囧圖:春麗DT殺手毛衣 小島肯定的靜靜等級
- 世界快報:擁抱5G革命:技術范式轉變
- 世界滾動:2023年畢節社保繳費標準 畢節社保個人需要交多少錢
- pytest + yaml 框架 -41.postman 和 python代碼自動錄制成yaml用例 焦點熱聞