[PPJ_24] 接口自动化测试平台HttpRunnerMana
目录结构
一、HttpRunnerManager简介
二、HTTPRunnerManager下载安装
1.创建HttpRunnerManager数据库
2.下载HttpRunnerManager项目
3.安装依赖文件
1)erlang
2)RabbitMQ
三、HttpRunnerManager配置启动
1.数据库配置
2.安装依赖库文件
3.数据库迁移
4.启动Django服务
5.前台访问HttpRunnerManager系统
一、HttpRunnerManager简介
HttpRunnerManfger:是基于HttpRunmer的接口自动化测试平台,该工具是对HttpRumner的包装和Web图形化。同时还增加了一些新概念(项目/模块)用来组织用例,若对YAML语法、httprunner命令不熟悉,则可使用该平台执行接口自动化测试。
核心特性
- 项目管理:新增项目、列表展示及相关操作,支持用例批最上传(伤标准化的HtpRunner json和yaml用例脚本)
- 模块管理:为项目新增模块,用和配置都归属于module,module和project支持同步和异步方式
- 用例管理:分为添加config与test子功能,config定义全部变量和request等相关信息 request可以为公共参数和请求头,也可定义全部变量
- 场景管理:可以动态加载可引用的用例,跨项目、跨横快,依赖用例列表支持拖拽排序和删除
- 运行方式:可单个test,单个module,单个project,也可选择多个批量运行,支持自定义测试计划,运行时可以灵活选择配置和环境
- 分布执行:单个用例和批量执行结果会直接在前端展示,模块和项目执行可选择为同步或者异步方式
- 环境管理:可添加运行环境,运行用例时可以一键切换环境
- 报告查看:所有异步执行的用例均可在线查看报告,可自主命名,为空默认时间戳保存
- 定时任务:可设置定时任务,遵循crontab 表达式,可在线开启、关闭,完毕后支持邮件通知
二、HTTPRunnerManager下载安装
1.创建HttpRunnerManager数据库
安装Mysql数据库服务端,并设置为utf-8编码,创建相应HttpRunnerManager数据库;设置好相应用户名、密码,启动mysql
本地Mysql的连接账户为:
username:root
password:root
2.下载HttpRunnerManager项目
将HttpRunnerManager项目下载,解压放在任意盘符位置,并重命名为HttpRunnerManager
GitHub项目:https://github.com/HttpRunner/HttpRunnerManager
3.安装依赖文件
HttpRunnerManager支持分布式执行,模块和项目执行可选择为同步or异步方式,因此需要安装相关依赖工具。具体如下:
1)erlang
Erlang是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。
下载传送门:http://www.erlang.org/downloads
ERLANG环境变量配置:
检查环境变量,若未配置则配置erl的环境变量,如下:
新建ERLANG_HOME
变量,值为C:\Program Files\erl10.1
在Path
变量中添加 %ERLANG_HOME%\bin;
2)RabbitMQ
RabbitMQ是一个由Erlang语言开发的AMQP(高级消息队列协议)的开源实现,它支持多个消息传递协议。RabbitMQ可以部署在分布式和联合配置中,以满足高规模、高可用性的需求,另外安装rabbitmq需要先安装erlang。
下载传送门:http://www.rabbitmq.com/download.html
本次将RabbitMQ安装在非默认的目录(C:\Program Files
),因该目录包含有空格,可能会对RabbitMQ服务启用有影响,因此另选无空格的安装路径(如:E:\RabbitMQ
)
RabbitMQ环境变量配置:
检查环境变量,若未配置则配置RabbitMQ的环境变量,如下:
新建RABBITMQ_SERVER
变量,值为E:\RabbitMQ\rabbitmq_server-3.7.9
在Path
变量中添加 %RABBITMQ_SERVER%\sbin;
以上安装完成后,右键选择【RabbitMQ Service - start】,然后以管理员身份运行
可通过访问 http://localhost:15672 进行测试,默认登录账户为:guest / guest
PS:以上若不能正常访问RabbitMQ界面,则需要首先启动其管理模块
确保已切换到RabbitMQ安装目录的sbin目录下,再使用操作命令
(如:C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.9\sbin
)
# 开启RabbitMQ节点
rabbitmqctl start_app
# 开启RabbitMQ管理模块的插件,并配置到RabbitMQ节点上
rabbitmq-plugins enable rabbitmq_management
# 关闭RabbitMQ节点
rabbitmqctl stop
此时,RabbitMQ管理模块的插件已经配置到RabbitMQ节点上。
再次回到浏览器中访问 http://localhost:15672 即可成功打开RabbitMQ管理界面,如下:
以用户名/密码(guest / guest)登录RabbitMQ之后的界面如下:
三、HttpRunnerManager配置启动
1.数据库配置
需要修改的文件:...\HttpRunnerManager\HttpRunnerManager\settings.py
1)修改settings.py
中 DATABASES 的字典、邮件发送账号相关配置
if DEBUG:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'HttpRunnerManager', # 新建数据库名
'USER': 'root', # 数据库登录名
'PASSWORD': 'root', # 数据库登录密码
'HOST': '127.0.0.1', # 数据库所在服务器ip地址
'PORT': '3306', # 监听端口 默认3306即可
}
}
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'), # 静态文件额外目录
)
else:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'HttpRunnerManager', # 新建数据库名
'USER': 'root', # 数据库登录名
'PASSWORD': 'root', # 数据库登录密码
'HOST': '127.0.0.1', # 数据库所在服务器ip地址
'PORT': '3306', # 监听端口 默认3306即可
}
}
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
EMAIL_SEND_USERNAME = '' # 定时任务报告发送邮箱,支持163,qq,sina,企业qq邮箱等,注意需要开通smtp服务
EMAIL_SEND_PASSWORD = '' # 邮箱密码
2)修改settings.py
中 worker 的相关配置
djcelery.setup_loader()
CELERY_ENABLE_UTC = True
CELERY_TIMEZONE = 'Asia/Shanghai'
# 127.0.0.1即为rabbitmq-server所在服务器ip地址
BROKER_URL = 'amqp://guest:guest@127.0.0.1:5672//' if DEBUG else '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 # celery任务执行结果的超时时间,
CELERYD_CONCURRENCY = 1 if DEBUG else 10 # celery worker的并发数 也是命令行-c指定的数目 根据服务器配置实际更改 一般25即可
CELERYD_MAX_TASKS_PER_CHILD = 100 # 每个worker执行了多少任务就会死掉,我建议数量可以大一些,比如200
2.安装依赖库文件
打开cmd命令窗口,切换到HttpRunnerManager目录,安装需要的依赖库文件
pip install -r requirements.txt
本系统使用 pip3 install -r requirements.txt
【备注】requirements.txt 内容为:
Django == 2.0.3
PyYAML == 3.12
requests == 2.18.4
eventlet == 0.22.1
mysqlclient == 1.3.12
django-celery == 3.2.2
flower == 0.9.2
dwebsocket == 0.4.2
paramiko == 2.4.1
HttpRunner == 1.5.8
3.数据库迁移
# 生成数据迁移脚本
python manage.py makemigrations ApiManager
# 应用到Database生成数据表
python manage.py migrate
打开Navicat中查看所创建的数据库httprunnermanager其下生成的数据表:
创建超级用户、用户后台管理数据库,并按提示输入相应用户名、密码、邮箱
Python manage.py createsuperuser
超级用户:
Username: admin
Password: admin123456
Email: admin666.com
4.启动Django服务
python manage.py runserver
5.前台访问HttpRunnerManager系统
以上,Django服务启动成功之后,即可进入到不同的页面:
可尝试注册一个测试账号,如:
Account: test001
Email: test001666.com
Password: 123456
若填写注册信息符合要求,则点击"Register"注册成功后,系统会自动跳转到以下登录界面
输入以上注册的账户信息(test001 / 123456),点击“登录”即可登录成功,界面如下:
可用来管理用例、执行用例、模块管理、测试计划、报告管理...
-
数据库管理后台:
http://127.0.0.1:8000/admin/
输入超级用户的账户(admin / admin123456)即可成功登录,如下: