Python接口自动化框架

前言:本系列文章记作学习过程

接口自动化框架:Python+Pytest+Yaml(Yaml+CSV)+Allure+Log+Mysql

Git地址:https://gitee.com/make_a_summer/interface.git

项目作者:唐松(挽一夏)

个人邮箱:tasng@foxmail.com (欢迎探讨学习进步)

实现功能

  • 测试数据隔离,实现数据驱动。使用yaml文件,或者yaml-csv文件实现单接口多组数据
  • 支持多接口数据依赖:如A接口需要同时依赖B、C接口的响应数据作为参数。提取接口单个值,提取接口返回列表
  • 数据库断言:直接在测试用例中写入查询的sql即可断言,无需编写代码
  • 动态多断言: 如接口需要同时校验响应数据和sql校验,支持多场景断言
  • 日志模块: 打印每个接口的日志信息
  • 统计接口的运行时长
  • 自定义拓展字段: 如用例中需要生成的随机数据,可直接调用

框架文件目录:

|-common				        	// 辅助类,用于整个测试框架
|	|-debugtalk.py					// 自定义函数供测试脚本调用。生成随机数、日期时间戳等常用的功能
|-config							// 配置
|	|-config.py			        	// 读取项目配置文件-config.yaml		
|	|-config.yaml		  			// 项目配置文件
|	|-extract.yaml		 			// 存储接口数据关联
|	|-setting.py					// 项目基础路径
|-data								// CSV测试文件
|-files								// 上传文件
|-logs								// 日志
|-reports				       		// 测试报告		
|-testcase			                // 测试用例
|-util_tools						// 工具库文件
|	└──db_connector					// 数据库模块
|		└──connectMysql.py			// MySQL工具类
|	└── headle_data			        // 测试文件操作模块
|		└── csv_anlaysis_params.py  // Yaml文件使用CSV格式,进行数据处理
|		└── csv_handler.py			// 读取CSV文件
|		└── yaml_handler.py			// 读取Yaml文件
|	└── other_util					// 其他工具类
|		└── allure_type.py			// Allure报告步骤中,数据格式处理
|		└── genrate_id.py			// 测试用例ID
|	└── yaml_process		        // Yaml文件处理
|		└── yaml_analysis.py	    // Yaml数据规范、替换、发送请求、数据提取、执行断言
|		└── yaml_extract.py			// 处理数据提取
|		└── yaml_replace.py			// 处理数据替换
|	└── assertion_util.py		    // 封装断言
|	└── logger_util.py				// 封装日志
|	└── requests_util.py		    // 封装发送请求
|-conftest.py				        // 运行前之前操作,清空extract.yaml文件
|-pytest.ini				
|-environment.xml					// allure报告中环境配置
|-run.py				       		// 运行入口

接口文档

微信公众号-标签管理:
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
1、登录
2、查询标签
3、创建标签
4、修改标签
5、删除标签
6、文件上传

学习视频推荐

B站up主(测开狗):
配套测试接口,从未接触接口自动化框架者,强烈建议先观看一遍
https://b23.tv/0Qlxedq
七月大佬接口框架:
https://gitee.com/yu_xiao_qi/pytest-auto-api2.git

如何创建用例

创建用例步骤

1、在testcase目录下,新建yaml测试文件
2、写完后新建py文件,用于执行yaml测试文件,实现接口测试

yaml测试文件的格式

-
  name:           # 用例名称
  base_url:       # 用例基础URL
  request: 
    headers:      # 请求头   (可选)
    cookies:      # cookies (可选)
    method:       # 请求方式
    path:         # 接口请求路径
    data:         # 请求参数  (可选)
  extract:        # 提取参数  (可选)
  #extract_list:     # 提取参数列表
  validation:     # 断言

yaml测试文件,必须包含4个一级关键字:

  name(用例名称)、
  base_url(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值