首页 > 其他分享 >使用JMeter进行接口测试教程

使用JMeter进行接口测试教程

时间:2023-11-25 21:14:04浏览次数:33  
标签:教程 HTTP 请求 接口 响应 匹配 JMeter 断言

安装

  1. 使用JMeter的前提需要安装JDK,需要JDK1.7以上版本
  2. 目前在用的是JMeter5.2版本,大家可自行下载解压使用

运行

  1. 进入解压路径如E: \apache-jmeter-5.2\bin,双击jmeter.bat启动运行
  1. 启动后默认为英文版本,可通过Options – Choose Language – Chinese(Simplified) 设置为中文版

JMeter进行接口测试流程

1.测试计划,可以理解为被测项目,下面可以添加一系列待测接口。

可自定义名称,便于自己理解。

 

2.线程组,在测试计划上鼠标右击 – 添加 – 线程(用户)- 线程组。

一个线程组可以当做一个虚拟用户组,线程组中每个线程都可以裂解为一个虚拟用户。这个在性能测试中会用到,接口测试暂时不用关注,默认值为1即可。

3.HTTP请求默认值,线程组上鼠标右击 – 添加 – 配置元件 – HTTP请求默认值

进行接口测试时需要填写协议,IP地址及端口号,为了避免重复操作,可在线程组下添加HTTP请求默认值,填入协议、IP地址和端口号,这样后续的HTTP请求中就不用每次都填写了。

4.HTTP信息头管理,线程组上鼠标右击 – 添加 – 配置元件 – HTTP信息头管理

如果请求参数非json格式,可以不用添加此元件。

该元件是针对传入参数为json格式,需添加名称为Content-Type,值为application/json

5.HTTP请求,线程组上鼠标右击 – 添加 – 取样器 – HTTP请求

HTTP请求主要包括请求方法、请求路径和请求参数。

由于协议、IP地址、端口号已经在HTTP请求默认值进行了设置,所以此处可以为空。

(1)传入非json格式的参数,可以直接在HTTP请求面板中【参数】下进行添加:填写参数名称与对应的值

(2)传入json格式参数,如果参数值存在中文的情况,内容编码需为utf-8格式,避免乱码情况的发生

6.断言,主要目的是检查接口是否访问成功。断言的方式比较多,包含响应断言、JSON断言,大小断言,JSR223断言等等,一共提供15种断言方式,一般常用的主要是响应断言,也可以用JSON断言。对于复杂的接口,可借助BeanShell断言。

这里主要介绍响应断言的用法。

HTTP请求上鼠标右击 – 添加 – 断言 – 响应断言

详情如图:

Apply to 指断言的作用范围,一般情况下发出一个请求只触发一个请求,所以默认勾选Main sample only即可。下面针对四种选项做个说明:

(1) Main sample and sub-samples:作用于主请求和子请求

(2) Main sample only:仅仅作用于主请求

(3) Sub-sample only:仅仅作用于子请求

(4) J Meter Variable:作用于j meter变量(输入框填写变量名称)

响应字段 主要包含响应文本、响应代码、响应信息、响应头、请求头、URL样本、文档(文本)、忽略状态、请求状态,下面针对每种方式做个说明:

(1) 响应文本,一般匹配返回的json数据,需要结合模式匹配规则进行校验

根据响应文本的测试模式”records”(*?)匹配到内容,只要包括这些内容,则判断接口执行通过。

(2) 响应代码,匹配返回码,如200,404,500等

(3) 响应信息,匹配响应信息,如OK, Sucess字样

(4) 响应头,匹配响应头

(5) 请求头,匹配请求头

(6) URL样本,匹配请求的url链接,如果有重定向则包含请求url和重定向url

(7) 文档(文本),匹配响应数据的文本格式

(8) 忽略状态,一个请求有多个响应断言,第一个响应断言选中此项时,如果第一个响应断言失败时可以忽略此响应结果,继续进行下一个断言。如果下一个断言成功则还是判定事务是成功的

(9) 请求数据,匹配请求数据

实际比较常用的是响应文本、响应代码、响应信息,这三种还是无法满足的则继续补充其他字段。

模式匹配规则,有包括、匹配、相等、字符串、否、或者。

(1) 包括,响应内容包括需要匹配的内容就表示响应成功,可结合正则表达式进行

(2) 匹配,响应内容要完全匹配需要匹配的内容就表示响应成功,可结合正则表达式进行

(3) 相等,响应内容要完全等于需要匹配的内容才代表响应成功,不支持正则表达式

(4) 字符串,响应内容包含需要匹配的内容才代表成功,不支持正则表达式

(5) 否,相当于取反,如果结果是True,勾选上“否”那结果就是False

(6) 或者,可以用于将多个断言模式进行连接,只要一个模式匹配,断言就代表成功

测试模式,其实就是填写自己的预期值。

