手工专项测试--接口测试(jmeter)--单接口与关联接口与断言
目录
前言必读
一、jmeter介绍
版本与下载
JMeter接口测试的基本概念
JMeter进行接口测试的流程
1. 安装 JMeter
2. 创建测试计划
3. 添加线程组
4. 添加 HTTP 请求
5. 添加断言
6. 添加监听器
7. 执行测试
8. 查看结果
JMeter进行接口测试的关键特性
JMeter接口测试的常见应用场景
JMeter接口测试的优势
总结
二、具体操作步骤
(一)打开jmeter
(二)创建单接口请求测试
post接口请求
新建HTTP请求
添加请求信息
添加察看结果树
查看结果树运行结果
get接口请求
新建HTTP请求
添加请求信息
添加察看结果树
查看结果树运行结果
添加断言
创建响应断言
设置断言的数据
创建断言结果
查看断言结果
(三)创建关联接口
创建线程组
接口一
创建一个HTTP请求
填写接口一(省份)的请求参数
添加省份察看结果树
添加正则提取器
在后置处理器中创建正则提取器
设置正则提取器参数
接口二
新创建一个HTTP请求
添加接口二(城市)请求信息--添加正则提取出来的值
添加城市察看结果树
前言必读
支持作者👇
读者手册(必读)_csdn文章评分怎么看-CSDN博客
一、jmeter介绍
版本与下载
本文操作的jmeter版本是3.2的版本,如果还没有下载可以点击下面这个下载一下
https://blog.csdn.net/m0_52861000/article/details/144696204?
Apache JMeter 是一款非常流行的开源性能测试工具,广泛应用于 负载测试、性能测试 和 接口测试。它最初是为性能测试和负载测试设计的,但后来发展成为一个功能丰富的测试工具,能够进行 Web应用测试、数据库测试、接口自动化测试、服务端性能测试 等多种测试类型。
在接口测试方面,JMeter 支持 HTTP 请求、SOAP、RESTful 等多种接口类型的测试。
JMeter接口测试的基本概念
-
接口测试:指对 API(应用程序编程接口)进行功能、性能等方面的测试。它主要关注接口的正确性、可靠性、性能(如响应时间、吞吐量等)和稳定性。
-
JMeter 在接口测试中的应用:JMeter 可以模拟大量的 HTTP 请求来测试 Web API、Web 服务(SOAP、REST)、数据库接口等的性能、可靠性和负载承受能力。它不仅可以进行性能测试,还可以执行接口的 功能测试 和 集成测试。
JMeter进行接口测试的流程
1. 安装 JMeter
JMeter 是一个 Java 程序,因此需要先安装 Java 环境,然后下载 JMeter(JMeter 官网:Apache JMeter - Apache JMeter™)。
2. 创建测试计划
- 测试计划是 JMeter 中的最顶层元素,它定义了整个测试的结构。
- 一个测试计划通常包含多个 线程组,线程组包含不同的 采样器 和 监听器。
3. 添加线程组
线程组(Thread Group)是 JMeter 中的执行单元,定义了 虚拟用户数(用户数)、循环次数(测试次数)等内容。每个线程组可以模拟多个并发用户。
- 在测试计划下右键选择 添加 -> 线程(用户) -> 线程组。
在线程组中,你可以设置以下几个参数:
- 线程数:即模拟的用户数。
- Ramp-up 期:线程启动的延时。
- 循环次数:每个线程执行的次数。
4. 添加 HTTP 请求
对于接口测试,常用的采样器是 HTTP请求(HTTP Request)。你可以使用 HTTP 请求来模拟对目标接口的调用。
- 在 线程组 下,右键选择 添加 -> 取样器 -> HTTP 请求。
在 HTTP 请求 采样器中,你需要填写以下信息:
- 服务器名称或IP:要测试的接口所在的服务器地址(例如,
www.example.com
)。 - 端口号:接口的端口号(默认为 80)。
- 协议:协议类型(如 HTTP、HTTPS)。
- 方法:请求的方法(GET、POST、PUT、DELETE等)。
- 路径:接口的路径(如
/api/login
)。 - 参数:如果是POST请求,填写请求参数(如
username
和password
)。
5. 添加断言
断言用于验证接口的响应是否符合预期,常用的断言包括:
- 响应断言:检查返回的响应数据是否包含某些内容。
- JSON断言:检查响应数据是否符合 JSON 格式,并验证 JSON 内容。
- 大小断言:检查返回数据的大小。
例如:
- 添加 响应断言,验证返回内容是否包含特定字符串,如
success
。
6. 添加监听器
监听器用于查看测试结果,JMeter 提供了多种监听器,可以查看接口测试的详细报告。常用的监听器有:
- 查看结果树:显示请求和响应的详细信息。
- 聚合报告:查看接口的总体统计数据。
- 图形结果:查看响应时间的趋势图。
- 响应时间分布:显示不同响应时间区间内的请求分布。
7. 执行测试
完成配置后,可以点击 启动 按钮,JMeter 就会开始模拟多个用户请求目标接口,并记录测试结果。
8. 查看结果
测试完成后,可以通过添加的监听器查看测试的 响应时间、吞吐量、错误率 等指标。
JMeter进行接口测试的关键特性
- 支持多协议:JMeter 支持多种协议的接口测试,包括 HTTP、HTTPS、SOAP、RESTful、JDBC、FTP、JMS 等。
- 并发用户模拟:JMeter 可以模拟数百甚至数千个虚拟用户进行并发访问,适用于性能和负载测试。
- 强大的断言功能:通过断言验证接口的响应数据,确保接口的功能正确。
- 灵活的测试计划配置:可以设置不同的线程组、请求、循环次数等来模拟不同的测试场景。
- 结果分析与报告生成:JMeter 提供了丰富的 图形报告 和 统计报告,便于分析测试结果。
JMeter接口测试的常见应用场景
-
功能测试:
- 通过模拟 HTTP 请求,检查 API 的功能是否符合预期。
- 验证接口是否返回正确的状态码、数据内容和响应时间。
-
性能测试:
- 负载测试:模拟多个并发用户访问接口,评估系统的吞吐量和响应时间。
- 压力测试:通过增加并发用户数量,测试接口在高负载下的稳定性和响应能力。
- 耐久性测试:长时间对接口进行访问,检查其是否会出现性能下降或崩溃。
-
集成测试:
- 在多个接口之间进行集成测试,确保数据在各接口间流动无误,且整体系统能正常工作。
-
回归测试:
- 在接口有更新或修改后,通过 JMeter 进行回归测试,确保接口更新没有引入新的问题。
JMeter接口测试的优势
- 易于使用:JMeter 提供了图形化的界面,用户可以通过拖拽、配置轻松完成测试脚本的编写。
- 支持多种协议:不仅可以进行 Web 接口测试,还可以进行数据库、FTP、JMS、WebSocket 等多种类型的接口测试。
- 高度可扩展性:通过插件支持,JMeter 可以添加额外的功能,例如对 NoSQL 数据库、消息队列等的支持。
- 分布式测试:JMeter 支持分布式测试,可以在多个机器上分担负载,从而进行大规模的性能测试。
总结
- JMeter 是一款强大的性能测试和接口测试工具,支持多种协议,能够模拟大量并发请求,评估接口的 性能 和 功能。
- 它提供了丰富的功能,如断言、监听器、结果分析等,帮助我们全面地进行接口的 自动化测试 和 性能测试。
- JMeter 适用于 API 接口的 功能测试、负载测试、压力测试 和 回归测试 等多种场景,是接口自动化测试的理想选择。
二、具体操作步骤
(一)打开jmeter
1.快捷键win+r使用cmd命令窗口输入jemeter,然后回车
或者
在jmeter的bin目录下打开jmeter.bat这个文件
(二)创建单接口请求测试
2.点击测试计划--右键添加--Threads(Users)--线程组
3.这些默认值做接口测试的话可以不用改
post接口请求
新建HTTP请求
4.点击线程组--添加--Sampler-HTTP请求
添加请求信息
5.填入接口的请求数据,然后点击运行
添加察看结果树
6.点击接口请求--添加--监听器--察看结果树
查看结果树运行结果
7.查看结果树运行结果
到这里post请求的构建就基本完成了
get接口请求
新建HTTP请求
1.点击线程组--右键添加--sampler--HTTP请求
添加请求信息
2.在页面中填入请求的信息,如果有携带参数可以在路径的后面加一个?然后接上参数
添加察看结果树
3.点击对应的端口--右键添加---监听器---察看结果树
查看结果树运行结果
4.点击对应的结果树---点击运行---点击运行出来的接口---可以查看这个接口的运行结果了
添加断言
创建响应断言
1.在要断言的接口点击添加--断言--响应断言
ps:这里举例子用post接口来示例
设置断言的数据
2.设置断言数据
创建断言结果
3.在要断言的接口中添加--监听器--断言结果
查看断言结果
4.断言结果里面点击运行,查看断言结果
断言成功会返回断言的这个名称
如果出现failed说明断言失败
(三)创建关联接口
关联接口就是以第一个接口的响应结果作为第二个接口的入参
简单流程例子
流程:
接口A(登录接口):
- 请求:
POST /login
- 响应:
{"token": "abc123"}
接口B(获取用户信息接口):
- 请求:
GET /user_info?token=abc123
- 响应:
{"userId": 1, "name": "John Doe"}
应用例子:比如 登录-查询-支付 等一系列接口的调用。
实操讲解:
要查询城市就要先查询出上一个接口,也就是对应的是省份才可以。
创建线程组
ps:可以用原有的线程组或者创建一个新的来完成这个例子都可以,我这里选择创建一个新的线程组
1.jmeter里面创建一个线程组
ps:上面单接口有讲过,就不那么详细说明了
2.设置线程参数名称,其他参数我默认。有需要的伙伴也可以自己更改线程数这些
接口一
创建一个HTTP请求
3.线程组下面创建一个HTTP请求
填写接口一(省份)的请求参数
4.填写接口请求参数
省份请求链接
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportProvince
协议:http
ip:www.webxml.com.cn
路径:/WebServices/WeatherWebService.asmx/getSupportProvince
ps:有空格或者填错运行结果树时候会报错
添加省份察看结果树
5.接口添加结果树查看接口的运行结果
6.运行结果树,可以在点开接口运行接口查看运行的响应数据
添加正则提取器
在后置处理器中创建正则提取器
7.添加正则表达提取器,为了把接口一的响应数据提取出来
设置正则提取器参数
8.设置引用名和正则提起接口一的响应结果的方式,还有模板这些,点击运行使其生效
接口二
新创建一个HTTP请求
9.为城市的接口创建一个http请求
添加接口二(城市)请求信息--添加正则提取出来的值
城市请求链接
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity
10.里面填入对应的请求参数
浏览器上面查看显示请求时候需要传入byProvinceName这个参数,那么一会请求参数设置的时候要传入这个参数
添加城市察看结果树
11.城市接口请求添加一个察看结果树可以查看运行结果了
12.查看结果树的运行结果,可以看到城市接口已经请求成功了
有什么问题都可以评论区留言,看见都会回复的
如果你觉得本篇文章对你有所帮助的,把“文章有帮助的”打在评论区
多多支持吧!!!
点赞收藏评论,当然也可以点击文章底部的红包或者👇订阅里面付费文章创作支持一下了。抱拳了!
读者手册(必读)_csdn文章评分怎么看-CSDN博客