爆赞,阿里架构测试工程师首次分享JMeter 接口测试笔记,理论实战齐飞

前不久有小伙伴面试时就遇到了这样的问题。

“你会Jmeter做性能测试吗?”

目前因为纯功能测试已经不能满足日常的工作需求,只会点点点的工作,不仅工资低,而且现在85%以上的公司在招聘测试工程师时,都会要求掌握JMeter这款工具!所以今天跟大家介绍一下JMeter接口测试。

JMeter是Java语言的实现,也就是纯Java应用,所以JMeter理论上可以运行于任何对应的Java环境可用的环境上。 |类型|值| |:—-|:—-| |Java版本|java version “1.8.0_181” (要求Java8及以上)| |JMeter版本|5.4.1| |操作系统|Ubuntu 20.04(GNOME 3.36.5)| |内核版本|Linux version 5.8.0-43-generic|

下载

本文主要介绍 JMeter 的快速入门,故其它环境由读者自行准备

进入官网页面(https://jmeter.apache.org/download_jmeter.cgi)选择合适的镜像源,下载二进制分发文件;

将压缩文件解压到本地后,JMeter 解压后得到的目录的路径称为 JMETER_HOME;

JMeter文件简单介绍
在这里插入图片描述
启动JMeter的用户界面

进入 JMETER_HOME 目录下的 bin 目录,执行以下命令启动 JMeter 的 GUI 模式:

./jmeter

几秒后,界面打开如下:
在这里插入图片描述
JMeter主要概念简介
在这里插入图片描述

JMeter主要功能元素简介(Http测试相关)

JMeter 界面操作大部分是单击鼠标右键会弹出下拉菜单进行元素的添加

线程组

右键测试计划添加

组件截图:

组件参数说明:
在这里插入图片描述
HTTP请求默认值

鼠标右键单击线程组元素,从配置元件(config element)下拉项中添加

这个组件用于为作用范围内的HTTP采样器提供默认值。
在这里插入图片描述

组件参数说明:
在这里插入图片描述

用户定义的变量

鼠标右键单击线程组元素,从配置元件中选择添加

这个组件用于在线程中定义变量,可以在其它地方使用 ${variableName} 的语法进行引用。

在下列界面点击 添加 按钮添加一行变量名和值即可定义一个变量。
在这里插入图片描述

HTTP采样器

鼠标右键单击线程组元素,从采样器条目中选择

HTTP采样器可以使用 HTTP 请求的形式对被测系统进行采样(发起请求)。这个组件中很多数据和上文提到的 HTTP请求默认值 组件中的很多属性相同,如果此采样器在 HTTP请求默认值 组件作用范围内,则采样器中为空的属性会填入默认值,不为空的属性会覆盖 HTTP请求默认值 组件中相同的属性(就近)。
在这里插入图片描述

组件参数说明:
在这里插入图片描述

响应断言

鼠标右键单击采样器,点击【添加-断言-响应断言】选项添加

响应断言可以为采样器所得的结果进行断言,以逻辑(等于、包含、正则匹配等)对包括响应头、响应码、响应体等在内的内容进行断言,以校验采样器的输出是否符合测试者的预期。
在这里插入图片描述

组件参数说明:
在这里插入图片描述

JSON变量提取

右键单击请求,Add – Post Processors – Json Extractor 添加 JSON 提取器元素

JSON 提取器可以用于从响应体中的 JSON 结构中提取指定位置的属性为变量。
在这里插入图片描述

组件参数说明:
在这里插入图片描述

JSON path 写法: $ 符号表示根元素,. 表示取属性,[0] 表示取数组对象的第一个元素 ( [1]就是第二个)。

例如:
在这里插入图片描述

对于以上 JSON ,使用表达式 $.user.names[0] 即可提取出 Jack 这个值。

查看结果树元素

这个元素是用于使用 JMeter 界面进行请求执行时查看请求的执行情况的,他可以查看到请求的请求报文和响应报文以及断言情况等信息。详情参考下文。

JMeter使用示例

接下来,我们使用上面学到的知识,实现这么一个场景:查询 Gitee 上猪齿鱼仓库下的贡献者, 然后提取出指定的一个贡献者名称,用第二个请求获取贡献者的信息。

使用的 Gitee 的两个接口为

GET https://gitee.com/open-hand/choerodon/contributors_count?ref=0.23.0

响应体结构为(我们需要获取的贡献者名称的 JSON path 为 $.contributors[0].username):
在这里插入图片描述

GET https://gitee.com/{贡献者名称}

创建测试计划

打开 Jmeter 会有个默认的测试计划
在这里插入图片描述

创建线程组

右键鼠标单击测试计划,点击 Add > Threads (Users) > Thread Group 添加线程组元素。其中填入以下值:
在这里插入图片描述

创建 HTTP 默认值配置元素

鼠标右键单击线程组,Add > Config Element > Http Request Defaults 添加配置元素。填入值如下:
在这里插入图片描述

创建 HTTP 采样器获取贡献者列表

右键单击线程组,Add > Sampler > HTTP Request 添加采样器(填入path和添加一个parameter):
在这里插入图片描述

添加响应提取器

右键单击请求采样器,Add > Post Processors > JSON extractor 添加元素如下,因为某些用户在 gitee 并不存在,这里我们将提取 JSON path 为 $.contributors[4].username (也就是第五个贡献者)的用户名值放入变量 contributorName:
在这里插入图片描述

添加查看结果树元素到请求下

右键单击采样器,Add > Listener > View Results Tree 添加查看结果树如下:
在这里插入图片描述

添加 HTTP 采样器请求特定的贡献者信息

右键单击线程组,Add > Sampler > HTTP Request 添加采样器(这里在 path 属性填入 ${contributorName} 用于引用上一个请求提取出的变量):
在这里插入图片描述

添加查看结果树元素到请求下

右键单击采样器,Add > Listener > View Results Tree 添加查看结果树如下:
在这里插入图片描述

点击绿色三角形进行执行

点击执行按钮后,会提示我们先将文件保存后再执行,选择一个合适的目录保存后,点击执行按钮,此时绿色的执行按钮会变成灰色,同时右上角会开始计时,这表明请求正在执行,等按钮再次变成绿色时,说明执行结束了。
在这里插入图片描述

查看执行结果

点击第一个请求的 查看结果树 元素可以查看这个请求的执行结果:
在这里插入图片描述

可以看到响应体的信息为:
在这里插入图片描述

查看第二个请求的请求数据,可以看到请求成功,且可以看到请求路径的 ${contributorName} 已经渲染为第一个请求提取到的值 handchoerodon:
在这里插入图片描述

总结

JMeter 提供了 HTTP 采样器,各种断言机制,配置机制以及变量提取机制,可以帮助进行我们模块化的接口测试,使得系统更加健壮。

在这里插入图片描述
在这里插入图片描述
私信(学习)自行获取!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值