# ApiAutoTest-pytest **Repository Path**: wky1990/ApiAutoTest-pytest ## Basic Information - **Project Name**: ApiAutoTest-pytest - **Description**: Python3+pytest+requests实现的接口自动化测试框架 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-04-09 - **Last Updated**: 2025-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ApiAutoTest-pytest ## 介绍 这是一个借助 Python3、pytest 以及 requests 打造的接口自动化测试框架,致力于为接口测试工作提供高效、便捷的解决方案。 ## 软件架构 ### 目录结构 #### config/ 1. config.ini:用于存放项目的各类关键配置信息,例如接口地址、数据库连接等相关参数。 2. env.ini:主要针对不同环境(如开发、测试、生产环境)进行配置,设置相应的环境参数。 #### logs/ *.log:此为项目运行过程中的日志文件,它记录了各种运行信息,对于调试和问题排查起着至关重要的作用。 #### reports/ 1. allure-result/:Allure 测试结果的临时存储目录,这里保存着测试执行后的原始结果数据。 2. allure-report/:Allure 生成的详细测试报告所在的目录,其中包含了丰富的测试信息。 3. html-report/:HTML 格式测试报告的存放目录,以网页形式直观地展示测试结果,方便查看和分析。 #### tests/ conftest.py:这是 pytest 的配置文件,负责定义全局的 fixture 和测试钩子,为测试提供通用的设置和资源,确保测试环境的一致性和可重复性。 #### data/ test_data.yaml:测试数据的集中存储文件,采用 YAML 格式,包含了接口请求所需的参数以及预期的结果等数据,便于数据的管理和读取,提高测试数据的可维护性。 #### test_cases/ test_model.py:测试用例的具体实现模块,这里编写了针对接口的各种功能测试用例,通过调用框架中的其他模块和工具,对接口进行全面的测试,验证其功能的正确性和稳定性。 #### utils/ 1. data_provider.py:数据提供工具模块,其作用是读取和处理测试数据,为测试用例提供准确、有效的数据支持,确保测试用例能够在不同的数据场景下进行测试。 2. log_records.py:日志记录工具模块,专门负责记录项目运行过程中的各种日志信息,包括但不限于错误信息、调试信息等,为后续的分析和调试工作提供有力的依据。 3. db_handler.py:数据库处理工具模块,用于与数据库进行交互操作,例如执行查询语句获取数据、插入新数据、更新现有数据等,在测试中可能用于验证接口操作对数据库的影响,确保数据的一致性和完整性。 4. assertion_with_database.py:结合数据库的断言工具模块,在测试过程中,用于对数据库中的数据进行断言,判断接口操作后数据库中的数据是否符合预期,从而进一步验证接口功能的正确性。 5. assertion_with_expected.py:与预期结果进行断言的工具模块,主要用于验证接口返回的结果与预先设定的预期结果是否一致,是测试用例中判断测试是否通过的重要依据之一。 #### common/ 1. request_manager.py:请求管理模块,负责发送接口请求,可能对 requests 库进行了封装,提供了更方便、简洁的接口请求功能,使得发送请求的过程更加易于管理和维护。 2. config_loader.py:配置加载模块,用于读取 config.ini 和 env.ini 中的配置信息,使项目能够根据不同的配置进行灵活运行,适应不同的环境和需求。 3. headers_manager.py:请求头管理模块,专注于设置和管理接口请求的头部信息,确保请求的正确性和安全性,例如设置认证信息、Content-Type 等头部字段。 4. path_handler.py:路径处理模块,主要负责处理接口请求的路径,可能包括路径的拼接、转换等操作,确保请求能够准确地指向目标接口。 5. login_handler.py:登录处理模块,用于处理与登录相关的接口请求,例如获取登录凭证、验证登录状态等操作,为需要登录权限的接口测试提供支持。 6. deal_with_res.py:结果处理模块,用于对接口返回的结果进行处理,如解析结果数据、提取关键信息等,以便后续进行断言和数据分析。 #### run.py: 项目的运行入口文件,通过执行该文件来启动整个测试执行过程,它负责协调各个模块的运行,按照预定的流程执行测试用例,并生成相应的测试报告。 #### requirements.txt: 项目依赖文件,列出了项目运行所必需的 Python 库及其版本信息,通过该文件可以方便地使用 pip 命令安装项目所需的所有依赖,确保项目在不同环境下能够顺利运行。 ## 安装教程 1. git clone [项目仓库地址] 2. cd ApiAutoTest-pytest 3. pip install -r requirements.txt