# tc_api_test-shared_vars-接口自动化测试框架:Python+Requests+Pytest+Allure+YAML **Repository Path**: tianjianchao/tc_api_test-shared_vars ## Basic Information - **Project Name**: tc_api_test-shared_vars-接口自动化测试框架:Python+Requests+Pytest+Allure+YAML - **Description**: 个人接口自动化测试代码 Python+Requests+Pytest+Allure+YAML 已脱敏 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 3 - **Created**: 2024-04-16 - **Last Updated**: 2026-01-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 接口自动化测试框架:Python+Requests+Pytest+Allure+YAML **一、背景** 针对本公司的现状,需完善测试流程,采用自动化测试的方式来提高测试效率 **二、目标** 可通过自动化通用测试框架可以进行各个项目的接口测试 **三、整体方案** 本项目实现接口自动化的技术选型:**Python+Requests+Pytest+YAML+Allure+Log** ,通过 Python+Requests 来发送和处理HTTP协议的请求接口,使用 Pytest 作为测试执行器,使用 YAML 来管理测试数据,使用Logging来记录日志信息,使用 Allure 来生成测试报告。 **四、目标** ​ 1)本项目在实现过程中,把整个项目拆分成请求方法封装、HTTP接口封装、参数化驱动测试、测试用例等模块。 ​ 2)首先利用Python把HTTP接口封装成Python接口,接着把这些Python接口组装成一个个的关键字,再把关键字组装成测试用例,而测试数据则通过YAML文件进行统一管理,然后再通过Pytest测试执行器来运行这些脚本,并结合Allure输出测试报告。 ​ 3)项目地址 1. ​ a. gitlab地址:* **五、项目代码工程构建思路** ​ 设计框架的原则: ``` 1.封装基类方法 2.对于一些较通用的方法,可以封装,比如发送请求、增、删、改、查。 3.高内聚低耦合 4.每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码。 5.模块与模块之间接口的复杂程度尽量低,比如在类内部尽可能减少方法之间的调用,否则一个方法的变动会影响调用它的另一个方法。 6.脚本分离 7.业务代码、测试数据应该相互剥离、灵活调用。 ``` **六、项目代码工程结构** ``` - common #包文件,公共模块,存放一些通用方法 - load_yaml.py # 读取yaml配置文件 - load_config_home(加载config_HOST yaml文件) - load_test_cases(# 加载测试用例数据 yaml) - logger_util.py # 日志公共方法封装 - requests_util.py # 通用发送请求方法封装 - configs #包文件,存放配置 - config.yaml - base_url='xxx' #用于切换域名环境 - data #文件夹,存放数据/测试用例 - xxx.yaml test_cases: - name: 登录用例-正向-01 method: POST url: '/login/admin_login' # url拼接路径 params: # 传入的参数 name: admin password: Adm1n@2023 assertions: # 断言 - key: status_code value: 200 # 断言状态为200 - key: status value: 0 # 断言status = 0 - testCase #包文件,存放代码,注意符合pytest命名规范 - test_case.py # 存放了一些代码逻辑,加载yaml文件、参数化驱动、发送请求、验证断言逻辑代码 - outFiles #文件夹,输出文件 - logs #存放log文件 - report #存放报告 - html index.html # 可查看测试报告 - pytest.ini # pytest的配置文件,用于设置pytest的运行参数 - requirements.txt # 项目相关依赖包 - run.py # run执行方法,用来执行测试用例,可指定执行测试用例,生成测试报告 ``` **七、项目部署** 首先,下载项目源码后,创建测试环境,执行如下命令: ``` virtualenv venv ``` 进入虚拟环境 ``` .\venv\Scripts\activate ``` 在根目录下找到 requirements.txt文件,然后通过 pip 工具安装 requirements.txt 依赖,执行命令: ``` pip3 install -r requirements.txt ``` 接着,在Windows环境下,安装相应依赖之后,在命令行窗口执行命令: 运行方式: ``` a.直接run.py运行 b.命令行:pytest ``` **八、项目使用与测试报告展示** ​ windows本地测试报告部署与展示 ​ 第一步:安装jdk并配置java-home:详阅https://blog.csdn.net/m0_67391521/article/details/126582571 ​ 第二步:安装allure并配置: ​ 1. 下载地址:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.19.0/allure-commandline-2.19.0.zip ​ 2. 解压并进入bin目录下,运行allure.bat,闪现以下说明安装成功 ​ 3. 配置环境变量: 1. ​ a. 环境变量- 2. ​ b. 系统变量- 3. ​ c. path 4. ​ d. 新建 5. ​ e. 输入allure安装目录下的bin 6. 检验: 7. a. win+R输入cmd 8. b. 执行 allure --version 命令,出现版本号即成功 9. **九、运行用例后,会得到一个测试报告文件,outFiles/report/html/index.html 可以查看HTML测试报告报告,outFiles/logs 也会输出详细日志信息** 1. 2.