HttpRunnerManager项目是基于httpRunner的接口自动化测试平台,纯Python语言开发。可实现接口自动化测试、性能测试、监控、Jenkins集成等测试任务。Github上如今HttpRunnerManager已中止维护。html
环境准备
CentOS7;
Python3.6.4(3.7版本,会有各类问题);
HttpRunnerManager V2.0;
Mysql 5.6(推荐Mysql5.7);
Rabbitmq-server3.6.8。前端
HttpRunnerManager代码下载
git地址:https://github.com/HttpRunner/HttpRunnerManager 下载后解压到服务器/usr/local目录下python
root@migration-qa-srv HttpRunnerManager-master]# ll 总用量 56 drwxr-xr-x 6 root root 4096 8月 15 14:40 ApiManager drwxr-xr-x 3 root root 4096 8月 16 11:53 HttpRunnerManager drwxr-xr-x 2 root root 4096 7月 11 13:13 images -rw-r--r-- 1 root root 1079 7月 11 13:13 LICENSE drwxr-xr-x 2 root root 4096 7月 11 13:13 logs -rw-r--r-- 1 root root 815 7月 11 13:13 manage.py -rw-r--r-- 1 root root 9488 7月 11 13:13 README.md -rw-r--r-- 1 root root 188 8月 15 17:12 requirements.txt drwxr-xr-x 3 root root 4096 7月 11 13:13 static drwxr-xr-x 2 root root 4096 8月 16 11:08 suite drwxr-xr-x 2 root root 4096 8月 16 10:22 templates -rw-r--r-- 1 root root 274 7月 11 13:13 uwsgi.ini
Python3.6环境准备
下载Python3.6版本。wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz 。
安装到/usr/local目录。
操做命令:mysql
tar -xzvf Python-3.6.4.tgz cd Python-3.6.4 ./configure --prefix=/usr/local/python3.6 make & make install ln -s /bin/python /usr/local/python3.6/bin/python3.6 ln -s /bin/pip /usr/local/python3.6/bin/pip3.6 pip -V python -V
安装python3.6覆盖了系统默认的python2.7,yum要可用,需更改yum的配置文件。修改yum配置文件 /usr/bin/yum、/usr/libexec/urlgrabber-ext-down这两个文件,将两个文件的头部的“#!/usr/bin/python”改为“#!/usr/bin/python2.7”。改成以前的老版本号。这样,yum可正常使用了。
更新pip,python -m pip install --upgrade pip
用pip -V命令查看最新版本:
pip版本查看:pip -Vgit
[root@migration-qa-srv python3.6]# pip -V pip 19.2.2 from /usr/local/python3.6/lib/python3.6/site-packages/pip (python 3.6)
查看安装的Django版本:github
数据库准备
这里使用Mysql5.6,MySQL安装略,这里新建HttpRunnerManager项目的库,登陆信息。
修改HttpRunnerManager配置
vim HttpRunnerManager/settings.py
数据库:web
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'http_runner', 'USER': 'runner', 'PASSWORD': 'passwd', 'HOST': 'localhost', 'PORT': '3306', } }
rabbitmq-server服务器地址:sql
BROKER_URL = 'amqp://guest:guest@127.0.0.1:5672//' if DEBUG else 'amqp://guest:guest@127.0.0.1:5672//'
邮箱配置:数据库
EMAIL_SEND_USERNAME = 'helpdesk@qq.com' EMAIL_SEND_PASSWORD = 'passwd'
这里修改requirements.txt下的Django == 2.0.3 改成 Django == 2.1.2:
vim requirements.txtdjango
Django == 2.1.2 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
安装工程所依赖的库文件requirements.txt。小心这有N多坑。
pip install -r requirements.txt
安装RabbitMq
下载地址(https://www.rabbitmq.com/install-rpm.html
操做命令:
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.8/rabbitmq-server-3.6.8-1.el7.noarch.rpm
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
yum install rabbitmq-server-3.6.8-1.el7.noarch.rpm
配置RabbitMQ,启动RabbitMQ服务
systemctl start rabbitmq-server.service
HttpRunnerManager安装服务启动
生成数据库迁移脚本,并生成表结构
python manage.py makemigrations ApiManager #生成数据迁移脚本 python manage.py migrate #应用到db生成数据表
建立超级用户,用户后台管理数据库,并按提示输入相应用户名、密码、邮箱。 如不需用,可跳过此步骤。
python manage.py createsuperuser
这里配置了,操做以下图:
启动HttpRunnerManager服务,这里后台启动,避免控制台退出,服务也中止。启动服务端口8000,也可以使用其余端口,要确保服务端端口不占用。
python manage.py runserver 0.0.0.0:8000 &
upstream runner { server 127.0.0.1:8000; } server { listen 80; server_name runner.a.com; access_log /data/logs/http-runner.alaxiaoyou.com-access.log main; error_log /data/logs/http-runner.alaxiaoyou.com-error.log error; client_max_body_size 1024M; location / { proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_buffer_size 64k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_max_temp_file_size 512m; proxy_connect_timeout 1800; proxy_read_timeout 1800; proxy_send_timeout 1800; proxy_pass http://runner; #expires -1; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
注册用户访问:http://runner.a.com/api/register
登陆后台运维管理系统,可后台管理数据:http://runner.a.com/admin
域名放问不要用Https,要否则页面显示有问题,因内部分连接是走http的,如内部连接的CDN。
HttpRunnerManager手册操做说明,可参考HttpRunnerManager做者写的:https://testerhome.com/topics/13295