当前位置: 首页 > news >正文

jmeter接口测试

2025最新Jmeter接口测试从入门到精通(全套项目实战教程)

【接口测试之添加测试计划-线程组-sampler】

1.建立测试计划

   只要打开执行Jmeter.bat,就会有Jmeter的桌面运行界面出来,会自动建立一个测试计划,如下图所示:

2.添加完测试计划后,就要添加对应的线程组,所有的测试步骤都是在线程组下面执行的,如下所示:

添加完成后,就可以看到自己所添加的线程组了。

由于我是要测试多个接口,为了方便控制,我是为每一个业务逻辑建立了对应的线程组。

3.根据自己测试的接口类型,建立对应的测试步骤,我这里就是HTTP接口,所以请求是基于HTTP的,所以要添加HTTP sampler,如下所示:

4.为了清楚每次测试时成功了还是失败了,可以添加一个监控器,对测试内容进行监控,这里要添加的是-->察看结果树

点击右键-添加-监听器-察看结果树,添加完成后,如下所示:

【接口测试之添加测试内容】

下面会就我测试的一些例子来进行讲解,这里没有源码哦~公司的代码不能外传,嘻嘻。如果亲们有遇到需要进行接口测试的,进行类似的更改就可以了。

简单的传参接口测试

1.这里说的例子是发送短信验证码,详细的参数设置见下面截图说明:

新增了一个HTTP请求,

2.测试是否正确,点击Jmeter上面的绿色执行按钮,并同时打开察看结果树界面,如下所示:

这里看到返回的结果是ok,说明这个接口测试没有问题,短信验证码能够正常发送。

包含有全局变量的接口测试

有时我们测试会遇到许多重复的参数,每次调用如果要一个一个去改的话,就比较麻烦,这里就可以用到一个办法:参数化。把所有你觉得重复但是改起来又麻烦的,我们可以建立一个用户参数列表。

这里我要讲的就是登录功能:

1.添加一个HTTP请求,并填入对应的登陆所需参数,具体可以根据你们自己的需求文档来传参哦~

这个跟上面说的发送短信验证码是一样的,都需要填好对应的必填内容以及参数名称和值。

2.大家可能注意到了,我这里在设置每个属性的值时,都是采用的${}方式,这里就是我所说的参数化,由于这个是全局变量,所有线程组里面的请求都是可以用到的,所以就需要我们添加一个全局变量:

所以需要注意的是,我们引用参数值的方式为:${名称},第一步里面的userid 取值是${username},最后传进去的值就是 liuhaha这个值,看懂了么?这个就是参数的引用方法,下次你如果需要改名称,就不需要去每个

http请求里面去改动了,直接在这个参数表里面改动就可以了,方便快捷。全局变量就要放在最前,不要包含在线程组里面,直接挂在测试计划下面就好了。

3.填完后,直接点击绿色按钮,运行就可以了。

包含有正则表达式的接口测试(也就是LoadRunner里面常说的关联)

1.新建一个HTTP请求,这里的登陆就会产生一个sessionID,我们进行密码修改时,就会验证这个sessionID,但是每次去填写也比较麻烦,所以我们可以手动做一个关联。

上面的登陆完成后,就会在结果树里面看到登陆成功后会返回一个sessionid,如图所示:

红色框框内就是session值。

2.如何进行关联呢?跟LR一样,需要找准左右边界,可以看到这里的左右边界很好定义,session值得两端就是左右边界,最后做出的关联正则表达式为:

ulskey":"(.*?)","retmsg  --其中(.*?)就是我们的session值。

3.这里定义对了,就需要建立一个正则表达式提取器,

添加完成后,就要把你第二步里面的正则表达式填进来,如下所示:

4.在修改密码的HTTP请求里面,引用这个必须传的session值:

  这里跟上面的引用全局参数是一样的,也是用${}方式

5.然后点击运行,就可以看到引用session成功了。

http://www.lryc.cn/news/574495.html

相关文章:

  • Github 2025-06-24Python开源项目日报 Top10
  • PyTorch topk() 用法详解:取最大值
  • Gym安装
  • 数据结构day2
  • 数组题解——​合并区间【LeetCode】
  • 使用 PyAEDT 设计参数化对数周期偶极子天线 LPDA
  • 如何解决TCP传输的“粘包“问题
  • HTTP面试题——缓存技术
  • Qt面试题汇总
  • 记录一下小程序城市索引栏开发经历
  • ✨从零搭建 Ubuntu22.04 + Python3.11 + PyTorch2.5.1 GPU Docker 镜像并上传 Docker Hub
  • Rocky8使用gvm配置Go多版本管理的微服务开发环境
  • uni-app项目实战笔记24--uniapp实现图片保存到手机相册
  • spring01-简介
  • 618风控战升级,瑞数信息“动态安全+AI”利剑出鞘
  • window显示驱动开发—DirectX 图形基础结构 DDI
  • 【CS创世SD NAND征文】基于全志V3S与CS创世SD NAND的物联网智能路灯网关数据存储方案
  • taro小程序,tailwindcss的bg-x-x,背景颜色不生效,只有自定义的写法颜色才生效
  • C++修炼:异常
  • 解码成都芯谷金融中心文化科技产业园:文化+科技双轮驱动
  • Qt 中使用 gtest 做单元测试
  • 一文读懂微观测量:光学3D轮廓仪与共聚焦显微成像的结合应用
  • cherry-pick除了使用命令,有没有什么工具可以使用,或者更高效的方法
  • Linux 文件 I/O 与标准 I/O 缓冲机制详解
  • Java面试中被深挖过的线程问题
  • 对手机屏中断路和短路的单元进行切割或熔接,实现液晶线路激光修复原理
  • Luckysheet Excel xlsx 导入导出互相转换
  • 02-Linux内核源码编译
  • CentOS 7 编译安装Nginx 1.27.5完整指南及负载均衡配置
  • MinIO中视频转换为HLS协议并进行AES加密