Go to file
zy7y 6601c58333
Update README.md
2021-11-15 20:32:12 +08:00
api 移除保存响应字段,新增提取参数栏,按照{参数名: jsonpath} 语法从当前响应提取值放到参数池,其他用例使用`${参数名}`,详细见更新日志 2021-05-19 12:31:25 +08:00
backup_sqls 增加测试前数据库备份/测试后数据恢复(支持linux服务器部署mysql, linux下docker部署的mysql服务) 2021-01-19 18:55:59 +08:00
config Update config.yaml 2021-05-29 21:10:59 +08:00
data update case 2021-05-19 13:34:30 +08:00
log 增加自定义方法调试用例,用例中使用自定义方法说明,上传实例运行日志 2021-02-27 15:28:35 +08:00
report eval``语法糖注释内容,实例报告文件内容 2021-01-27 14:22:42 +08:00
test update test/conftest.py. 2021-05-17 10:06:32 +08:00
tools 解决捕获到响应结果无法被序列化的请求报错问题 2021-05-23 15:03:53 +08:00
.gitignore requests+pytest+allure+jsonpath接口自动化测试框架 2020-08-03 16:15:03 +08:00
LICENSE add LICENSE. 2020-12-16 10:11:48 +08:00
README.md Update README.md 2021-11-15 20:32:12 +08:00
requirements.txt 接口录制功能 2021-05-22 11:21:55 +08:00
run.py 优化示例用例,AutoPEP8 规范格式化代码 2021-04-19 13:03:55 +08:00
项目实战接口文档.md update 项目实战接口文档.md. 2020-08-12 02:50:42 +08:00

README.md

使用Python为语言工具 + Python第三方库 实现的接口自动化测试工具

IsXMnO.png

配套资源(点击即可跳转)

实现功能

  • 测试数据隔离: 测试前后进行数据库备份/还原
  • 接口直接的数据依赖: 需要B接口使用A接口响应中的某个字段作为参数
  • 对接数据库: 讲数据库的查询结果可直接用于断言操作
  • 动态多断言: 可(多个)动态提取实际预期结果与指定的预期结果进行比较断言操作
  • 自定义扩展方法: 在用例中使用自定义方法(如:获取当前时间戳...)的返回值
  • 邮件发送将allure报告压缩后已附件形式发送
  • 接口录制录制指定包含url的接口,生成用例数据

依赖库

allure-pytest==2.8.17		# allure报告
jsonpath==0.82				# json解析库
loguru==0.5.1				# 日志库
pytest==6.0.1				# 参数化
PyYAML==5.3.1				# 读取ymal
requests==2.24.0			# 请求HTTP/HTTPS
xlrd==1.2.0					# 读取excel
yagmail==0.11.224			# 发送邮件
PyMySQL==0.10.1				# 连接mysql数据库
pytest-rerunfailures==9.1.1	# 用例失败重跑
paramiko==2.7.2				# SSH2 连接
xlwt==1.3.0                 # 写excel 用例文件
mitmproxy==6.0.2            # 抓包工具

目录结构

├─api
│  └─client.py	# 请求封装
├─backup_sqls  
│  └─xxx.sql		# 数据库备份文件
├─config
│  └─config.yaml	# 配置文件
├─data
│  └─test_data.xlsx	# 用例文件
├─log
│  └─run...x.log	# 日志文件
├─report
│  ├─data
│  └─html			# allure报告
├─test
│  ├─conftest.py	# 依赖对象初始化
│  └─test_api.py	# 测试文件
├─tools		# 工具包
│  ├─__init__.py		# 常用方法封装
│  ├─data_clearing.py	# 数据隔离
│  ├─data_process.py	# 依赖数据处理
│  ├─db.py				# 数据库连接对象
│  ├─hooks.py			# 自定义扩展方法(可用于用例)文件 
│  ├─read_file.py		# 用例、配置项读取
│  ├─recording.py		# 接口录制,写入用例文件
│  └─send_email.py		# 邮件发送、报告压缩
├─项目实战接口文档.md	   # 配套项目相关接口文档
├─requirements.txt		 # 项目依赖库文件
└─run.py	# 主启动文件

接口服务

服务提供者:https://space.bilibili.com/283273603?spm_id_from=333.788.b_636f6d6d656e74.6

Jenkins集成

https://www.cnblogs.com/zy7y/p/13448102.html

视频

version1.0 版本-B站https://www.bilibili.com/video/BV1pv411i7zK/

master版本-B站: https://www.bilibili.com/video/BV1rr4y1r754