【转】HttprunnerManager接口测试平台

原文:

https://sutune.me/2018/08/05/httprunner/

https://www.cnblogs.com/suitcases/p/10181049.html

 

HttpRunner

简介

HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。

 

HttpRunnerManager

简介

HttpRunnerManager是基于HttpRunner的接口自动化测试平台,该工具是对 HttpRunner的包装和Web图形化, 另外还增加了一些新概念(项目/模块)用来组织用例。
如果对yaml语法格式不熟悉,以及对于httprunner命令不熟悉的可以使用该平台执行接口自动化测试。

项目地址:https://github.com/HttpRunner/HttpRunnerManager

核心特性

  • 项目管理:新增项目、列表展示及相关操作,支持用例批量上传(标准化的HttpRunner json和yaml用例脚本)
  • 模块管理:为项目新增模块,用例和配置都归属于module,module和project支持同步和异步方式
  • 用例管理:分为添加config与test子功能,config定义全部变量和request等相关信息 request可以为公共参数和请求头,也可定义全部变量
  • 场景管理:可以动态加载可引用的用例,跨项目、跨模块,依赖用例列表支持拖拽排序和删除
  • 运行方式:可单个test,单个module,单个project,也可选择多个批量运行,支持自定义测试计划,运行时可以灵活选择配置和环境,
  • 分布执行:单个用例和批量执行结果会直接在前端展示,模块和项目执行可选择为同步或者异步方式,
  • 环境管理:可添加运行环境,运行用例时可以一键切换环境
  • 报告查看:所有异步执行的用例均可在线查看报告,可自主命名,为空默认时间戳保存,
  • 定时任务:可设置定时任务,遵循crontab表达式,可在线开启、关闭,完毕后支持邮件通知
  • 持续集成:jenkins对接,开发中。。。

环境安装

1、安装docker、mysql、rabbitmq并启动

docker search mysql

docker pull mysql:5.7

docker images |grep mysql

docker run -p 3306:3306 --name bj_qa_mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

docker ps

sudo docker exec -it bj_qa_mysql bash

mysql -h 127.0.0.1 -u root -p                    密码123456

CREATE DATABASE HttpRunner DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

 

docker search rabbitMq

docker pull rabbitmq:3.7-management

docker run -d --name rabbitmq -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:3.7-management

cd /var/lib/docker

sudo docker exec -it rabbitmq bash

rabbitmqctl  add_user admin 123456

rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'

2、安装git,拉取代码

git clone https://github.com/HttpRunner/HttpRunnerManager.git

3、修改配置

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

     DATABASES = {
         'default': {
         'ENGINE': 'django.db.backends.mysql',
         'NAME': 'HttpRunner',  # 新建数据库名
         'USER': 'root',  # 数据库登录名
         'PASSWORD': 'lcc123456',  # 数据库登录密码
         'HOST': '127.0.0.1',  # 数据库所在服务器ip地址
         'PORT': '3306',  # 监听端口 默认3306即可
     }
 }

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

      修改:HttpRunnerManager/HttpRunnerManager/settings.py里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地址
    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


4、执行pip install -r requirements.txt 安装工程所依赖的库文件

5、切换到HttpRunnerManager目录(cd /home/HttpRunnerManager) 生成数据库迁移脚本,并生成表结构
    python manage.py makemigrations ApiManager #生成数据迁移脚本
    python manage.py migrate  #应用到db生成数据表


6、创建超级用户,用户后台管理数据库,并按提示输入相应用户名,密码,邮箱。 如不需用,可跳过此步骤
    python manage.py createsuperuser

7、启动服务
    python manage.py runserver 
    python manage.py runserver &          &作用:回到linux控制台服务不会停掉


8、访问并使用

浏览器输入:http://192.168.3.143:8000/api/register/ 注册用户,开始尽情享用平台

浏览器输入:http://192.168.3.143:8000/admin/ 输入步骤6设置的用户名、密码,登录后台运维管理系统,可后台管理数据

 

可选择异步生成测试报告,异步之前需先启动支持异步的相关服务:

1、RebbitMQ信息

浏览器输入:http://192.168.3.143:15672 默认的登陆账号为:guest,密码为:guest 

2、进入到HttpRunnerManager目录,启动worker

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

3、启动任务监控后台

celery flower

 

posted @ 2020-09-30 15:02  Zero116  阅读(401)  评论(0编辑  收藏  举报