当前位置:   article > 正文

API测试工具-HttpRunner

API测试工具-HttpRunner

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客文章浏览阅读3k次,点赞86次,收藏13次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……_软件测试刷题小程序​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502icon-default.png?t=N7T8https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502

1、前言

目前市场上存在众多 API 测试工具,例如 Postman、SoapUI、JMeter 等,它们各具特色,广泛应用于 API 的开发与测试工作。

本文将介绍一款 API 测试工具 - HttpRunner,以其简单易用,功能强大,具有丰富的插件化机制和高度的可扩展能力脱颖而出。

2、简介

HttpRunner 是一款开源的 API 测试工具,兼容 HTTP(S)、HTTP2、WebSocket、RPC 等多种网络协议,支持接口测试、性能测试、数字体验监测等多种测试类型。它操作简便,功能全面,拥有丰富的插件系统和卓越的扩展性。

图片

功能特点:

1、全面支持网络协议:不仅完整支持 HTTP(S)/1.1 和 HTTP/2,还能灵活扩展至 WebSocket、TCP、RPC 等多种协议。

2、多样化的测试用例格式:支持 YAML、JSON、go test、pytest 等多种格式,且可轻松实现格式之间的转换。

3、双重执行引擎:集成了 golang 和 python 两种执行引擎,既保证了go 的高效性能,也享受了 pytest 丰富的生态系统。

4、便捷的用例生成方式:支持通过 HAR、Postman、Swagger、curl 等工具生成测试用例,同时提供基于链式调用的编写方法,简化测试用例的编写过程。

5、应对复杂测试场景:借助 variables、extract、validate、hooks 等机制,轻松构建复杂的测试场景。

6、插件化扩展:内置了丰富的函数库,并支持使用 go、python、java 等主流编程语言编写自定义函数,轻松扩展更多功能。

7、高效的性能测试:无需额外设置即可进行压力测试,单机轻松支持超过1万 VUM,配合分布式负载能力,可实现大规模压力测试。

8、网络性能监测:在进行场景化接口测试的同时,还能额外监测网络链路的性能指标,如 DNS 解析、TCP 连接、SSL 握手、网络传输等。

9、一键快速部署:通过二进制命令行工具分发,无需依赖特定环境,一条命令即可在 macOS、Linux、Windows 上迅速完成安装部署。

官方网址:

https://httprunner.com/

3、安装

目前 HttpRunner 经过不断迭代,已经进入到 v4.0 版本。

HttpRunner v4 融合了 Golang 和 Python 两种编程语言的优势,底层构建了两套较为独立的执行引擎,旨在实现 Golang 的高效性能与 pytest 丰富生态系统的完美结合。

HttpRunner v4 = v2 + v3 + hrp + ...

v4 版本会与之前的 v2/v3/hrp 做兼容。

一、在MacOS上安装

HttpRunner v4 采用 Golang 开发,只需在系统终端中执行一条命令即可完成安装部署。

打开终端执行:

bash -c "$(curl -ksSL https://httprunner.com/script/install.sh)"

安装完成后,获得一个hrp命令行工具。

二、在Windows上安装

1、使用pip安装

pip install httprunner

2、安装hrp命令

GitHub上下载安装包:

https://github.com/httprunner/httprunner/releases

目前最新版本v4.3.6,选择合适的版本进行下载。

作者选择下载hrp-v4.3.6-windows-amd64.zip包。

下载完成后,进行解压。

例如作者将下载后的包解压到D盘,并对目录重命名为httprunner。

将目录路径添加到系统环境变量中。

打开命令行,输入hrp,如下图,正常打印帮助信息,则说明hrp命令行工具已安装成功。

4、快速上手

一、创建项目

执行 hrp startproject 命令,即可初始化指定名称的项目工程。

例如:在终端执行命令,创建demo项目。

hrp startproject demo

目录结构:

har 录制的文件目录

results 报告目录

testcases 测试用例目录(默认包含了多个示例用例)

.env 环境配置文件

.gitignore 传git仓库时忽略文件

debugtalk.py 辅助函数功能文件

proj.json 记录创建项目的信息

二、编写用例

HttpRunner 的测试用例由两个核心部分构成:

配置(config):这是测试用例的共享配置环节,涵盖了诸如用例名称、基础 URL、参数化数据源以及是否启用 SSL 验证等设置。

测试步骤(teststeps):这部分是一系列有序的操作步骤,其设计理念借鉴了 go interface,能够灵活支持各种协议和测试类型的扩展,甚至包括用户界面(UI)自动化测试。每个 step 都是一个 HTTP 请求,描述信息仅包含了 HTTP 请求和结果校验的核心要素。

变量的定义在 step 或 config 的 variables 中。

函数的定义在项目根目录的 debugtalk.py 中。

创建 test_demo.yml 文件,用例内容(2条测试用例):

  1. config:
  2.     name: "get/post demo"
  3.     variables:
  4.         base_url: https://www.httpbin.org
  5.         foo1: "admin"
  6.         foo2: "123456"
  7.         expect_foo1: "admin"
  8.         expect_foo2: "123456"
  9. teststeps:
  10. -
  11.     name: get demo
  12.     request:
  13.         method: GET
  14.         url: $base_url/get
  15.         params:
  16.             username: $foo1
  17.             password: $foo2
  18.     extract:
  19.         foo3: "body.args.username"
  20.         foo4: "body.args.password"
  21.     validate:
  22.         - eq: ["status_code", 200]
  23.         - eq: [$expect_foo1, $foo3]
  24.         - eq: [$expect_foo2, $foo4]
  25. -
  26.     name: post demo
  27.     variables:
  28.         foo1: "admin2"
  29.         foo3: "567890"
  30.     request:
  31.         method: POST
  32.         url: $base_url/post
  33.         headers:
  34.             Content-Type: "text/plain"
  35.         body: "username: $foo1; password: $foo3."
  36.     validate:
  37.         - eq: ["status_code", 200]
  38.         - eq: ["body.data", "username: admin2; password: 567890."]

三、运行接口测试

使用 hrp run 命令执行指定的测试用例;如生成 HTML 测试报告,需添加 --gen-html-report 参数。

例如:

hrp run testcases/test_demo.yml --gen-html-report

执行完成后,可以看到 results 目录生成 report.html 测试报告。

打开测试报告,可以看到2条测试用例执行成功。

打开日志,可以看到具体的请求、返回、断言等信息。

图片

四、运行性能测试

使用 hrp boom 命令运行性能测试;添加 --spawn-count 参数可指定并发用户数,添加 --spawn-rate 可指定起始发压斜率。

例如:

hrp boom testcases/test_demo.yml --spawn-count 10 --spawn-rate 2

在压测过程中,每隔 3 秒打印一次性能汇总数据;使用 CTRL + C 终止测试后,会打印整个压测过程的汇总数据(Statistics Summary)。

运行日志:

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/584052
推荐阅读
相关标签
  

闽ICP备14008679号