CentOS7安装部署HttpRunnerManager接口自动化测试

HttpRunnerManager项目是基于httpRunner的接口自动化测试平台,纯Python语言开发。可实现接口自动化测试、性能测试、监控、Jenkins集成等测试任务。Github上现在HttpRunnerManager已停止维护。

  • 环境准备
    CentOS7;
    Python3.6.4(3.7版本,会有各种问题);
    HttpRunnerManager V2.0;
    Mysql 5.6(推荐Mysql5.7);
    Rabbitmy-server3.6.8。

  • HttpRunnerManager代码下载
    git地址:https://github.com/HttpRunner/HttpRunnerManager 下载后解压到服务器/usr/local目录下

    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目录。
    操作命令:

    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 -V

    [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版本:
    CentOS7安装部署HttpRunnerManager接口自动化测试

  • 数据库准备
    这里使用Mysql5.6,MySQL安装略,这里新建HttpRunnerManager项目的库,登录信息。
    修改HttpRunnerManager配置
    vim HttpRunnerManager/settings.py
    数据库:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'http_runner',
            'USER': 'runner',
            'PASSWORD': 'passwd',
            'HOST': 'localhost',
            'PORT': '3306', 
        }
    }

    rabbitmy-server服务器地址:

    BROKER_URL = 'amqp://guest:[email protected]:5672//' if DEBUG else 'amqp://guest:[email protected]:5672//'

    邮箱配置:

    EMAIL_SEND_USERNAME = '[email protected]'
    EMAIL_SEND_PASSWORD = 'passwd'

    这里修改requirements.txt下的Django == 2.0.3 改为 Django == 2.1.2:
    vim requirements.txt

    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

    这里配置了,操作如下图:
    CentOS7安装部署HttpRunnerManager接口自动化测试
    启动HttpRunnerManager服务,这里后台启动,避免控制台退出,服务也停止。启动服务端口8000,也可使用其他端口,要确保服务端端口不占用。

    python manage.py runserver 0.0.0.0:8000 &
  • 访问
    这里前端用域名使用Nginx代理访问。
    Nginx配置:
    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
    CentOS7安装部署HttpRunnerManager接口自动化测试
    登录后台运维管理系统,可后台管理数据:http://runner.a.com/admin
    域名放问不要用Https,要不然页面显示有问题,因内部分链接是走http的,如内部链接的CDN。
    HttpRunnerManager手册操作说明,可参考HttpRunnerManager作者写的:https://testerhome.com/topics/13295

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章