您的位置:首页 > 理论基础 > 计算机网络

A01_HttpRunner 介绍

2020-04-22 08:32 746 查看

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. 查看自动生成的测试报告

 

 

整个过程简洁、清晰、明了。

 

  • 点赞
  • 收藏
  • 分享
  • 文章举报
捉虫客 发布了7 篇原创文章 · 获赞 0 · 访问量 55 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: