# test **Repository Path**: palinlin/test ## Basic Information - **Project Name**: test - **Description**: No description available - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-02 - **Last Updated**: 2021-11-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: 自动化接口框架 ## README # test-master #### python安装 请从官网( http://www.python.org )下载`Python **3**`的安装包。 配置环境变量,使python和pip命令都指向最新版本。 系统自带Python 2**不**可使用,请使用官方最新版本。 #### 安装依赖包 请执行以下命令 pip install -r 'requirements.txt' #### 框架介绍 本框架是一套基于pytest+requests+Python3.7+yaml+Allure+Jenkins+docker而设计的数据驱动接口自动化测试框架, pytest 作为执行器,本框架无需你使用代码编写用例,那你可能会担心万一有接口之间相互依赖, 或者说需要登入的token等之类的接口,该如何编写用例呢,在这里告诉你们本框架已经完美解决此问题, 所有的一切将在yaml中进行!!本框架实现了在yaml中进行接口用例编写,接口依赖关联, 接口断言(支持正则校验、json校验、全等校验、数据库校验等,支持组合多种不同的校验类型来验证), 自定义测试用例运行顺序,还有很重要的一点,实现了类jmeter函数助手的功能,譬如生成MD5、SHA1、 随机定长字符串、时间戳等,只需要你在yaml中使用特殊的写法$Function(arg)$,就能够使用这些函数啦, 此外在测试执行过程中,还可以 对失败用例进行多次重试,其重试次数和重试时间间隔可自定义; 而且可以根据实际需要扩展接口协议,目前已支持http接口和webservice接口 #### 技术栈 requests pytest allure yaml json pytest-html logging jenkis docker 函数助手 #### 框架结构 1.config ============> 放置配置文件 test.ini ====> 放置测试环境配置信息如IP地址、数据库等信息 pord.ini ====> 放置线上环境配置信息如IP地址、数据库等信息 pytest.ini ====> pytest的主配置文件,可以改变pytest的默认行为,如运行方式,默认执行用例路径,用例收集规则,定义标记等 2.commom ============> 公共模块 data_parser ====> 解析各类测试数据如json、yaml、ini文件 system_operation ====> 系统操作包,包含命令行/文件系统/硬件/进程操作/远程操作等模块 mytime.py ====> 用于计算时间和日期的实用程序 file.py ====> 所有关于文件系统的操作都将放在这里 get_opt.py ====> 关于命令行的方法应该放在这里 tools ====> 工具包,包含各式各样的公共工具,需要时调用即可 config_parser.py ====> 主配置文件的解析,同时适用于ini格式文件的解析 dict_parser.py ====> 字典相关的处理 string_parser.py ====> 字符串相关的方法 exceptions.py ====> 自定义异常 http_server.py ====> 本地启动HTTP server,用于mock测试 email.py ====> 发送邮件到指定邮箱 mylog.py ====> 日志模块 webhook.py ====> 连接钉钉/飞书API接口自动发送消息到钉钉/飞书群 3.data ============> 存放数据 xxx.yaml ====> 存放yaml文件 xxx.json ====> 存放json文件 xxx.excel ====> 存放excel文件 4.log ============> 存放项目运行产生的日志文件 5. report ============> 存放项目运行生成的报告文件 6.testcase ============> 存放测试用例 7.wizard ============> 基础服务层 interface_base ====> 基础业务方法,case中所有方法的定义都在此处 ddt.py ====> 数据驱动,驱动json与yaml文件 http_base ====> http基类,http初始化操作 http_tool ====> requests请求封装 http_token ====> 获取token供其他接口使用 interface_service ====> 接口业务层 xxx.py ====> 某接口业务 xxx.py ====> 某接口业务 sql_operation ====> 数据库服务 8.conftest.py ============> 存放测试执行的一些fixture配置,实现环境初始化、数据共享以及环境还原等 9.MEMPium.ini ============> 全局配置文件 10.requirements.txt ============> 相关依赖包文件 11.run.py ============> 框架主入口脚本 12.RunTest_windows.bat ============> 测试启动按钮 #### 框架执行流程图 1. xxxx 2. xxxx 3. xxxx #### 框架使用说明 1. xxxx 2. xxxx 3. xxxx