Linux下搭建HttpRunnerManager接口测试平台
前言
之前在学习HttpRunner时,我们都是把用例写在 YAML/JSON 中进行维护,使用起来也很方便。其实,现在有不少大佬都喜欢开发自动化测试平台,比如我们今天要搭建的HttpRunnerManager,这就是已开发好的基于HttpRunner开发的接口自动化测试平台。
虽然现在HttpRunnerManager的作者已经停止维护该平台了,但我们仍可以通过搭建HttpRunnerManager来进一步学习,在平台搭建完成后,我们可在平台上直接编写接口自动化测试用例。
需要在Linux上提前准备的环境(下面是本人搭建时的环境):
1,Python 3.6.8 (可参考文章:Linux下安装Python3)
2,MySQL 5.7(可参考文章:Linux下安装MySQL 5.7 )
下载HttpRunnerManager源码
首先,我们直接到 Github 上下载 HttpRunnerManager ,把它下载到本地,或者通过 git 上直接 clone 。在这里,我是先直接下载压缩包。

下载完成,解压后传到Linux服务器上,或者先传到Linux再通过 unzip 命令解压,最后,我们得到如下内容:

安装 requirements.txt 里的依赖包
因为已经在Linux下安装了python3和pip3,因此这里直接通过 pip3 来安装即可。
安装命令:pip3 install -r requirements.txt
输入命令安装后,等待安装完成。我在安装时遇到了如下错误:

上面的报错是在安装 mysqlclient 时报错,在网上查了下,发现原因是Linux系统在装mysql相关的包时要先装依赖包 mysql-devel,因此我们需要先安装 mysql-devel ,命令如下:
yum install mysql-devel
安装之后,再重新安装 requirements.txt 里的依赖包,就不会报错了。
MySQL上创建HttpRunner数据库
接下来,我们需要在MySQL上创建相应HttpRunner数据库,设置好相应用户名、密码,并启动MySQL。下面是我在 Windows 下通过 Navicat 连接MySQL后创建的数据库,名称为 hrun。

创建完成,就可以不用管它了,后面会进行同步数据库,进而得到数据表结构。
修改配置文件
修改 HttpRunnerManager/settings.py 配置文件里DATABASES字典,需要修改的地方(大约在settings.py中第120行左右):

我们本次只修改数据库配置相关的内容,可以通过 vim 命令进行修改,修改之后如下(根据自己实际情况修改):

同步数据库
上面,我们只是创建了一个名称为 hrun 的数据库,但这个数据库下没有任何数据表,现在,我们将同步数据库得到数据表。需要先返回到 HttpRunnerManager 的根目录,在我们这里也就是 HttpRunnerManager-master 目录下。
生成数据迁移脚本:python3 manage.py makemigrations ApiManager
应用到db生成数据表:python3 manage.py migrate

同步数据库完成之后,我们再到 MySQL 中查看,可以发现 hrun 数据库下新增了很多数据表。

创建后台管理员用户
到这里,我们基本的搭建工作已差不多完成。现在,我们创建一个超级用户,并按提示输入相应用户名,密码,邮箱。该用户可用于管理后台数据。
创建后台用户:python3 manage.py createsuperuser

启动Django服务
我们还需要启动Django服务,Django默认端口一般是8000,启动服务的命令如下:
python3 manage.py runserver 0.0.0.0:8000
使用上面的命令,有一个不足的地方,那就是不能在后台运行,因此我们最好通过后台运行的方式来启动Django服务,命令如下:
nohup python3 manage.py runserver 0.0.0.0:8000 >hrun.log 2>&1 &
HttpRunnerManager在后台运行的日志,将输出到 hrun.log 下。
登录HttpRunnerManager
在Linux下启动服务之后,我们将在Windows下进行访问并登录HttpRunnerManager,我们需要检查一下 8000 等端口是否已开放,特别如果是在云服务器上搭建的环境,需要添加安全组规则,否则可能访问不到。
后台管理:http://ip地址:8000/admin/
注册界面:http://ip地址:8000/api/register/
后台运维管理登录界面如下:

输入上一步骤创建的后台用户即可进行后台登录,登录后的界面如下:

HttpRunnerManager用户注册界面如下:

创建普通用户之后,切换到登录界面,如下:

用户登录成功后的主界面:

注意:在上面的主界面中,我们发现界面的样式似乎有些不对劲,这是因为我们从Github上下载的源码有些问题,这里就需要手动修改一下了。


上面 templates/base.html 文件中第23行,需要修改一下,将 http://cdn.amazeui.org/amazeui/2.7.2/css/amazeui.min.css 替换为 http://cdn.bootcss.com/amazeui/2.7.2/css/amazeui.min.css ,替换之后,再次刷新页面,界面样式就正常了,最后显示的界面效果如下:

