HttpRunner 接口自动化简单实践

HttpRunner是一款接口测试开源框架,简洁优雅,是做接口自动化测试很不错的选择

声明:
完整的使用手册请转到 http://cn.httprunner.org/
项目源码:https://github.com/HttpRunner/HttpRunner

1、安装

1.1 命令行pip直接安装就好

1.2 验证安装

命令行输入hrun -V,返回项目版本信息则表明安装成功

2、新建测试项目

这里我用直接通过框架的脚手架工具命令生成目录结构

如:hrun --startproject BaseAccApiTest

这样我们就在当前目前目录下建立了一个测试项目BaseAccApiTest:

3、一个测试用例demo

用例文件描述、detalk文件描述、测试执行方法描述、测试报告描述(内容、log、参数响应等等)
3.1)在BaseAccApiTest\testcases目录下新建一个yml用例文件

3.2)编写用例
我们在新建的yml文件中编写用例信息,如上图:

  • config全局配置项,用于配置此文件中所有用例的公共参数
  • 一个test表示一条具体用例
  • 在debugtalk.py文件配置所有yml文件公用的参数,如:测试服务域名

3.3)用例执行
命令行下,通过hrun执行指定用例文件。如下图所示:用例执行通过,并在当前目录生成测试报告目录及html测试报告


3.4)测试报告
我们在测试报告目录下查看html测试报告

  • 测试报告summary模块中会详细展示测试的执行时间、耗时、用例总数及成功的数量等信息
  • 测试报告detail模块会展示测试用例的详细执行信息
    点开log我们可以看到具体的传参及响应等信息:

5、高级功能

1)用例分层
在我们上面的实例中,新建的项目有两个文件夹没有用到api及suite,他们是干嘛用的呢?
请参考原作者对测试用例分层的描述:
https://testerhome.com/topics/11356

2)报告邮件发送(修改源码)
在查看http指导文档时,看到作者有简单的介绍了下调用邮件服务做接口监控,也就是定时构建并发送测试报告的命令:


因习惯问题,我还是决定用之前框架的方法,直接调用发邮件的函数,只需做到以下几步就好:

  • 将实现好邮件发送功能的mail.py文件丢到python的site-packages文件夹下面的httprunner目录下

  • 在httprunner目录下的task.py文件run方法中加入调用mail中函数的代码

  • 这里把邮件配置信息(发收件人等放在了mail文件中);运行看下结果

  • 打开附件看看

3)压测
httprunner通过直接复用python的开源测试框架LOCUST(关于LOCUST,请点这里
安装完locust后,我们可以直接执行命令来对yml用例中的接口进行压测:

web监控器启动成功,我们点击转到locust的web页面
配置压测参数:

查看压测结果:

压测结果分析及locust工具的使用暂且不表

posted @ 2018-04-07 22:00  发条程  阅读(20157)  评论(3编辑  收藏  举报