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,里面有各种软件测试+开发资料和技术可以一起交流学习哦。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!