1. 源码下载

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

下载后放入项目目录,结构如下:

2.依赖环境  根据根目录requirements.txt文件安装依赖,可以使用pip安装,pip install -r requirements.txt

Django == 2.0.3
PyYAML == 3.12
requests == 2.18.4
eventlet == 0.22.1
mysqlclient == 1.3.12
django-celery == 3.2.2
flower == 0.9.2
dwebsocket == 0.4.2
paramiko == 2.4.1
HttpRunner == 1.5.8 3.数据库安装,我安装的是MYSQL 57版本,设置为utf-8编码,创建相应HttpRunner数据库,设置好相应用户名、密码,启动mysql
4.修改源码中settings.py的配置文件

5. rabbitmq消息中间件的安装

可以参考博友的安装文章:https://www.cnblogs.com/tiechui2015/p/10016106.html

启动和关闭命令需要记住:打开sbin目录,双击rabbitmq-server.bat

访问http://localhost:15672

username:guest、Password:guest, 成功登陆即可

如下图:

6.修改配置路径目录如下:修改:HttpRunnerManager/HttpRunnerManager/settings.py里BROKER_URL

7.到这里我们基本都安装完成了。然后我们生成数据库迁移脚本,这里如果之前未使用连接过数据库,可能需要安装pymysql库,同样采用pip安装。

python manage.py makemigrations

然后执行python manage.py migrate 对应HttpRunner数据库生成相应表结构

8.执行python manage.py createsuperuser 根据提示创建输入用户名,邮箱,密码,用于admin后台管理,暂时不用可以先不创建。

9.执行python manage.py runserver启动服务,后面可以接ip和端口号,如0.0.0.0:8000

注意点:以上这些python操作请切换到项目目录下执行。

然后打开web:http://127.0.0.1:8000/api/register/ 注册账号后登录平台

这里我已经添加了project module testcase,截图如上,很漂亮有没有。

10. 然后就是定时任务(也就是异步执行的task),我们需要使用celery,执行脚本:python manage.py celery -A HttpRunnerManager worker --loglevel=info 启动worker

这里遇到了坑。总是会出现报错。我是各种检查,最后终于发现是tornado这个下面的web模块中缺少asynchronous装饰方法,这个是用来执行异步的关键。我各种百度都未查到此类问题,后面想到是不是这个模块升级后改版了,然后我用pip给这个模块降级,安装4.x的版本,重试后问题解决。先前默认安装了最新的版本6.0.1。

解决后启动截图:

