# pytest接口自动化框架 **Repository Path**: forever-youthful-forever-weeping/self_pytest ## Basic Information - **Project Name**: pytest接口自动化框架 - **Description**: 本框架主要基于 Python + pytest + requests + yaml + excel + log + allure,在yaml文件中定义接口信息,在excel中编写测试数据和预期结果,可自动生成单接口用例文件,支持多进程执行用例,支持多接口依赖,简单易上手 (*^_^*) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 3 - **Created**: 2024-06-25 - **Last Updated**: 2025-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: 接口自动化, pytest ## README ## 框架介绍 本框架是基于 Python + pytest + yaml + excel + requests + log + allure 实现的接口自动化 - git地址:https://gitee.com/forever-youthful-forever-weeping/self_pytest.git - 作者邮箱:365389694@qq.com ## 实现功能 - 测试数据隔离,实现数据驱动 - 支持单接口场景和多接口依赖场景 - 自动生成单接口用例文件 - 多种方式断言: 响应全文断言、断言预期值是否等于响应值中的某个值、断言响应值是否包含预期值、数据库断言等 - 详细日志信息 - 多进程执行用例文件 ## 目录结构 ```txt api_detail 项目 模块.yaml 定义接口信息,如:url、method、header等,可以包含多个接口 common api_common_info.yaml 定义接口公共信息,如:host、cookie constant.py 定义常量 db_info.yaml 存放数据库连接信息 settings.py 基础设置,如设置日志对象 files 存放上传文件接口用的文件 log 存放日志文件 report 存放测试报告 testcase 存放测试用例 项目 单接口 多接口 testData 存放测试数据(excel文件) 项目 单接口 多接口 utils 工具类 assertUtils assert_control.py 断言 dbUtils redis_control.py 操作redis mysql_control.py 操作mysql otherUtils create_case_control.py 生成用例 decorator_control.py 装饰器工具 file_control.py 文件操作 response_control.py 接口响应操作 readFileUtils excel_control.py 读取excel文件 yaml_control.py 读取yaml文件 requestUtils request_control.py 发送请求 pytest.ini pytest配置文件 readme.md 帮助文件 requirements.txt 需要安装的库 run.py 运行入口 ``` ## 安装说明 使用本框架之前,需要先安装 python、jdk、allure 安装python教程: [http://c.biancheng.net/view/4161.html](https://gitee.com/link?target=http%3A%2F%2Fc.biancheng.net%2Fview%2F4161.html) 安装jdk教程: [https://www.cnblogs.com/zll-wyf/p/15095664.html](https://gitee.com/link?target=https%3A%2F%2Fwww.cnblogs.com%2Fzll-wyf%2Fp%2F15095664.html) 安装allure教程:https://www.cnblogs.com/strive-2020/p/12630067.html 以上都安装好后,安装本框架所需的第三方依赖库,执行如下命令: ```txt pip3 install -r requirements.txt ``` ## 编写流程 #### 1.定义接口公共信息 ![图1](./files/readme_pic/1.定义接口公共信息.png) #### 2.定义接口信息 ![图2](./files/readme_pic/2.定义接口信息.png) #### 3.定义接口信息 ![图3](./files/readme_pic/3.定义接口信息.png) #### 4.测试数据文件存放位置 ![图4](./files/readme_pic/4.测试数据文件存放位置.png) #### 5.编写测试数据 ![图5](./files/readme_pic/5.编写测试数据.png) #### 6.编写测试数据 ![图6](./files/readme_pic/6.编写测试数据.png) #### 7.自动生成单接口用例文件 ![图7](./files/readme_pic/7.自动生成单接口用例文件.png) #### 8.运行单个用例文件 ![图8](./files/readme_pic/8.运行单个用例文件.png) #### 9.运行所有用例文件 ![图9](./files/readme_pic/9.运行所有用例文件.png) #### 10.手动编写接口依赖用例文件 编写思路:先请求第一个接口,从响应值中获取第二个接口需要的参数,添加到第二个接口从excel读取的请求参数中,再发出请求 ![图10](./files/readme_pic/10.手动编写接口依赖用例文件.png)