zoukankan      html  css  js  c++  java
  • 【转】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
  • 相关阅读:
    学习的成本
    .Net Framework Client Profile 和 .Net Framework的区别[转]
    惆怅的开始
    Android Json解析
    android键盘的Done按钮
    百度地图SDK v2.1.2使用方法
    使用百度地图SDK 这是之前版本 现在的sdk v2-1-2使用方法完全改变
    svn
    Android 图片相关
    Android开发 开启闪光灯 关键代码
  • 原文地址:https://www.cnblogs.com/HYanqing/p/13754587.html
Copyright © 2011-2022 走看看