目录结构
一、HttpRunner简介
二、HttpRunner入门使用
1.安装HttpRunner
2.入门使用
1)测试场景
2)用例设计
3)运行测试
4)测试报告查看
一、HttpRunner简介
HttpRunner:是一款面向HTTP(S)协议的通用测试框架,只需编写维护一份YAML/JSON脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
GitHub项目:https://github.com/HttpRunner/HttpRunner
中文使用手册:http://cn.httprunner.org
框架流程
原理图核心特性
- 继承Requests的全部特性,轻松实现HTTP(S)的各种测试需求
- 测试用例与代码分离,采用YAML/JSON的形式描述测试场景,保障测试用例具备可维护性
- 测试用例支持分层机制,充分实现测试用例的复用
- 测试用例支持参数化和数据驱动机制
- 使用skip机制实现对测试用例的分组执行控制(控制执行与不执行)
- 测试请求支持完善的hook机制(自定义辅助函数进行调用)
- 支持热加载机制,在文本测试用例中轻松实现复杂的动态计算逻辑
- 基于HAR实现接口录制和用例生成功能(har2case)
- 结合Locust框架,无需额外的工作即可实现分布式性能测试
- 执行方式采用CLI调用,可与Jenkins等持续集成工具完美结合
- 测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
- 具有可扩展性,便于扩展实现Web平台化(HttpRunnerManager)
二、HttpRunner入门使用
1.安装HttpRunner
- 安装
pip install httprunner
本次以Python3环境为准,使用命令 pip3 install httprunner
- 检验安装效果
hrun -V
har2case -V
PS:此处的-V
为大写
httprunner、har2case安装 OK
2.入门使用
1)测试场景
测试接口:http://httpbin.org/get
接口类型:GET
2)用例设计
HttpRunner的测试用例支持两种文件格式:YAML和JSON。
本次以YAML为例,如下:
test_httpbin.yml
- config:
name: httpbin api test
request:
base_url: http://www.httpbin.org
- test:
name: get request
request:
url: /get
method: GET
validate:
- eq: [status_code,200]
参数说明:
【config部分】
config
:作为整个测试用例集的全局配置项
name
:接口的名字
【test部分】
test
:对应单个测试用例
name
:test用例的名字
request
:test用例发送http请求的信息(url,method)
url
:请求的路径(若config中有定义base_url,则完整路径是用base_url+url)
method
:请求方法POST、GET...
validate
:完成请求后,所要进行的验证内容。所有验证内容均通过,则该test用例才算通过,否则算失败
3)运行测试
使用hrun执行测试,操作命令为:
hrun F:\Py_Script\api_testing\HttpRunner_test\test_httpbin.yml
执行以上命令,若出现异常提示:
ERROR !!!!!!!!!! exception stage: load tests !!!!!!!!!!
RecursionError: maximum recursion depth exceeded in comparison
则需要将执行测试时所在的盘符切换到与.yml
文件所在路径的相同盘符之下,再执行测试。具体可参看 ==>
4)测试报告查看
以上执行测试完成之后,从提示语"Generated Html report: F:\reports\1543166382.html"可知,测试报告生成的绝对路径为F:\reports\1543166382.html
打开该报告,如下:
查看log日志:包含有请求和响应的数据
网友评论