pytest + yaml 框架 -40.录制接口转 yaml 用例实现

Posted 上海-悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest + yaml 框架 -40.录制接口转 yaml 用例实现相关的知识,希望对你有一定的参考价值。

前言

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命令就能执行用例了

最后不用了需要关闭电脑上设置的代理功能

以上是关于pytest + yaml 框架 -40.录制接口转 yaml 用例实现的主要内容,如果未能解决你的问题,请参考以下文章

pytest + yaml 框架 -10.allure 生成报告

pytest + yaml 框架 -10.allure 生成报告

pytest + yaml 框架 -9.logging日志输出和保存

pytest + yaml 框架 -8.一个yaml 文件可以支持多个用例了

pytest + yaml 框架 -5.调用内置方法和自定义函数

pytest + yaml 框架 - 3.全局仅登录一次,在用例中自动在请求头部添加Authentication token认证