• HttpRunnerManager自动化测试安装部署(CentOS)


     

    HttpRunnerManager V2.0此项目是一个基于HttpRunner的接口自动化测试平台,同时HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试任务。

    新版本主要增加了定时任务,异步执行,报告持久化、日志保存以及数据类型支持,QQ群欢迎提问:628448476。

    本文将自行进行安装的步骤进行整理发布,这是在网络参考一些大神发布的文章,同时总结了一些新的问题。

     一、准备环境和安装包

    主要包括:CentOS7.6,HttpRunnerManager V2.0,mysql5.7.26,python3.6.4,Django2.1.2,rabbitmq-server-3.6.8(为了避免兼容问题,强烈建议版本尽可能相同,不同时尽量选更高版本。)

    CentOS建议不要用6.X,会出现各种难以解决的问题,一些安装包的很难解决依赖包和相应版本问题,建议重新用centos7X版本。

    下载可自行百度,个人在此提供以下包下载链接。

    CentOS:https://mirrors.edge.kernel.org/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso(安装教程:https://www.cnblogs.com/clsn/p/8338099.html#auto_id_22)

    HttpRunnerManager V2.0:https://github.com/samasword/HttpRunnerManager或https://github.com/HttpRunner/HttpRunnerManager

    其他一些具体配置时提供了下载方法。

    二、修改项目设置:

      下载的包如果不是zip格式,建议解压后重新压缩成zip,再上传到centos服务器,用yum install -y unzip zip下载zip解压工具,然后用unzip HttpRunnerManager.zip在centos下进行解压。

    1、打开下载后解压的源码包,进入HttpRunnerManager/HttpRunnerManager文件夹下,找到 settings.py打开修改。(修改可在window修改后压缩上传,也可上传后在centos上用vi修改。)

      修改:HttpRunnerManager/HttpRunnerManager/settings.py里DATABASES字典和邮件发送账号相关配置

    DATABASES = {
      'default': {
      'ENGINE': 'django.db.backends.mysql',
      'NAME': 'HttpRunner', # 新建数据库名,自己在数据库新建的一个'HttpRunner'
      'USER': 'root', # 安装的数据库登录名
      'PASSWORD': 'lcc123456', # 安装的数据库登录密码
      'HOST': '127.0.0.1', # 数据库所在服务器ip地址(虚拟机就是虚拟机ip)
      'PORT': '3306', # 监听端口 默认3306即可
      }
    }

    再修改邮箱配置代码:

    EMAIL_SEND_USERNAME = 'username@163.com' # 邮箱地址,定时任务报告发送邮箱,支持163,qq,sina,企业qq邮箱等,注意需要在邮箱设置中开通smtp服务
    EMAIL_SEND_PASSWORD = 'password' # 邮箱的登录密码

    最后修改worker相关配置:

    djcelery.setup_loader()
      CELERY_ENABLE_UTC = True
      CELERY_TIMEZONE = 'Asia/Shanghai'
      BROKER_URL = 'amqp://guest:guest@127.0.0.1:5672//' # 127.0.0.1即为rabbitmq-server所在服务器ip地址(比如我的虚拟机192.168.31.16,那就填下这个ip,端口无需修改)
      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 = 10 # celery worker的并发数 也是命令行-c指定的数目 根据服务器配置实际更改 默认10
      CELERYD_MAX_TASKS_PER_CHILD = 100 # 每个worker执行了多少任务就会死掉,我建议数量可以大一些,默认100

    还要修改HttpRunnerManager目录下requirements.txt:

    将Django == 2.0.3改为Django == 2.1.2,以及删除mysqlclient == 1.3.12

    因为后续会安装这个版本的Django2.1.2,同时mysqlclient需要手动安装

    2、安装数据库(建议cd ../usr/loal后安装软件到根目录的/usr/loal目录下)

    个人觉得可以在linux中/usr/loal/目录下直接用:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm进行下载安装(没有此命令,可以yum isntall wget或百度linux下wget安装方法)

    具体操作参考这篇博客,个人感觉最详细和合理:https://www.cnblogs.com/dengshihuang/p/8029372.html

    3、安装python(建议cd ../usr/loal后安装软件到根目录的/usr/loal目录下)

        a.下载可以在linux中/usr/loal/直接用:wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz ,然后解压,安装

      b.接下来一步步按以下命令执行

    tar -xvf Python-3.6.4.tgz
    cd Python-3.6.4
    ./configure  --with-ssl
    yum install libffi-devel openssl-devel zlib* -y
    make all && make install
    (如果make安装时出现zipimport.ZipImportError: can't decompress data; zlib not availablemake: *** [install] 错误 1)请使用以下命令解决:
      yum install zlib*然后在输入y重新执行:make all && make install 即可)
    make clean
    make distclean
    /usr/local/bin/python3 -V

    输入上一条命令后就会显示版本3.6.4

    c.接下来建立软连接指向到当前系统默认python命令的bin目录,让系统使用新版本python 输入以下命令

    (另一种方法:终端输入sudo vi ~/.bashrc输入i 在最下面加上alias python='python3'Esc :wq 保存最后在终端输入source ~/.bashrc)

      mv /usr/bin/python /usr/bin/python2.7

      (如果出现[root@YlfCenterOS: Python-3.6.4]# mv /usr/bin/python /usr/bin/python2.7 mv: "/usr/bin/python" 与"/usr/bin/python2.7" 为同一文件

      那么执行:rm -rf /usr/bin/python,再执行下面的ls命令就行)

      ln -s /usr/local/bin/python3.6 /usr/bin/python
      再输入:python -V,即可查看当前默认python版本

    d.由于安装python3.6覆盖了系统的2.7,需要更改配置文件才能用yum

    修改yum配置文件vi /usr/bin/yum vi /usr/libexec/urlgrabber-ext-down这两个文件

    把两个文件的头部的#!/usr/bin/python改成#!/usr/bin/python2.7 //改为之前的老版本号

    保存退出,yum即可正常使用。如若有其他命令、软件不能正常使用,仿照yum配置文件的修改方法,修改其配置文件即可。 

    e.更新pip,执行命令:python -m pip install --upgrade pip  然后用pip -V 查看版本是不是19.x.x了。

    f.更新setuptools,执行命令: pip install --upgrade setuptools

    4、安装Django,直接使用pip3进行安装:

      pip3 install Django==2.1.2,安装后可进行验证,输入python,再import后打印版本。

      

      如果安装失败,可以进行以下尝试;

    wget https://www.djangoproject.com/download/2.1.2/tarball/ --no-check-certificate
    tar xzvf Django-2.1.2.tar.gz    # 解压下载包
    cd Django-2.1.2               # 进入 Django 目录
    python setup.py install       # 执行安装命令

      5、安装RabbitMQ

        具体参考:https://www.cnblogs.com/fxcity/p/11041994.html或者https://testerhome.com/notes/2164

        service rabbitmq-server start

      6、安装mysqlclient,执行命令

        ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config

        pip3 install mysqlclient 或者 yum install mysqlclient

        

      说明:上述教程不能保证百分百无问题,遇到问题可以自行百度或评论或发信息至我邮箱835393537@qq.com

          有问题把报错的提示复制一两行进行百度或谷歌搜索解决。

    三、编译运行

      1、在安装RabbitMQ后,确定该服务已启动,确定数据库mysql服务和RabbitMQ服务处于启动状态。

      2、在CentsOS中进入的源码包文件夹HttpRunnerManager下,并确定当前文件夹下是有requirements.txt文件的。

        然后执行:pip install -r requirements.txt

      3、执行:python manage.py makemigrations ApiManager

      4创建超级用户,执行:python manage.py createsuperuser 后台管理数据库(地址:http://192.168.31.16:8000/admin/),并按提示输入相应用户名,密码,邮箱。 如不需用,可跳过此步骤

      5、开启服务,python manage.py runserver 0.0.0.0:8000(ip必须为0.0.0.0,端口8000可自行修改,访问时必须带设置的端口)开启成功如下图。

      说明:Ip为0.0.0.0网上说时为了局域网内其他主机有权限访问,访问时地址是centos的ip加开启服务时设置的端口。

      例如我的centos ip是192.168.31.16,则可以通过以下地址访问相关服务。

      相关地址:http://192.168.31.16:8000/api/login/(登录)

      

           http://192.168.31.16:8000/api/register/(注册)

           http://192.168.31.16:8000/admin/(后台)  

      特此说明下:服务正常启动后,centos虚拟机是服务器,这是主机浏览器还是无法访问的,必须再创建一个window虚拟机,在windows虚拟机中访问,

      具体原因应该是局域网网络问题,暂时没找到解决方案。后续有消息会更新或加在评论区。也望各位指正和提醒一些问题的解决方法。

      网上说无法访问可尝试关闭服务器和本机防火墙试试。

       补充:本人win10主机,后经尝试,可以这样使主机浏览器访问HttpRunnerManager,在防火墙中设置{容许应用通过防火墙-然后选择你访问的浏览器的.exe文件,然后输入地址就可以访问了。}

        

      

    四、问题补充

    1、 后续这个项目具体使用方法参考社区:https://testerhome.com/topics/13295(实际操作)

    2、参考链接:

    1、https://testerhome.com/topics/18498

    2、https://www.cnblogs.com/dengshihuang/p/8029372.html

    3、https://testerhome.com/notes/2164

     

     

  • 相关阅读:
    洛谷 P2580 于是他错误的点名开始了(Trie)
    AcWing 142. 前缀统计(Trie)
    Codeforces Round #646 (Div. 2) E. Tree Shuffling(贪心/树形DP)
    Django form表单|form组件常用字段、校验
    AJAX | json、上传文件、SweetAlert插件
    Django中间件
    Django的Cookie、Session和自定义分页
    Django的ORM操作-FQ-事物
    django-模板引擎进阶
    django-视图函数进阶
  • 原文地址:https://www.cnblogs.com/fxcity/p/11042357.html
Copyright © 2020-2023  润新知