Django(三)接口自动化平台HttpRunnerManager(1)本地部署

前言

本章主要讲述 HttpRunnerManager本地部署

  • 我这里本地是Windows,所以我就在windows下面搭建了

环境:

  • mysql 5.7
  • django 2.0.3
  • python 3.6.8

一、HttpRunnerManager简要介绍

HttpRunnerManager:基于HttpRunner基础上搭建的一个Web版接口自动化测试平台,后端框架用的是 Django

  • 作者目前虽然是 已经没有维护的状态,但是其中一些功能还是比较完善的,我们其实是可以拉下来进行一个对应的学习的

原作者在Readme文档里面其实也写的比较详细了,具体可查阅

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

; 二、本地部署

1、下载源码包,并解压

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

; 2、下载项目相关依赖

cd 到具体目录下
cd E:\HttpRunnerManager-master

安装相关依赖包
pip install -r requirements.txt -i http:

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

3、创建数据库

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

; 4、迁移数据库,并创建超级管理员

迁移数据库
python manage.py makemigrations ApiManager
python manage.py migrate

Django(三)接口自动化平台HttpRunnerManager(1)本地部署
Django(三)接口自动化平台HttpRunnerManager(1)本地部署
创建超级管理员
python manage.py createsuperuser

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

5、运行项目访问

  • 能够正常访问即部署成功
  • 后台管理: http://ip地址:8000/admin/
  • 注册界面: *http://ip地址:8000/api/register/

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

; 三、项目样式问题更改

  • 进入主页面后,发现样式有点问题,这个需要我们去更改一下源码
{#    <link rel="stylesheet" href="http://cdn.amazeui.org/amazeui/2.7.2/css/amazeui.min.css"/>#}

<link rel="stylesheet" href="http://cdn.bootcss.com/amazeui/2.7.2/css/amazeui.min.css"/>

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

四、rabbitMQ安装配置

以上五步完成后,其实基本的功能都可以用了

但是如果要使用 HttpRunnerManager的定时任务发送邮件功能,那我们需要进行 RabbitMQ消息队列的安装配置

1、Erlang下载

  • 由于RabbitMQ服务端代码是使用并发式语言 Erlang编写的, 安装Rabbit MQ的前提是安装Erlang。
  • Erlang下载地址:https://www.erlang.org/downloads

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

; 2、Erlang环境变量配置

2.1、新增ERLANG_HOME环境变量

  • 变量名称:ERLANG_HOME
  • 变量路径:E:\Erlang OTP(你自己安装到的盘)

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

; 2.2、Path中配置

  • 变量名称:Path
  • 变量路径:%ERLANG_HOME%\bin

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

2.3、验证环境

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

; 3、rabbit MQ 下载

3.1、rabbit MQ 安装

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

; 3.2、RabbitMQ-Plugins 安装

cd到你自己的本地rabbitmq/sbin目录
cd E:\RabbitMQ Server\rabbitmq_server-3.10.7\sbin
安装rabbitmq-plugins
rabbitmq-plugins enable rabbitmq_management

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

3.3、运行RabbitMQ

  • 访问: http://localhost:15672/
  • 用户名及密码默认: *guest

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署
Django(三)接口自动化平台HttpRunnerManager(1)本地部署

; 4、rabbit MQ 配置

Django(三)接口自动化平台HttpRunnerManager(1)本地部署
djcelery.setup_loader()
CELERY_ENABLE_UTC = True
CELERY_TIMEZONE = 'Asia/Shanghai'

BROKER_URL = 'amqp://dev:zwc123@192.168.91.45:5672
1、更改为你本地的rabbitmq服务地址
BROKER_URL = 'amqp://guest:guest@127.0.0.1:15672

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 = 1 if DEBUG else 10  # celery worker的并发数 也是命令行-c指定的数目 根据服务器配置实际更改 一般25即可
CELERYD_MAX_TASKS_PER_CHILD = 100  # 每个worker执行了多少任务就会死掉,我建议数量可以大一些,比如200

EMAIL_SEND_USERNAME = 'quanwang.yin@hstong.com'  # 定时任务报告发送邮箱,支持163,qq,sina,企业qq邮箱等,注意需要开通smtp服务
2、更改为你自己的邮箱及授权码
EMAIL_SEND_USERNAME = '739313988@qq.com'  # 定时任务报告发送邮箱,支持163,qq,sina,企业qq邮箱等,注意需要开通smtp服务
EMAIL_SEND_PASSWORD = '授权码'  # 邮箱授权码

五、定时任务配置

1、正常启动

启动worker
python manage.py celery -A HttpRunnerManager worker --loglevel=info

启动定时任务监听器
python manage.py celery beat --loglevel=info

启动任务监控后台
celery flower

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

2、任务启动相关问题解决

2.1、问题一、TypeError: can only concatenate tuple (not “NoneType”) to tuple

  • 原因: celery和Django-celery版本不兼容问题
  • 解决:下载对应兼容的版本

Django(三)接口自动化平台HttpRunnerManager(1)本地部署
pip install celery==3.1.15

pip install django-celery == 3.2.2

2.2、问题二、AttributeError: module ‘tornado.web’ has no attribute ‘asynchronous’

  • 原因: tornado6.1版本太高,需降级兼容
  • 解决:降级tornado

Django(三)接口自动化平台HttpRunnerManager(1)本地部署
pip install tornado==5.1.1

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

2.3、问题三、 ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:15672//: Socket closed

  • 问题描述: 本地Rabbitmq服务已连接,但是启动worker显示连接不上
  • 原因: celery版本问题导致,RabbitMQ版本与celery版本存在不兼容。目前:rabbitmq:3.10.7 、celery:3.1.15
  • 解决: 可选择降级rabbitmq
    rabbit MQ:3.6.10、celery:3.1.26.post2

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

; 六、qq邮箱配置

  • 注意: *password是邮箱授权码

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Django(三)接口自动化平台HttpRunnerManager(1)本地部署

Original: https://blog.csdn.net/Makasa/article/details/126150008
Author: M1kasal
Title: Django(三)接口自动化平台HttpRunnerManager(1)本地部署

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/734425/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球