[2019-03-20 18:55:02,383: WARNING/Worker-1] ?[32m?[47mINFO    ?[0m ?[32mGenerated Html report: D:\Python36\Scripts\HttpRunnerManager-master\reports\1553079300.h
tml?[0m
[2019-03-20 18:55:02,385: WARNING/Worker-1] ?[32m?[47mINFO    ?[0m ?[32mGenerated Html report: D:\Python36\Scripts\HttpRunnerManager-master\reports\1553079300.h
tml?[0m
[2019-03-20 18:55:02,399: WARNING/Worker-1] ?[32m?[47mINFO    ?[0m ?[32mGenerated Html report: D:\Python36\Scripts\HttpRunnerManager-master\reports\1553079300.h
tml?[0m
[2019-03-20 18:55:02,399: WARNING/Worker-1] ?[32m?[47mINFO    ?[0m ?[32mGenerated Html report: D:\Python36\Scripts\HttpRunnerManager-master\reports\1553079300.h
tml?[0m
[2019-03-20 18:55:04,603: INFO/MainProcess] Task ApiManager.tasks.module_hrun[5a3b0c27-a930-4777-98dd-c4f7683c8ac6] succeeded in 4.5939999999973224s: None
 

直到我启动work,RabbitMQ中间件才有数据,因为定时任务给到中间件后,中间件找不到work服务,阻塞在那里。

11. python manage.py celery beat --loglevel=info 开启定时任务配置

D:\Python36\Scripts\HttpRunnerManager-master>python36 manage.py celery beat --loglevel=info
celery beat v3.1.26.post2 (Cipater) is starting.
__    -    ... __   -        _
Configuration ->
    . broker -> amqp://guest:**@localhost:5672//
    . loader -> celery.loaders.app.AppLoader
    . scheduler -> djcelery.schedulers.DatabaseScheduler
    . logfile -> [stderr]@%INFO
    . maxinterval -> now (0s)
[2019-03-20 18:23:20,603: INFO/MainProcess] Writing entries (0)...
[2019-03-20 18:23:25,951: INFO/MainProcess] Writing entries (0)...
[2019-03-20 18:26:29,964: INFO/MainProcess] Writing entries (1)...
 
12. 执行:celery flower 访问:http://localhost:5555/dashboard 即可查看任务列表和状态  这一步可能还有点问题,暂时不能打开。后续再研究更新。
 
附上定时任务的报告截图:

直至现在,平台基本已经完全通畅,可以开始自动化接口测试。后续将平台搭建到server上去,教程再更新。

Linux服务器部署教程请参考另一篇博客:https://www.cnblogs.com/Sandy-1128/p/HttpRunner-sandy-0323.html

HttpRunner Manager接口自动化测试平台实践(Windows)的更多相关文章

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

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

  2. Linux下搭建接口自动化测试平台

    前言 我们今天来学习一下在Linux下如何搭建基于HttpRunner开发的接口自动化测试平台吧! 需要在Linux上提前准备的环境(下面是本人搭建时的环境): 1,Python 3.6.8 (可参考 ...

  3. Django 接口自动化测试平台

    本项目工程 github 地址:https://github.com/juno3550/InterfaceAutoTestPlatform 0. 引言 1. 登录功能 2. 项目 3. 模块 4. 测 ...

  4. Jmeter+ant+jenkins接口自动化测试 平台搭建(一)

    平台简介 一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成.Jmeter 支持接口的测试,Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可 ...

  5. 接口自动化测试平台 http://120.79.232.23

    接口自动化测试平台 http://120.79.232.23 T Name Latest commit message Commit time .idea 修改自动化用例修改接口时,其他接口信息被删的 ...

  6. 接口自动化测试平台-接入持续集成jenkins

    开篇提到,自动化测试最终期望还是能接入持续集成系统jenkins,下面记录下Go接口自动化测试平台是如何设计接入jenkins的. 回到Go接口自动化测试平台,在web系统中触发测试任务执行的入口为: ...

  7. Jmeter+Ant+Jenkins构建接口自动化测试平台(Windows)

    一.首先先介绍下我的环境: 1. win10系统 2. ant版本:apache-ant-1.10.1(作用:执行脚本,便于后期的持续集成,下载地址:http://ant.apache.org/bin ...

  8. 接口自动化测试框架【windows版】:jmeter + ant + jenkins

    为了提高回归效率及保证版本质量,很多公司都在做自动化测试,特别是接口自动化.接口自动化测试框架很多,有写代码的,也有不写代码的,我觉得没有谁比谁好,谁比谁高级之说,只要适用就好. 今天给大家分享一个不 ...

  9. Apifox(1)比postman更优秀的接口自动化测试平台

    Apifox介绍 Apifox 是 API 文档.API 调试.API Mock.API 自动化测试一体化协作平台,定位 Postman + Swagger + Mock + JMeter.通过一套系 ...

随机推荐

  1. ReactiveX 学习笔记(24)使用 RxCpp + C++ REST SDK 调用 REST API

    JSON : Placeholder JSON : Placeholder (https://jsonplaceholder.typicode.com/) 是一个用于测试的 REST API 网站. ...

  2. unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度

    var arr = [1, 2]; arr.unshift(0); //result of call is 3, the new array length //arr is [0, 1, 2] arr ...

  3. Android中使用commons-codec-1.6.jar 进行Base64编解码出现的问题

    编码时出现异常: java.lang.NoSuchMethodError: No static method encodeBase64String([B)Ljava/lang/String; in c ...

  4. R语言-增加图例

    legend()函数 > plot(rain$Tokyo,type="l",col="red", + ylim=c(0,300), + main=&quo ...

  5. Unity中的点击,长按,划动

    public void GetClickType() { if(Input.GetMouseButtonDown(0)) { if(isGetBeginPos) { beginPosition = I ...

  6. OpenStack 安装:nova服务

    上一篇介绍了glance,并且成功创建了一个镜像,这一篇介绍Nova. 首先创建Nova用户,需要记得先source环境变量,然后创建Nova用户,并设置密码为nova [root@linux-nod ...

  7. Linux yum源配置

    Linux yum源配置 本文介绍Red Hat下yum源配置方法,Redhat使用yum网络源需要购买服务,但是本地yum源不会收费. CentOS用户自带yum源,并且yum不收费. 准备工具: ...

  8. 100-days: sixteen

    Title: The world's most expensive cities 生活成本最高的城市 For the first time in its 30-year history, the Wo ...

  9. 大数据OLAP引擎对比

    Presto:内存计算,mpp架构   PB级别数据 presto适合pb级的海量数据查询分析,不是说把pb的数据放进内存,比如一张pb表,查询count,vag这种有个特点,虽然数据很多,但是最终的 ...

  10. 20175234 2018-2019-2 《Java程序设计》第三周学习总结

    20175234 2018-2019-2 <Java程序设计>第三周学习总结 教材学习内容重难点总结 关于驼峰式的认识 为了增加程序的可读性,除了在代码之间增加注释之外,程序员大都把代码中 ...