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