zoukankan      html  css  js  c++  java
  • HttpRunnerManager(一)--安装

    1、相关地址

    (1)中文文档介绍:https://cn.httprunner.org/

    (2)相关安装包下载地址:链接:https://pan.baidu.com/s/13SP1mFsNKrLK0snRWWIyxA    提取码:prip 

    (3)源码下载地址:https://github.com/HttpRunner/HttpRunnerManager

    (4)参考地址:https://www.cnblogs.com/tiechui2015/p/10017801.html

    2、首先安装python 3.5版本,版本太高,HttpRunner运行会报错;--自行百度安装;

    3、下载源码:https://github.com/HttpRunner/HttpRunnerManager  放在D盘根目录下,并解压;

    4、安装mysql数据库,安装navicat图形界面,创建HttpRunner数据库,设置为utf-8编码,设置好相应用户名、密码;

    5、修改HttpRunnerManager/HttpRunnerManager/settings.py里DATABASES字典相关配置;

    6、rabbitmq安装,参考:https://www.cnblogs.com/tiechui2015/p/10017801.html

    7、在rabbitmq文件夹,打开sbin目录,双击rabbitmq-server.bat;访问http://localhost:15672 ,username:guest、Password:guest, 成功登陆即可

    8、修改:HttpRunnerManager/HttpRunnerManager/settings.py里BROKER_URL = 'amqp://guest:guest@127.0.0.1:5672//'或者将127.0.0.1替换成host

     

    9、安装工程所依赖的库文件-requirements.txt

    打开cmd
    cd D:HttpRunnerManager-masterHttpRunnerManager-master;
    pip install -r requirements.txt;

    requirements.txt详见下面:
    Django == 2.0.3
    PyYAML == 3.12
    requests == 2.18.4
    eventlet == 0.22.1
    HttpRunner == 1.5.8
    django-celery == 3.3.0
    flower == 0.9.3
    dwebsocket == 0.4.2
    paramiko == 2.4.1
    mysqlclient == 1.3.13

      此时可能提示mysqlclient报错,进行下面步骤10;

    10、打开链接:https://pan.baidu.com/s/13SP1mFsNKrLK0snRWWIyxA    提取码:prip 下载文件,解压mysqlclient;

    将mysqlclient-1.3.12-cp35-cp35m-win_amd64.whl拷贝到python的根目录下
    打开cmd
    cd python根目录;
    pip install mysqlclient-1.3.12-cp35-cp35m-win_amd64.whl;
    pip install pymysql;
    cd python根目录下的lib-site packages-django-db-backends-mysql-打开__init__.py;
    填写下面两句并保存
    import pymysql
    pymysql.install_as_MySQLdb()

    11、生成数据库迁移脚本,生成表结构

    打开cmd,进入D:HttpRunnerManager-masterHttpRunnerManager-master;
    python manage.py makemigrations ApiManager #生成数据迁移脚本
    python manage.py migrate  #应用到db生成数据表
    

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

     python manage.py createsuperuser
    

    13、启动服务

    python manage.py runserver 0.0.0.0:8000
    

    14、启动worker, 如果选择同步执行并确保不会使用到定时任务,那么此步骤可忽略

    python manage.py celery -A HttpRunnerManager worker --loglevel=info  #启动worker
    python manage.py celery beat --loglevel=info #启动定时任务监听器
    celery flower #启动任务监控后台

     注意:运行第一条时可能报错,进入python根目录,lib-site packages-djcelery-management-commands-celery.py,将options注释掉,重新打开服务

    运行第二条时,可能出现这样的错误:

    解决步骤:

     15、访问

    1. 访问:http://localhost:5555/dashboard 即可查看任务列表和状态

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

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

    16、一睹为快

    前端界面:

    后端界面:

    rabbitMQ界面:

     Flower监控界面:

    后台服务运行情况

    这几个服务不能关闭!!!!

    注意:

    (1)后台管理界面,点击任务监控,提示不能访问!解决方法:在代码区右键项目HttpRunnerManager-master,find in path,搜索192.168.91.45.所有文件都改为127.0.0.1。

    (2)邮箱收不到邮件,在settings.py设置邮箱,且开启相应邮箱的SMTP服务,邮箱密码为设置的SMTP的密码。

    查看服务报错,说明是SMTP没有开启或者密码设置不对;

    步骤1:以QQ邮箱为例,在QQ邮箱设置-账户-找到POP3等全部开启,用短信验证;

    步骤2:用outlook连接测试,或者其他客户端,打开文件-添加账户-手动设置-POP或IMAP-按图示填写信息--其他设置--点击测试账户设置,如果出现发来的邮件,设置成功;

    步骤3:按照下面修改emails.py文件,并运行,记得把报告路径及名称改为本地(不然会报找不到文件错误,第一个参数写自己上边设置授权码的邮箱,后面一个参数是报告存在的路径及名称),同时smtp_server修改为smtp.qq.com,如果收到邮件,则成功;(详见下面代码)

    import io
    import smtplib
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    
    #from HttpRunnerManager.settings import EMAIL_SEND_USERNAME, EMAIL_SEND_PASSWORD
    
    EMAIL_SEND_USERNAME = 'XXXXX@qq.com'  # 定时任务报告发送邮箱,支持163,qq,sina,企业qq邮箱等,注意需要开通smtp服务
    EMAIL_SEND_PASSWORD = 'XXXXXXX'     # 邮箱密码
    
    def send_email_reports(receiver, html_report_path):
        if '@sina.com' in EMAIL_SEND_USERNAME:
            smtp_server = 'smtp.sina.com'
        elif '@163.com' in EMAIL_SEND_USERNAME:
            smtp_server = 'smtp.163.com'
        else:
            smtp_server = 'smtp.qq.com'   #这里要修改
    
        subject = "接口自动化测试报告"
    
        with io.open(html_report_path, 'r', encoding='utf-8') as stream:
            send_file = stream.read()
    
        att = MIMEText(send_file, "base64", "utf-8")
        att["Content-Type"] = "application/octet-stream"
        att["Content-Disposition"] = "attachment;filename = TestReports.html"
    
        body = MIMEText("附件为定时任务生成的接口测试报告,请查收,谢谢!", _subtype='html', _charset='gb2312')
    
        msg = MIMEMultipart('related')
        msg['Subject'] = subject
        msg['from'] = EMAIL_SEND_USERNAME
        msg['to'] = receiver
        msg.attach(att)
        msg.attach(body)
    
        smtp = smtplib.SMTP()
        smtp.connect(smtp_server)
        smtp.starttls()
        smtp.login(EMAIL_SEND_USERNAME, EMAIL_SEND_PASSWORD)
        smtp.sendmail(EMAIL_SEND_USERNAME, receiver.split(','), msg.as_string())
        smtp.quit()
    
    
    if __name__ == '__main__':
        send_email_reports('XXXXXXX@qq.com', 'D:\HttpRunnerManager-master\HttpRunnerManager-master\reports\1558953180.html')
    #第一个参数是刚刚设置授权码的邮箱,第二个参数是本地路径下的任意文件,只要存在就行,随意设置,这里会作为附件显示在邮箱中

    步骤四:将上面emails.py文件的修改撤销;

    步骤五:将settings.py文件邮箱信息修改为刚刚设置的邮箱名称及授权码;再次重启服务,运行用例,就会收到邮件;

  • 相关阅读:
    2.1.1 Speed Limit
    2.1.2 骑自行车的最短时间
    1.3.1提高实数精度的范例
    1.2.2一个数可以有多少种用连续素数之和表示
    求二倍关系的个数 1.2.1
    求平均值
    原生JS 购物车及购物页面的cookie使用
    基于Jquery的商城商品图片的放大镜效果(非组件)
    商城商品购买数量增减的完美JS效果
    弹性布局各种坑爹兼容
  • 原文地址:https://www.cnblogs.com/feifei-cyj/p/10911688.html
Copyright © 2011-2022 走看看