文档章节

HttpRunner Manager接口自动化测试平台实践(Windows)

o
 osc_y8yehimr
发布于 2019/03/20 19:03
字数 951
阅读 10
收藏 0

精选30+云产品,助力企业轻松上云!>>>

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



o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

pyhon

cython 相关的帖子. http://blog.behnel.de/categories/cython.html https://www.nexedi.com/ 我们追求的价值观 家 多核Python HTTP服务器(比Go更快)(破坏者:Cython) 价值观 当让-保罗·...

MtrS
12分钟前
9
0
多处理与线程Python - Multiprocessing vs Threading Python

问题: I am trying to understand the advantages of multiprocessing over threading . 我试图了解多处理优于线程的优势。 I know that multiprocessing gets around the Global Interpret......

法国红酒甜
17分钟前
9
0
格式编号始终显示2个小数位 - Format number to always show 2 decimal places

问题: I would like to format my numbers to always display 2 decimal places, rounding where applicable. 我想将数字格式化为始终显示2个小数位,并在适用的情况下四舍五入。 Examples...

富含淀粉
今天
22
0
Docker可视化工具Portainer

1 前言 从没想到Docker也有可视化的工具,因为它的命令还是非常清晰简单的。无聊搜了一下,原来已经有很多Docker可视化工具了。如DockerUI、Shipyard、Rancher、Portainer等。查看对比了一番...

南瓜慢说
今天
20
0
日志系统新贵 Loki,真香!!

最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。...

庞陆阳
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部