A01_HttpRunner 介绍
A01_HttpRunner 介绍
本系列专题分享,我们以 “自动化接口测试” 为目的,介绍如何通过 HttpRunner 框架进行自动化接口测试。
HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML 或 JSON 脚本,即可实现自动化测试、性能测试、持续集成等多种测试需求。
HttpRunner 是由大疆(是的,无人机的大疆)测试部门开发的开源测试框架,可以方便的支持接口测试。
HttpRunner 是由 Python 语言开发,代码托管于 GitHub 上。
附上官方手册和源码托管地址:
中文手册:https://docs.httprunner.org/
仓库地址:https://github.com/HttpRunner/HttpRunner
前后端分离的开发模式,催生了接口测试的热潮。关于接口测试的定义也是众说纷纭,在我的理解中,接口测试可以类比为“针对后端接口的黑盒测试”。整个测试过程简单来说:
1. 向后端接口或页面发起请求,同时构造各种类型的请求及参数(如有效、无效、最大、最小等)。
2. 接收后端发送回的响应内容,断言其内容是否符合预期。
那么在这个过程中,接口或者被请求页面内部是如何处理的?我们的测试是否覆盖了接口内的所有代码逻辑?这些一般都是看不到的,接口内部的实现细节,对我们而言是一个“黑盒”。
HttpRunner 的主要功能和特性,参考官方说明如下:
- 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
- 测试用例与代码分离,采用YAML/JSON形式描述测试场景,保障用例的可维护性
- 测试用例支持分层机制,充分实现测试用例的复用
- 测试用例支持参数化和数据驱动机制
- 使用 skip 机制实现对测试用例的分组执行控制
- 支持热加载机制,在文本测试用例中轻松实现复杂的动态计算逻辑
- 基于 HAR 实现接口录制和用例生成功能(har2case)
- 结合 Locust 框架,无需额外的工作即可实现分布式性能测试
- 执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
- 测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
- 具有可扩展性,便于扩展实现 Web 平台化(HttpRunnerManager)
HttpRunner 实现接口测试过程简单分为以下三步: 编写测试用例 -> 命令行执行测试用例 -> 自动生成测试报告
先直观的感受一下这个过程吧。
1. 以 YAML 格式编写一个测试用例文件
jxc_login.yml:
[code]- config: name: 这是一个测试用例文件 variables: p_username: admin p_pwd: admin - test: name: 这是测试用例中的一个步骤 - 登录 request: url: http://localhost/myweb/jxc/index.asp?action=login method: POST allow_redirects: False data: username: $p_username pwd: $p_pwd extract: - get_cookies: cookies validate: - eq: [status_code, 302]
2. 通过命令行执行测试用例
在测试用例文件所在目录中,执行命令: hrun jxc_login.yml
3. 查看自动生成的测试报告
整个过程简洁、清晰、明了。
- 点赞
- 收藏
- 分享
- 文章举报
- 自动化测试===Httprunner测试框架介绍
- 常见的http响应头内容介绍
- HttpSessionBindingListener接口介绍
- HTTP调试工具:Fiddler介绍
- dto简单应用介绍 http://blog.csdn.net/visant
- 介绍几本数学书 转自:http://shaoweicai.wordpress.com/2009/12/21/%E3%80%90%E8%BD%ACmit%E5%A4%A7%E7%89%9B%E5%8D%
- 开源性能测试工具 - Apache ab 介绍 ---http://www.cnblogs.com/jackei/archive/2006/07/18/454144.html
- [转]Http Module 介绍
- 2.1 关于HTTP协议的几点介绍
- Http头介绍:Expires,Cache-Control,Last-Modified,ETag
- HTTP 协议的 8 种请求类型介绍
- 写给后端程序员的HTTP缓存原理介绍--怎样决定一个资源的Cache-Control策略呢
- 【C#.NET】Http Handler 介绍---(转)
- PHP PEAR HTTP相关Package介绍
- Apache HTTP Server 与 Tomcat 的三种连接方式介绍
- ASIHTTPRequest使用介绍
- Spring HTTP Invoker使用介绍
- HTTP服务端接口模拟工具-HttpServerMockTool 1 工具功能介绍 这个工具可以通过简单的配置达到快速模拟第三方HTTP服务端接口的作用,替代以前要手写servlet代码再放到to
- HTTP协议中GET、POST和HEAD的介绍
- HTTP缓存原理介绍