项目简介
HttpRunnerManager是基于Python和Django框架的接口自动化测试平台,集成了HttpRunner、djcelery和Django等技术栈。该平台提供一站式的HTTP(S)接口测试解决方案,支持多项目、多模块、多场景的自动化测试,具备任务调度、日志管理、报告生成等功能。用户可通过Web界面方便地管理项目、模块、用例、场景等,利用Celery进行异步任务处理,提升测试效率。
项目的主要特性和功能
- 项目管理:支持新增项目、列表展示及相关操作,可批量上传标准化的HttpRunner json和yaml用例脚本。
- 模块管理:能为项目新增模块,用例和配置归属于模块,支持同步和异步方式。
- 用例管理:有添加config与test子功能,config定义变量和request等信息,支持跨项目、跨模块引用用例。
- 场景管理:动态加载可引用用例,支持拖拽排序和删除,便于场景组织。
- 运行方式:支持单个test、module、project测试,也可批量运行,支持自定义测试计划和环境切换。
- 分布执行:单个用例和批量执行结果前端展示,模块和项目执行支持同步或异步。
- 环境管理:可添加运行环境,运行用例时一键切换。
- 报告查看:异步执行用例可在线查看报告,支持自定义报告名称。
- 定时任务:支持设置定时任务,遵循crontab表达式,支持邮件通知。
- 持续集成:支持与Jenkins对接,方便集成到CI/CD流程。
安装使用步骤
安装MySQL数据库
安装MySQL 5.7+版本,创建HttpRunner数据库,设置好用户名和密码。
修改配置文件
修改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 = 'username@163.com' # 发送邮件的邮箱 EMAIL_SEND_PASSWORD = 'password' # 邮箱密码 ```
安装RabbitMQ
安装并启动RabbitMQ消息中间件,访问http://host:15672/#/
进行配置。
bash
service rabbitmq-server start
配置Celery
修改settings.py
中的Celery相关配置。
python
djcelery.setup_loader()
CELERY_ENABLE_UTC = True
CELERY_TIMEZONE = 'Asia/Shanghai'
BROKER_URL = 'amqp://guest:guest@127.0.0.1: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
安装依赖
在项目根目录下执行以下命令安装依赖。
bash
pip install -r requirements.txt
生成数据库表结构
执行以下命令生成数据库迁移脚本并应用。
bash
python manage.py makemigrations ApiManager
python manage.py migrate
创建超级用户(可选)
用于后台管理。
bash
python manage.py createsuperuser
启动服务
启动Django开发服务器。
bash
python manage.py runserver 0.0.0.0:8000
启动Celery Worker
若使用异步任务或定时任务,需启动Celery Worker。
bash
python manage.py celery -A HttpRunnerManager worker --loglevel=info
python manage.py celery beat --loglevel=info
celery flower
访问平台
在浏览器中输入http://127.0.0.1:8000/api/register/
注册用户,开始使用平台。
后台管理
访问http://127.0.0.1:8000/admin/
,使用超级用户登录进行后台管理。
生产环境部署
生产环境建议使用uwsgi和nginx进行部署,具体部署步骤可参考相关文档。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】