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-master\HttpRunnerManager-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-master\HttpRunnerManager-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文件邮箱信息修改为刚刚设置的邮箱名称及授权码;再次重启服务,运行用例,就会收到邮件;

HttpRunnerManager(一)--安装的更多相关文章

  1. HttpRunnerManager安装部署

    uname -a cat /etc/redhat-release 1.安装docker.mysql.rabbitmq sudo yum update curl -fsSL https://get.do ...

  2. httprunnermanager安装和配置

    服务端安装mysql数据库(建议5.7以上的,mysql安装教程),设置utf-8编码,创建对应的数据库,设置好相应的用户名,密码,然后启动mysql 下载httprunnermanager 安装ht ...

  3. HttpRunnerManager安装部署(centos7)

    一.安装python3环境 参考 二.安装依赖环境 根据根目录requirements.txt文件安装依赖,可以使用pip安装 #pip3 install -r requirements.txt 会遇 ...

  4. HttpRunnerManager接口测试平台部署在服务器上(Centos + python3.6 + Mysql5.7 + uwsgi + nginx)

    整个思路:HttpRunnerManager + python3.6 + Mysql5.7 + uwsgi + nginx 安装依赖环境,将源代码传到服务器,修改settings,增加uwsgi配置, ...

  5. HttpRunnerManager平台异步生成及展示代码覆盖率报告

    ant+jacoco+jenkins+HttpRunnerManager代码覆盖率统计平台搭建 实现思路通过jenkins构建,并使用HttpRunnerManager异步实现报告更新与展示. 现在整 ...

  6. 基于HttpRunner的接口自动化测试平台HttpRunnerManager(二)

    https://github.com/HttpRunner/HttpRunnerManager HttpRunnerManager Design Philosophy 基于HttpRunner的接口自 ...

  7. HttpRunnerManager接口自动化测试框架在win环境下搭建教程

    近几日一直在研究如何把接口自动化做的顺畅,目前用的是轻量级jmeter+ant+Jenkins自动化测试框架,目前测试界的主流是python语言,所以一直想用搭建一个基于python的HttpRunn ...

  8. HttpRunnerManager 接口自动化测试平台 搭建实践

    一.需要准备的知识点 1. linux: 安装 python3.nginx 安装和配置.mysql 安装和配置 2. python: django 配置.uwsgi 配置 二.我搭建的环境 1. Ce ...

  9. HttpRunnerManager 搭建使用方法

    HttpRunnerManager Design Philosophy 基于HttpRunner的接口自动化测试平台: HttpRunner, djcelery and Django_. HttpRu ...

随机推荐

  1. 二,kubernetes集群的安装初始化

    目录 部署 集群架构示意图 部署环境 kubernetes集群部署步骤 基础环境 基础配置 安装基础组件 配置yum源 安装组件 初始化 master 设置docker和kubelet为自启动(nod ...

  2. C#异步编程研究学习(一)

    可以使用Func<T>或者Action<T>简单实现如: Func<string, string,string,string, int> func = new Fu ...

  3. Java注解demo

    # 为了熟悉了解注解,写的一个小demo# demo的主要功能是扫描一个class中的包含我们自定义注解的方法,然后把他们的返回值放到一个map中 public class QQ { public s ...

  4. flask实现文件的上传

    文件上传过程中,一定要进行文件大小的校验,如果用户上传文件过大,比如:100GB,所以一直在处理这个请求,别的请求进来就无法处理了,所以要限制上传文件的大小. flask中文件上传大小的校验 flas ...

  5. Java 和JavaScript实现C#中的String.format效果

    1.Java实现      /**      * 需要引入com.alibaba.fastjson.1.2.8     * String result2=HuaatUtil.format(templa ...

  6. 我说CMMI之四:CMMI的表示方法--转载

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/dylanren/article/deta ...

  7. 本地安装sass出错问题解析

    2016年3月23日个人博客文章--迁移到segmentfault 安装sass ruby安装因为sass依赖于ruby环境,所以装sass之前先确认装了ruby.先导官网下载个ruby 在安装的时候 ...

  8. 总结c语言

    这个月的总结,我学到的知识虽然不是很多,学的很慢,也不懂什么意思,也没有多加去复习,也许这就是不去敲代码的代价,也只会简单的代码,学的时候真的是找不到思路,觉得这代码跟着老师讲课照着输入进去就可以了, ...

  9. 记二进制搭建k8s集群完成后,部署时容器一直在创建中的问题

    gcr.io/google_containers/pause-amd64:3.0这个容器镜像国内不能下载容器一直创建中是这个原因 在kubelet.service中配置 systemctl daemo ...

  10. JavaScript基础——JavaScript常量和变量(笔记)

    JavaScript常量和变量(笔记) Javascript代码严格区分大小写. javascript暂不支持constant关键字,不允许用户自定义常量. javascript使用var关键字声明变 ...