# 基于Python和Django的HttpRunnerManager接口自动化测试平台
## 项目简介
HttpRunnerManager是一个基于Python和Django框架的接口自动化测试平台,集成了HttpRunner、djcelery和Django等技术栈。该平台旨在提供一站式的HTTP(S)接口测试解决方案,支持多项目、多模块、多场景的自动化测试,并具备任务调度、日志管理、报告生成等功能。通过Web界面,用户可以方便地管理项目、模块、用例、场景等,并通过Celery进行异步任务处理,提升测试效率。
## 项目的主要特性和功能
- **项目管理**:支持新增项目、列表展示及相关操作,支持用例批量上传(标准化的HttpRunner json和yaml用例脚本)。
- **模块管理**:为项目新增模块,用例和配置都归属于模块,支持同步和异步方式。
- **用例管理**:分为添加config与test子功能,config定义全部变量和request等相关信息,支持跨项目、跨模块引用用例。
- **场景管理**:动态加载可引用的用例,支持拖拽排序和删除,方便场景组织。
- **运行方式**:支持单个test、单个module、单个project的测试,也可选择多个批量运行,支持自定义测试计划和环境切换。
- **分布执行**:单个用例和批量执行结果直接在前端展示,模块和项目执行可选择同步或异步方式。
- **环境管理**:可添加运行环境,运行用例时可一键切换环境。
- **报告查看**:所有异步执行的用例均可在线查看报告,支持自定义报告名称。
- **定时任务**:支持设置定时任务,遵循crontab表达式,支持邮件通知。
- **持续集成**:支持与Jenkins对接,方便集成到CI/CD流程中。
## 安装使用步骤
1. **安装MySQL数据库**:安装MySQL 5.7+版本,并创建HttpRunner数据库,设置好用户名和密码。
2. **修改配置文件**:修改`HttpRunnerManager/HttpRunnerManager/settings.py`中的数据库配置和邮件发送账号相关配置。
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'HttpRunner', # 数据库名
'USER': 'root', # 数据库用户名
'PASSWORD': 'lcc123456', # 数据库密码
'HOST': '127.0.0.1', # 数据库地址
'PORT': '3306', # 数据库端口
}
}
EMAIL_SEND_USERNAME = '[email protected]' # 发送邮件的邮箱
EMAIL_SEND_PASSWORD = 'password' # 邮箱密码
```
3. **安装RabbitMQ**:安装并启动RabbitMQ消息中间件,访问`http://host:15672/#/`进行配置。
```bash
service rabbitmq-server start
```
4. **配置Celery**:修改`settings.py`中的Celery相关配置。
```python
djcelery.setup_loader()
CELERY_ENABLE_UTC = True
CELERY_TIMEZONE = 'Asia/Shanghai'
BROKER_URL = 'amqp://guest:[email protected]:5672//'
CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TASK_RESULT_EXPIRES = 7200
CELERYD_CONCURRENCY = 10
CELERYD_MAX_TASKS_PER_CHILD = 100
```
5. **安装依赖**:在项目根目录下执行以下命令安装依赖。
```bash
pip install -r requirements.txt
```
6. **生成数据库表结构**:执行以下命令生成数据库迁移脚本并应用。
```bash
python manage.py makemigrations ApiManager
python manage.py migrate
```
7. **创建超级用户**:可选步骤,用于后台管理。
```bash
python manage.py createsuperuser
```
8. **启动服务**:启动Django开发服务器。
```bash
python manage.py runserver 0.0.0.0:8000
```
9. **启动Celery Worker**:如果使用异步任务或定时任务,需启动Celery Worker。
```bash
python manage.py celery -A HttpRunnerManager worker --loglevel=info
python manage.py celery beat --loglevel=info
celery flower
```
10. **访问平台**:在浏览器中输入`http://127.0.0.1:8000/api/register/`注册用户,开始使用平台。
11. **后台管理**:访问`http://127.0.0.1:8000/admin/`,使用超级用户登录进行后台管理。
## 生产环境部署
生产环境建议使用uwsgi和nginx进行部署,具体部署步骤可参考相关文档。
没有合适的资源?快使用搜索试试~ 我知道了~
(源码)基于Python和Django的HttpRunnerManager接口自动化测试平台.zip

共132个文件
py:51个
html:28个
jpg:15个

1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 43 浏览量
2025-04-19
06:39:24
上传
评论
收藏 1.78MB ZIP 举报
温馨提示
# 基于Python和Django的HttpRunnerManager接口自动化测试平台 ## 项目简介 HttpRunnerManager是一个基于Python和Django框架的接口自动化测试平台,集成了HttpRunner、djcelery和Django等技术栈。该平台旨在提供一站式的HTTP(S)接口测试解决方案,支持多项目、多模块、多场景的自动化测试,并具备任务调度、日志管理、报告生成等功能。通过Web界面,用户可以方便地管理项目、模块、用例、场景等,并通过Celery进行异步任务处理,提升测试效率。 ## 项目的主要特性和功能 项目管理支持新增项目、列表展示及相关操作,支持用例批量上传(标准化的HttpRunner json和yaml用例脚本)。 模块管理为项目新增模块,用例和配置都归属于模块,支持同步和异步方式。
资源推荐
资源详情
资源评论






























收起资源包目录





































































































共 132 条
- 1
- 2
资源评论


Java咖啡师
- 粉丝: 1703
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 电子商务选择题+简答论述.doc
- 可控流水灯单片机课程实施方案报告.doc
- 基于云计算的海量数据挖掘研究.docx
- 《计算机应用基础》课程教学大纲.doc
- 5、面向对象的程序设计基础.doc
- 养殖业沼气项目管理相关知识.doc
- 汽车零部件行业技术信息化解决方案.ppt
- 浅析我国智慧城市大数据平台发展现状.docx
- 基于模糊控制算法的温度控制系统的毕业设计.doc
- 电力系统中继电保护自动化技术的应用与实现.docx
- 区块链技术在我国金融科技监管领域的应用研究.docx
- 通信工作中的网络安全威胁因素及防护技术探析.docx
- 全国计算机等级三级信息安全技术试题第二卷.docx
- 人工智能背景下交通工程专业教学改革探索.docx
- (源码)基于环信IM的猿匹配应用.zip
- PPT模板:互联网大数据云计算区块链电子商务高科技行业报告PPT.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
