## 框架介绍
本框架主要是基于 Python + pytest + allure + log + yaml + mysql + redis + 钉钉通知 + Jenkins 实现的接口自动化框架。
* git地址: [https://gitee.com/yu_xiao_qi/pytest-auto-api2](https://gitee.com/yu_xiao_qi/pytest-auto-api2)
* 项目参与者: 余少琪
* 技术支持邮箱: 1603453211@qq.com
* 个人博客地址: [https://blog.csdn.net/weixin_43865008](https://blog.csdn.net/weixin_43865008)
如果对您有帮助,请点亮 小星星 以表支持,谢谢
![img.png](Files/image/starts.png)
## 前言
公司突然要求你做自动化,但是没有代码基础不知道怎么做?或者有自动化基础,但是不知道如何系统性的做自动化,
放在yaml文件中维护,不知道如何处理多业务依赖的逻辑?
那么这里 Gitte 中开源的自动化框架,将为你解决这些问题。
框架主要使用 python 语言编写,结合 pytest 进行二次开发,用户仅需要在 yaml 文件中编写测试用例,
编写成功之后,会自动生成 pytest 的代码,零基础代码小白,也可以操作。
本框架支持多业务接口依赖,多进程执行,mysql 数据库断言和 接口响应断言,并且用例直接在yaml文件中维护,无需编写业务代码,
接口pytest框架生成allure报告,并且发送 企业微信通知/ 钉钉通知/ 邮箱通知/ 飞书通知,灵活配置。
## 实现功能
* 测试数据隔离, 实现数据驱动
* 支持多接口数据依赖: 如A接口需要同时依赖B、C接口的响应数据作为参数
* 数据库断言: 直接在测试用例中写入查询的sql即可断言,无需编写代码
* 动态多断言: 如接口需要同时校验响应数据和sql校验,支持多场景断言
* 自动生成用例代码: 测试人员在yaml文件中填写好测试用例, 程序可以直接生成用例代码,纯小白也能使用
* 代理录制: 支持代理录制,生成yaml格式的测试用例
* 统计接口的运行时长: 拓展功能,订制开关,可以决定是否需要使用
* 日志模块: 打印每个接口的日志信息,同样订制了开关,可以决定是否需要打印日志
* 钉钉、企业微信通知: 支持多种通知场景,执行成功之后,可选择发送钉钉、或者企业微信、邮箱通知
* 自定义拓展字段: 如用例中需要生成的随机数据,可直接调用
* 多线程执行
* 支持swagger接口文档转成yaml用例,节省用例编写时间
## 遇到问题
* 请仔细阅读文档,文档中几乎可以帮你避免所有的问题
* 可以添加微信: being_chaoren, 添加微信会将你拉倒自动化交流群中,群内有很多热心的小伙伴,但是前提是希望你已经阅读了文档中的所有内容
* 你也可以请作者为你解答,当然我不是免费的
![img.png](Files/image/wechat.png)
## 目录结构
├── common // 配置
│ ├── conf.yaml // 公共配置
│ ├── setting.py // 环境路径存放区域
├── data // 测试用例数据
├── File // 上传文件接口所需的文件存放区域
├── logs // 日志层
├── report // 测试报告层
├── test_case // 测试用例代码
├── utils // 工具类
│ └── assertion
│ └── assert_control.py // 断言
│ └── assert_type.py // 断言类型
│ └── cache_process // 缓存处理模块
│ └── cacheControl.py
│ └── redisControl.py
│ └── logUtils // 日志处理模块
│ └── logControl.py
│ └── logDecoratrol.py // 日志装饰器
│ └── runTimeDecoratrol.py // 统计用例执行时长装饰器
│ └── mysqlUtils // 数据库模块
│ └── get_sql_data.py
│ └── mysqlControl.py
│ └── noticUtils // 通知模块
│ └── dingtalkControl.py // 钉钉通知
│ └── feishuControl.py // 飞书通知
│ └── sendmailControl.py // 邮箱通知
│ └── weChatSendControl.py // 企业微信通知
│ └── otherUtils // 其他工具类
│ └── allureDate // allure封装
│ └── allure_report_data.py // allure报告数据清洗
│ └── allure_tools.py // allure 方法封装
│ └── error_case_excel.py // 收集allure异常用例,生成excel测试报告
│ └── localIpControl.py // 获取本地IP
│ └── threadControl.py // 定时器类
│ └── readFilesUtils // 文件操作
│ └── caseAutomaticControl.py // 自动生成测试代码
│ └── clean_files.py // 清理文件
│ └── excelControl.py // 读写excel
│ └── get_all_files_path.py // 获取所有文件路径
│ └── get_yaml_data_analysis.py // yaml用例数据清洗
│ └── regularControl.py // 正则
│ └── yamlControl.py // yaml文件读写
│ └── recordingUtils // 代理录制
│ └── mitmproxyContorl.py
│ └── requestsUtils
│ └── dependentCase.py // 数据依赖处理
│ └── requestControl.py // 请求封装
│ └── timeUtils
├── Readme.md // help
├── pytest.ini
├── run.py // 运行入口
## 依赖库
allure-pytest==2.9.45
allure-python-commons==2.9.45
atomicwrites==1.4.0
attrs==21.2.0
certifi==2021.10.8
cffi==1.15.0
charset-normalizer==2.0.7
colorama==0.4.4
colorlog==6.6.0
cryptography==36.0.0
DingtalkChatbot==1.5.3
execnet==1.9.0
Faker==9.8.3
idna==3.3
iniconfig==1.1.1
jsonpath==0.82
packaging==21.3
pluggy==1.0.0
py==1.11.0
pycparser==2.21
PyMySQL==1.0.2
pyOpenSSL==21.0.0
pyparsing==3.0.6
pytest==6.2.5
pytest-forked==1.3.0
pytest-xdist==2.4.0
python-dateutil==2.8.2
PyYAML==6.0
requests==2.26.0
six==1.16.0
text-unidecode==1.3
toml==0.10.2
urllib3==1.26.7
xlrd==2.0.1
xlutils==2.0.0
xlwt==1.3.0
## 安装教程
首先,执行本框架之后,需要搭建好 python、jdk、 allure环境
搭建python教程:[http://c.biancheng.net/view/4161.html](http://c.biancheng.net/view/4161.html)
搭建jdk环境:[https://www.cnblogs.com/zll-wyf/p/15095664.html](https://www.cnblogs.com/zll-wyf/p/15095664.html)
安装allure:[https://blog.csdn.net/m0_49225959/article/details/117194318](https://blog.csdn.net/m0_49225959/article/details/117194318)
如上环境如都搭建好,则安装本框架的所有第三方库依赖,执行如下命令
pip3 install -r requirements.txt
![img.png](Files/image/安装异常.png)
如果在安装过程中出现如下 Could not find a version 类似的异常, 不用担心,可能是因为你安装的python环境
版本和我不一致导致的,直接 pip install 库名称,不指定版本安装就可以了。
如上方截图说没有找到 asgiref==3.5.1,报错的意思是,没有找到3.5.1这个版本,那么直接控制台输入 pip3 install as
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
├── common // 配置 │ ├── config.yaml // 公共配置 │ ├── setting.py // 环境路径存放区域 ├── data // 测试用例数据 ├── Files // 上传文件接口所需的文件存放区域 ├── logs // 日志层 ├── report // 测试报告层 ├── test_case // 测试用例代码 │ ├── __init__.py // 读取测试用例文件,并将测试用例数据写入缓存池 │ ├── conftest.py // 工具函数集合 ├── utils
资源推荐
资源详情
资源评论
收起资源包目录
Python + pytest + allure框架可执行代码 (2000个子文件)
types.c 1.18MB
benchmarking.c 860KB
file.c 609KB
system.c 606KB
network.c 513KB
shell.c 368KB
casts.c 222KB
ink.c 181KB
cstate.c 131KB
python.c 109KB
binding.c 18KB
_buffer.c 12KB
_crypto.c 12KB
_speedups.c 7KB
speedups.c 6KB
_embedding.h 19KB
_cffi_include.h 15KB
parse_c_type.h 6KB
_cffi_errors.h 4KB
calc.htm 4KB
foo2.htm 3KB
mousetrack.htm 2KB
demo_intro.htm 2KB
demo_check.htm 1KB
marqueeDemo.htm 1KB
MarqueeText1.htm 703B
demo_menu.htm 499B
form.htm 481B
docwrite.htm 467B
demo.htm 445B
dbgtest.htm 190B
test1.html 157B
test.html 156B
metadata.json 2KB
metadata.json 1KB
metadata.json 1KB
README.md 39KB
LICENSE.md 1KB
README.md 137B
README.md 121B
fastjsonschema_validations.py 268KB
core.py 219KB
core.py 206KB
uts46data.py 202KB
uts46data.py 200KB
huffman_table.py 165KB
_emoji_codes.py 137KB
more.py 132KB
connection.py 130KB
langrussianmodel.py 128KB
langrussianmodel.py 125KB
descriptor_pb2.py 117KB
more.py 115KB
core.py 110KB
typing_extensions.py 109KB
__init__.py 107KB
__init__.py 107KB
univ.py 106KB
langbulgarianmodel.py 103KB
langbulgarianmodel.py 102KB
langthaimodel.py 101KB
langthaimodel.py 100KB
langhungarianmodel.py 100KB
langhungarianmodel.py 99KB
langgreekmodel.py 97KB
console.py 97KB
langhebrewmodel.py 96KB
langgreekmodel.py 96KB
langhebrewmodel.py 96KB
_make.py 95KB
BIFFRecords.py 95KB
langturkishmodel.py 94KB
langturkishmodel.py 93KB
scanner.py 87KB
typing_extensions.py 85KB
easy_install.py 84KB
antlr.py 82KB
connection.py 81KB
app.py 80KB
typing_extensions.py 78KB
tls.py 76KB
_mapping.py 71KB
constructor.py 71KB
emitter.py 66KB
util.py 66KB
rrule.py 65KB
extensions.py 65KB
recompiler.py 65KB
unistring.py 62KB
tz.py 61KB
protocol.py 60KB
adodbapitest.py 59KB
text_format.py 59KB
decoder.py 58KB
progress.py 58KB
main.py 58KB
_parser.py 57KB
python_message.py 57KB
app.py 55KB
stream.py 53KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
梖梖
- 粉丝: 140
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功