简介
框架流程
核心特性
·继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
·测试用例与代码分离,采用YAML/JSON的形式描述测试场景,保障测试用例具备可维护性
·测试用例支持分层机制,充分实现测试用例的复用
·测试用例支持参数化和数据驱动机制
·使用 skip 机制实现对测试用例的分组执行控制
·测试请求支持完善的 hook 机制
·支持热加载机制,在文本测试用例中轻松实现复杂的动态计算逻辑
·基于 HAR 实现接口录制和用例生成功能(har2case)
·结合 Locust 框架,无需额外的工作即可实现分布式性能测试
·执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
·测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
·具有可扩展性,便于扩展实现 Web 平台化(HttpRunnerManager)
下载安装
使用pip命令进行安装
pip install httprunner |
安装后效验是否安装成功,可以使用如下命令进行效验:
hrun -V 1.4.2 har2case -V 0.1.8 |
若版本号正常显示,则说明安装正常。
入门使用
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:作为整个测试用例集的全局配置项
·test:对应单个测试用例
·name 这个test的名字
·request 这个test具体发送http请求的各种信息, 如下:
·url 请求的路径 (若config中有定义base_url, 则完整路径是用 base_url + url )
·method 请求方法 POST, GET等等
·validate 完成请求后, 所要进行的验证内容. 所有验证内容均通过该test才算通过,否则失败
运行测试
使用hrun执行测试,如下所示:
C:\Users\Shuqing>hrun D:\api_test\HttpRunner_test\test_httpbin.yml get request INFO GET /get INFO status_code: 200, response_time(ms): 1967.35 ms, response_length: 273 bytes INFO start to validate. . ---------------------------------------------------------------------- Ran 1 test in 1.976s OK INFO Start to render Html report ... INFO Generated Html report: C:\Users\Shuqing\reports\1533092144.html |
查看测试报告
打开html报告如下:
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理