HttpRunnerManager中,异步执行、定时任务、任务监控等功能,需要搭建RabbitMQ消息中间件等,这些我们在后续再进一步学习吧。
OK,现在我们的HttpRunnerManager接口测试平台已经基本搭建成功了,除了异步执行、定时任务、任务监控等之外,其他的功能都可以使用了。
Linux下搭建HttpRunnerManager接口测试平台的更多相关文章
- Linux下搭建接口自动化测试平台
前言 我们今天来学习一下在Linux下如何搭建基于HttpRunner开发的接口自动化测试平台吧! 需要在Linux上提前准备的环境(下面是本人搭建时的环境): 1,Python 3.6.8 (可参考 ...
- Linux下搭建实现HttpRunnerManager的异步执行、定时任务及任务监控
前言 在之前搭建的HttpRunnerManager接口测试平台,我们还有一些功能没有实现,比如异步执行.定时任务.任务监控等,要完成异步执行,需要搭建 RabbitMQ 等环境,今天我们就来实现这些 ...
- MAC 环境下搭建HttpRunnerManager平台
1 . mac pycharm 创建虚拟环境 https://blog.csdn.net/qq_39806105/article/details/96908584 2. mac 环境下搭建HttpRu ...
- Linux下搭建Lotus Domino集群
Linux下搭建Lotus Domino 集群 本文内容是Linux平台下Lotus Domino服务器部署案例(http://chenguang.blog.51cto.com/350944/1334 ...
- linux下搭建jenkins
为了配合上一篇的ant+jenkins做持续集成,需要在linux环境下搭建一个jenkins平台.网上有很多安装的例子,我主要记录一下自己遇到的问题,真真的是特别惆怅的,每次我遇到的问题都格外多. ...
- MongoDB学习笔记—Linux下搭建MongoDB环境
1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...
- Linux下搭建个人网站
前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站.前端采用了bootstrap框架,后端采用的是PHP,数据库使用的是Mysql.新手第一次在linux下搭建遇见很多问题,在这里分享一 ...
- Linux下搭建PHP环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- Java学习心得之 Linux下搭建Java环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...
随机推荐
- RNN-LSTM讲解-基于tensorflow实现
cnn卷积神经网络在前面已经有所了解了,目前博主也使用它进行了一个图像分类问题,基于kaggle里面的food-101进行的图像识别,识别率有点感人,基于数据集的关系,大致来说还可行.下面我就继续学习 ...
- Linux -- 进程间通信之管道
管道是 Linux 里的一种文件类型,同时也是 Linux 系统下进程间通信的一种方式 创建一个管道文件有两种方式: Shell 下命令 mkfifo + filename,即创建一个有名管道 ...
- 自定制页面跳转时携带原搜索参数的URL
介绍 django自带反向解析生成URL的功能,目的是避免硬编码,较少代码维护的代价. 前端页面使用模板语法,如:{% url "rbac: request menu_list" ...
- 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(3)- Serial ISP模式(blhost)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的Serial ISP模式. 在上一篇文章 Boot配置(ISP Pin, OTP) 里痞子衡为大家 ...
- Matlab交叉验证函数——crossvalind
Generate cross-validation indices 生成交叉验证索引 Syntax语法 Indices = crossvalind('Kfold', N, K) %K折交叉验证 ...
- JAVA中空指针异常报错的几种可能坑你的情况
一.局部变量覆盖掉其他变量导致无法使用. 在做Java客户管理的项目的时候,eclipse报出了个空指针异常的错误,但反复检查也并没感觉出错误,调用的数组给它初始化而且赋值了,但是编译器很顽强的报了一 ...
- 网站出现bug,我深夜被叫醒处理,用一个触发器解决了问题
凌晨两点,我正在睡梦之中,此时电话忽然想起,在漆黑的深夜中显得格外刺耳. 这个时间点电话响了肯定没好事,因为我的手机在夜间模式下,除非被同一个电话号码打三次,否则是静音,因此电话那边的人肯定有急事找我 ...
- 这个七夕节,用Python为女友绘制一张爱心照片墙吧!【华为云技术分享】
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字“加群”,加入华为云线上技术讨论群:输入关键字“最新活动”,获取华为云最新特惠促销.华为云诸多技术大咖.特 ...
- 带着canvas去流浪系列之九 粒子动画【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- 自古逢秋悲寂寥,奈何今秋热成雕?Python使用Pyecharts统计全国温度Top10并绘图
秋词-刘禹锡 自古逢秋悲寂寥, 我言秋日胜春朝. 晴空一鹤排云上, 便引诗情到碧霄. 古人谈及秋天,都是悲凉寂寥,那么-.我好想回到古代的秋天啊!明明到了秋天,为什么最近的气温比夏天还热. 之前做天气 ...