CentOS安装部署HttpRunnerManager V2.0

时间:2019-06-17
本文章向大家介绍CentOS安装部署HttpRunnerManager V2.0,主要包括CentOS安装部署HttpRunnerManager V2.0使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

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

二、修改项目设置:

1、打开下载后解压的源码包,进入HttpRunnerManager/HttpRunnerManager文件夹下,找到 settings.py打开修改。

  修改: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目录下)

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

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

tar -xvf Python-3.6.4.tgz
cd Python-3.6.4
./configure  --with-ssl
yum install libffi-devel -y
make all && make install
make clean
make distclean
/usr/local/bin/python3 -V

(如果安make装时出现zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] 错误 1)

请使用以下命令解决:

yum install zlib*

然后在输入y   Is this ok [y/d/N]: y

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

接下来建立软连接指向到当前系统默认python命令的bin目录,让系统使用新版本python 输入以下命令
mv /usr/bin/python /usr/bin/python2.7 
ln -s /usr/local/bin/python3.6 /usr/bin/python
再输入:python -V,即可查看当前默认python版本

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

  6、安装mysqlclient,执行命令

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

    pip 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 用于用户后台管理数据库,并按提示输入相应用户名,密码,邮箱。 如不需用,可跳过此步骤

  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虚拟机中访问,

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

    

  

四、问题补充

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

原文地址:https://www.cnblogs.com/fxcity/p/11042357.html