7.监听器-察看结果树,主要用于查看接口执行情况,以树形结构显示接口访问结果,包含取样器结果、请求与相应数据。

线程组上鼠标右击 – 添加 – 监听器 – 察看结果树

监听器还包含其他形式如汇总报告、聚合报告、后端监听器等,接口测试主要用到的就是察看结果树。

通过察看结果树可以了解接口执行情况,如果执行失败需要看下错误信息。

至此,使用J Meter进行常用的接口测试就结束了,实际使用过程遇到的特殊情况可以及时反馈(其实和Postman测试接口大同小异~)

最后如果你想学习软件测试和需要软件测试资料,欢迎加入笔者的交流群:320231853,里面可以免费领取软件测试+自动化测试资料+软件测试面试宝典+简历模版+实战项目+面试刷题工具和大佬答疑解惑,我们一起交流一起学习!

标签:教程,HTTP,请求,接口,响应,匹配,JMeter,断言
From: https://www.cnblogs.com/NHB6870/p/17856085.html

相关文章

  • 如何使用JMeter测试导入接口/导出接口
    今天一上班,被开发问了一个问题:JMeter调试接口,文件导入接口怎么老是不通?还有导出文件接口,不知道文件导到哪里去了?我一听,这不是JMeter做接口测试经常遇到的嘛,但是一时半会又口述不清楚,于是整理篇文章做个简单总结吧。JMeter测试导入接口1.填写导入接口信息2.设置导入文件名称及......
  • 无涯教程-Linux - 目录管理
    在本章中,我们将详细讨论Unix中的目录管理。目录也是文件,它存储着文件名和文件相关信息,所有文件,无论是普通文件,特殊文件还是目录,都包含在目录中。Unix使用分层结构来组织文件和目录,这种结构通常称为目录树,该树只有一个根节点,即斜杠字符(/),所有其他目录都包含在其下方。Home目录......
  • 无涯教程-Linux - 文件管理
    在本章中,我们将详细讨论Unix中的文件管理,Unix中的所有数据都是文件,所有文件都组织在目录中,这些目录被组织成称为文件系统的树状结构。在Unix中,文件有三种基本类型-OrdinaryFiles  -普通文件是系统上包含数据,文本或程序指令的文件。Directories     -目录存储......
  • 无涯教程-Linux - 简介
       UNIX操作系统,是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由肯·汤普逊、丹尼斯·里奇和道格拉斯·麦克罗伊于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才......
  • AI创作工具:Claude2注册保姆级教程
    最近软件打算多接入几个AI写作平台,包括讯飞星火,百度文心,Claude2,这样就能给用户提供更多的写作选择经过半天的调研,讯飞星火,百度文心一言,接入都比较简单,毕竟是国内的。在调研Claude2的时候,发现自己之前注册的账号被封了。于是打算重新注册一个账号,结果犯了难。下面开始正式教程......
  • 无涯教程-Tk - Scale部件函数
    比例小部件用于通过滑块选择数字值。scale小部件的语法如下所示-scalescaleNameoptionsScale-参数下表中列出了可用于缩放窗口小部件的选项-Sr.No.Syntax&Remark1-backgroundcolor用于设置小部件的背景颜色。2-borderwidthwidth用于在3D效果中使用边框绘......
  • Jmeter接口测试:jmeter导入和导出接口的处理
    JMeter测试导入接口利用Jmeter测试上传文件,首先可根据接口文档或者fiddler抓包分析文件上传的接口;如下图:以下是我通过fiddler所截取的文件上传的接口1、填写导入接口的信息查看文件上传栏下的填写信息:文件名称:导入文件的路径参数名称:fileMIME类型:为fiddler抓包的Content-......
  • 无涯教程-Tk - Scrollbar部件函数
    滚动条小部件是无需文本或画布小部件即可工作的滚动小部件。滚动条小部件的语法如下所示。scrollbarscrollbarNameoptionsScrollbar-参数下表列出了可用于滚动条小部件的选项。Sr.No.Syntax&Remark1-backgroundcolor用于设置小部件的背景颜色。2-borderwidt......
  • 无涯教程-Tk - Progressbar部件函数
    Progressbar窗口小部件用于提供长时操作(如文件上传)进度的视觉反馈。进度栏小部件的语法如下所示-progressbarprogressbarNameoptionsProgressbar-参数下表在下表中列出了Progressbar小部件可用的选项-Sr.No.Syntax&Remark1-lengthnumber设置小部件的长度。2......
  • 【音视频常见接口HDMI、DP、DVI基础知识】
    DP接口:DisplayPort(简称DP),该接口免认证、免授权金,比较节约钱,主要用于视频源与显示器等设备的连接,也支持携带音频、USB和其他形式的数据。HDMI接口:HighDefinitionMultimedialnterface(简称HDMI),HDMI是一种数字化视频/音频接口技术,可以同时传送音频和影像信号,是一种高清视频接口......