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

Jmeter接口自动化测试 —— Jmeter变量的使用

​在使用jmeter进行接口测试时,我们难免会遇到需要从上下文中获取测试数据的情况,这个时候就需要引入变量了。

定义变量

  • 添加->配置元件->用户自定义的变量

  • 添加->配置元件->CSV 数据文件设置

变量的调用方式:${变量名}
变量的作用范围:变量可以写入任何测试组件的任何字段中(除了TestPlan)
以博客园的接口为例:

Url: https://recomm.cnblogs.com/api/v2/recomm/blogpost/recoHTTP Method: PostRequest:
{"itemId":11343866,"itemTitle":"Jmeter 01 Jmeter下载安装及入门"}Response:
[{"itemId":"8971531","title":"使用JMeter进行压力测试","content":null,"url":"https://www.cnblogs.com/stulzq/p/8971531.html"},{"itemId":"4709031","title":"JMeter入门","content":null,"url":"http://www.cnblogs.com/s380774061/p/4709031.html"},{"itemId":"9413237","title":"Jmeter下载安装配置及使用(windows)","content":null,"url":"https://www.cnblogs.com/fanbi/p/9413237.html"},{"itemId":"5639895","title":"Jmeter使用入门","content":null,"url":"http://www.cnblogs.com/ceshisanren/p/5639895.html"},{"itemId":"7094047","title":"JMeter入门","content":null,"url":"http://www.cnblogs.com/iceb/p/7094047.html"}]

从上下文中获取变量

例如上面的接口,我们想要再请求一次,而request需要从上一次的响应数据中获得,比如我们需要第一次请求的response中的itemId和title作为下一次请求的request

{"itemId":"8971531","title":"使用JMeter进行压力测试","content":null,"url":"https://www.cnblogs.com/stulzq/p/8971531.html"}

那么就需要用到一个配置元件JSON提取器
右键http请求->添加->后置处理器->json提取器

JSON提取器参数说明:

参数说明
Apply to
Main sample and sub-samples主sample及子sample
Main sample only主sample
Sub-samples only子sample
JMeter Variable Name to use变量名
JSON Path Expressionjson表达式(想要获取的值在响应数据中的什么位置)
Match No.(0 or Random)匹配第几个,不填写是获取符合条件的第一个,0为随机、N为第N个、-1为获取所有
Compute comcatemation var(suffix_ALL)如果找到了很多结果,插件将使用','分隔符连接它们,并将其存储在一个名为<变量名>_ALL的变量中
Default Values当没有获取到参数值时的默认值

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

相关文章:

  • ESP32网络开发实例-使用nlohmann/json库数据解析
  • 手拉手EasyExcel极简实现web上传下载(全栈)
  • 《Linux C编程实战》笔记:文件属性操作函数
  • 【TB作品】51单片机 实物+仿真-电子拔河游戏_亚博 BST-M51
  • 四. 基于环视Camera的BEV感知算法-BEVDet
  • webgpu demo阅读 A-Buffer
  • 什么是NPM,NPM使用方法
  • 优化问题笔记(1)
  • python如何通过自身日志系统读写日志文件
  • 2024测试开发面试题完整版本(附答案)
  • StarCCM+ 导入STL几何模型进行仿真
  • 掌握学习方法——作为开发者最重要的能力
  • go学习redis的学习与使用
  • c++知识总结
  • ue4 解决角度万向锁的问题 蓝图节点
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • JavaScript的使用你知道几种?(上)
  • js作用域和this的理解
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • PAT A1017 优先队列
  • tweak 支持第三方库
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 解决iview多表头动态更改列元素发生的错误
  • 微信小程序--------语音识别(前端自己也能玩)
  • 应用生命周期终极 DevOps 工具包
  • Spring Batch JSON 支持
  • 阿里云移动端播放器高级功能介绍
  • 数据可视化之下发图实践
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (C++17) std算法之执行策略 execution
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (编译到47%失败)to be deleted
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (转) ns2/nam与nam实现相关的文件
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • ::
  • @vue/cli 3.x+引入jQuery
  • [4.9福建四校联考]
  • [BIZ] - 1.金融交易系统特点
  • [BZOJ5250][九省联考2018]秘密袭击(DP)
  • [C#]手把手教你打造Socket的TCP通讯连接(一)
  • [CISCN2019 华北赛区 Day1 Web2]ikun
  • [ESP32] 编码旋钮驱动
  • [hive小技巧]同一份数据多种处理
  • [ISITDTU 2019]EasyPHP
  • [IT生活推荐]大家一起来玩游戏喽,来的都进!
  • [Java][Android][Process] ProcessBuilder与Runtime差别
  • [java面试]宇信易诚 广州分公司 java笔试题目回忆录
  • [MAT]使用MAT比較多个heap dump文件
  • [NOSQL] Redis介绍