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用例 焦点热闻