# hrm2 **Repository Path**: panda26/hrm2 ## Basic Information - **Project Name**: hrm2 - **Description**: http测试用管理和接口管理调试的工具; 基于httprunner和httprunnermanager修改; - **Primary Language**: Python - **License**: MIT - **Default Branch**: hrm4-newui - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-08-03 - **Last Updated**: 2024-08-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README HttpRunnerManager ================= Design Philosophy ----------------- [HttpRunnerManager原项目地址](https://github.com/httprunner/HttpRunnerManager)基于httprunner1.5 [本项目](https://gitee.com/zywstart/hrm2)在原[HttpRunnerManager](https://github.com/httprunner/HttpRunnerManager)的基础上修改,基于httprunner4.3(现已完全不兼容) 基于[HttpRunner](http://cn.httprunner.org/)的接口自动化测试平台: `HttpRunner`_, `djcelery`_ and `Django`_. Key Features ------------ - 项目管理:新增项目、列表展示及相关操作,支持用例批量上传(标准化的HttpRunner json和yaml用例脚本) - 模块管理:为项目新增模块,用例和配置都归属于module,module和project支持同步和异步方式 - 用例管理:分为添加config与test子功能,config定义全部变量和request等相关信息 request可以为公共参数和请求头,也可定义全部变量 - 场景管理:可以动态加载可引用的用例,跨项目、跨模快,依赖用例列表支持拖拽排序和删除 - 运行方式:可单个test,单个module,单个project,也可选择多个批量运行,运行时可以灵活选择配置和环境, - 环境管理:可添加运行环境,运行用例时可以一键切换环境 - 报告查看:所有异步执行的用例均可在线查看报告,可自主命名,为空默认时间戳保存, - 定时任务:可设置定时任务,遵循crontab表达式,可在线开启、关闭,完毕后支持邮件通知,开发中。。。 - 持续集成:jenkins对接,开发中。。。 本地开发环境部署 -------- 使用:`docker run --name httpRunnerManager -p 8000:8000 panda62/http-runner-manager:latest` 详细见:[部署指南:源码、docker](doc/deploy.md) 新手入门手册 ----------- [新手指南(使用原作者的,未更新)](doc/getting_started.md) 回调函数 ----------- [回调函数使用介绍](doc/callback.md) > 回调都需要实现在debugtalk中,不要重复实现,重复实现可能会出现意想不到的问题 ### 其他 MockServer:https://github.com/yinquanwang/MockServer 因时间限制,平台可能还有很多潜在的bug,使用中如遇到问题,欢迎issue, 如果任何疑问好好的建议欢迎github提issue, 或者可以直接加群(628448476),反馈会比较快 ### 各个变量使用优先级 测试步骤配置 > 用例配置 > 配置管理 > 环境配置 > 注意:优先级处理不是整个替换,是使用优先级高的配置中对应的key去替换低优先级配置中的值, > 如果高优先级配置中没有低优先级中的key,这低优先级中的对应配置会保留下来 | 配置位置 | 变量 | 请求头 | 请求参数默认值 | 参数化配置 | hooks | |--------|-----|------|----------|-------|----------| | 环境配置 | 可配置 | 不可配置 | 不可配置 | 不可配置 | 不可配置 | | 配置管理 | 可配置 | 可配置 | 可配置(不可用) | 不可配置 | 可配置(不可用) | | 用例配置 | 可配置 | 可配置 | 可配置 | 可配置 | 可配置 | | 测试步骤配置 | 可配置 | 可配置 | 可配置 | 不可配置 | 可配置 | ### debugtalk与回调 1. 项目中debugtalk中的方法可以自用例配置的时候使用,如:$(func_name(param)); 2. 其中两个特殊的方法before_request、after_request是在调试时回调用(有就使用没有就不使用) 1. before_request(request: dict)参数是字典,字典的内容是requests.request方法发起请求前的参数 2. after_request(response: requests.Response)参数是request请求响应实例 3. 如果要处理响应后的数据请将处理后的数据以非bytes的类型存在request.body上,页面显示会优先取这里的值 ### 问题 1.用例参数化文件上传时是以模块级别保存的,测试使用时是存在测试目录下的,使用的时候可能出现文件名相同导致冲突,后续需要改成使用时也按模块存放 2.多个项目同时执行的时候合并debugtalk文件可能有重复的类或者方法,后续需要校验有重复的执行前就给出提示并停止执行(ast) ### 更新日志 [更新记录](doc/update_log.md)