工作中常用的jmeter自带函数有哪些?

以下是工作中常用的 JMeter 自带函数及其用途、语法和示例

常用 JMeter 函数列表

1. __Random 函数
  • 用途:生成指定范围内的随机整数。
  • 语法${__Random(min,max,varName)}
  • 示例
    ${__Random(1,100,randomNum)}  // 生成1-100的随机数,存入变量randomNum
    
    场景:参数化用户ID、订单号等需要唯一值的字段。

2. __time 函数
  • 用途:获取当前时间戳(支持格式化)。
  • 语法${__time(format,varName)}
  • 示例
    ${__time(yyyy-MM-dd HH:mm:ss,currentTime)}  // 输出:2024-05-30 14:30:00
    
    场景:接口测试中动态生成时间参数(如订单创建时间)。

3. __threadNum 函数
  • 用途:获取当前线程(用户)的编号。
  • 语法${__threadNum}
  • 示例
    User-${__threadNum}  // 输出:User-1, User-2...
    
    场景:标记不同虚拟用户的操作日志。

4. __counter 函数
  • 用途:生成递增计数器(支持全局/局部计数)。
  • 语法${__counter(true/false,varName)}
  • 示例
    ${__counter(true,globalCounter)}  // 全局计数器,跨线程递增
    ${__counter(false,localCounter)}  // 线程内局部计数器
    
    场景:生成唯一订单号、批量数据标识。

5. __CSVRead 函数
  • 用途:从 CSV 文件中逐行读取数据。
  • 语法${__CSVRead(fileName,columnNum)}
  • 示例
    ${__CSVRead(testdata.csv,0)}  // 读取testdata.csv第1列的值
    
    场景:数据驱动测试(如多账号登录测试)。

6. __StringFromFile 函数
  • 用途:从文本文件中逐行读取字符串。
  • 语法${__StringFromFile(fileName,varName,startSeq)}
  • 示例
    ${__StringFromFile(products.txt,,)}  // 循环读取文件内容
    
    场景:参数化长文本字段(如商品描述)。

7. __V 函数
  • 用途:动态拼接变量名。
  • 语法${__V(varName)}
  • 示例
    ${__V(user_${__threadNum})}  // 访问变量名user_1, user_2...
    
    场景:批量管理不同线程的变量。

8. __eval 函数
  • 用途:执行变量或表达式的动态求值。
  • 语法${__eval(expression)}
  • 示例
    ${__eval(${var1} + ${var2})}  // 计算变量var1和var2的和
    
    场景:动态计算接口参数(如价格总和)。

9. __property 函数
  • 用途:读取 JMeter 系统属性。
  • 语法${__property(propertyName,default,varName)}
  • 示例
    ${__property(user.dir,,currentDir)}  // 获取JMeter启动目录
    
    场景:动态获取环境配置(如文件路径)。

10. __split 函数
  • 用途:按分隔符拆分字符串为数组。
  • 语法${__split(string,delimiter,varName)}
  • 示例
    ${__split(apple,banana,orange,,,fruits)}  // 拆分后,fruits_1=apple, fruits_2=banana...
    
    场景:处理接口返回的逗号分隔数据(如ID列表)。

11. __UUID 函数
  • 用途:生成全局唯一标识符(UUID)。
  • 语法${__UUID}
  • 示例
    ${__UUID}  // 输出:550e8400-e29b-41d4-a716-446655440000
    
    场景:生成唯一请求ID或Token。

12. __FileToString 函数
  • 用途:将整个文件内容读取为字符串。
  • 语法${__FileToString(fileName,encoding,varName)}
  • 示例
    ${__FileToString(payload.json,UTF-8,jsonData)}  // 读取JSON请求体
    
    场景:上传文件内容或复杂JSON请求体。

使用技巧

  1. 函数助手对话框:通过 JMeter 的 Options → Function Helper 查找和生成函数。
  2. 调试技巧:使用 Debug Sampler 查看函数输出值。
  3. 性能优化:避免在高并发下频繁读取大文件(如 __CSVRead 改用 CSV Data Set Config)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/15662.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推荐一个免费的、开源的大数据工程学习教程

在当今信息爆炸的时代,每一个企业都会产生大量的数据,而大数据也已经成为很多企业发展的重要驱动力,然而如何有效得处理和分析这些海量的数据,却是一个非常有挑战的技术。 今天推荐一个免费的数据工程教程,带你系统化…

【文档智能多模态】英伟达ECLAIR-端到端的文档布局提取,并集成阅读顺序方法

笔者在前期一个系列分享了各种文档智能相关的技术方法,可以参考《文档智能系列栏目》,涵盖各种常见方法。 下面直接看看这个端到端的文档智能结构化方法,供参考。 方法 一、架构 ECLAIR 采用了一个较大的视觉编码器(657M 参数…

解锁Netty:Channel更替与HashMap管理的奇妙联动

个人CSDN博客主页: java之路-CSDN博客 ( 期待您的关注 ) 目录 Netty 的 Channel 机制探秘 HashMap 在 Netty 中的角色 创建新 Channel 时的操作步骤 新 Channel 的创建流程 确定老 Channel 的标识 移除老 Channel 的具体方法 从 HashMap 中移除 关闭和回收老…

小白零基础如何搭建CNN

1.卷积层 在PyTorch中针对卷积操作的对象和使用的场景不同,如有1维卷积、2维卷积、 3维卷积与转置卷积(可以简单理解为卷积操作的逆操作),但它们的使用方法比较相似,都可以从torch.nn模块中调用,需要调用的…

12.翻转、对称二叉树,二叉树的深度

反转二叉树 递归写法 很简单 class Solution { public:TreeNode* invertTree(TreeNode* root) {if(rootnullptr)return root;TreeNode* tmp;tmproot->left;root->leftroot->right;root->righttmp;invertTree(root->left);invertTree(root->right);return …

算法之 博弈问题

文章目录 巴什博弈292.Nim 游戏 尼姆博弈斐波那契博弈其他博弈1025.除数博弈 博弈问题,就是双方之间的PK,关注的重点是 谁先?以及A,B各自赢的条件 一般有数学问题,动态规划,搜索进行求解 巴什博弈 下面的这题Nim 游戏,…

Linux 安装 Ollama

1、下载地址 Download Ollama on Linux 2、有网络直接执行 curl -fsSL https://ollama.com/install.sh | sh 命令 3、下载慢的解决方法 1、curl -fsSL https://ollama.com/install.sh -o ollama_install.sh 2、sed -i s|https://ollama.com/download/ollama-linux|https://…

DDR原理详解

DDR原理详解 存储器主要分为只读存储器 ROM 和随机存取存储器 RAM两大类。 ROM:只读存储器 ROM 所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,ROM所存数据稳定,断电后所存数据也不会改变。 RAM:随机…

推荐一款 免费的SSL,自动续期

支持自动续期 、泛域名 、可视化所有证书时效性 、可配置CDN 的一款工具。免费5个泛域名和1个自动更新。 链接 支持:nginx、通配符证书、七牛云、腾讯云、阿里云、CDN、OSS、LB(负载均衡) 执行自动部署脚本 提示系统过缺少crontab 安装cro…

手写一个C++ Android Binder服务及源码分析

手写一个C Android Binder服务及源码分析 前言一、 基于C语言编写Android Binder跨进程通信Demo总结及改进二、C语言编写自己的Binder服务Demo1. binder服务demo功能介绍2. binder服务demo代码结构图3. binder服务demo代码实现3.1 IHelloService.h代码实现3.2 BnHelloService.c…

将 AMD Zynq™ RFSoC 扩展到毫米波领域

目录 将 AMD Zynq™ RFSoC 扩展到毫米波领域Avnet XRF RFSoC 系统级模块适用于 MATLAB 的 Avnet RFSoC Explorer 工具箱5G mmWave PAAM 开发平台突破性的宽带毫米波波束成形特征:OTBF103 Mathworks Simulink 模型优化毫米波应用中的射频信号路径 用于宽带毫米波上/下…

征程 6 相比征程 5 对算子支持扩展的具体案例讲解

引言 征程 6 相比于征程 5,在整体架构上得到了升级,相对应的,算法工具链的算子支持也得到了扩充,无论是算子支持的数量,还是 BPU 约束条件,征程 6 都有明显的加强,这就使得过去在征程 5 上无法…

蓝桥杯C语言组:博弈问题

概述 在编程的世界里,博弈问题就像是一场智力的“斗地主”,双方(或者多方)使出浑身解数,只为赢得最后的胜利。而蓝桥杯C语言比赛中的博弈问题,更是让无数参赛者又爱又恨的存在。它们就像是隐藏在代码森林中…

BS架构(笔记整理)

楔子.基本概念 1.在网络架构中: 服务器通常是集中式计算资源,负责处理和存储数据;客户机是请求这些服务的终端设备,可能是个人电脑或移动设备;浏览器则是客户机上用来与服务器交互的工具,负责展示网页内容…

【动态规划篇】:动态规划解决路径难题--思路,技巧与实例

✨感谢您阅读本篇文章,文章内容是个人学习笔记的整理,如果哪里有误的话还请您指正噢✨ ✨ 个人主页:余辉zmh–CSDN博客 ✨ 文章所属专栏:动态规划篇–CSDN博客 文章目录 一.动态规划中的路径问题1.核心思路2.注意事项 二.例题讲解…

【Linux】深入理解linux权限

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:Linux 目录 前言 一、权限是什么 二、用户和身份角色 三、文件属性 1. 文件属性表示 2. 文件类型 3. 文件的权限属性 四、修改文件的权限属性和角色 1. …

嵌入式linux系统中VIM编辑工具用法与GCC参数详解

大家好,今天主要给大家分享一下,如何使用linux系统中的VIM编辑工具和GCC的参数详解。 第一:安装VIM 命令:sudo apt get install vim 第二:工作模式 普通模式:打开一个文件时的默认模式,按ESC返回普通模式 插入模式:i/o/a进入插入模式,不同在于在光标前后插入 可视…

【前端开发】HTML+CSS+JavaScript前端三剑客的基础知识体系了解

前言 🌟🌟本期讲解关于HTMLCSSJavaScript的基础知识,小编带领大家简单过一遍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 …

蓝桥杯---数青蛙(leetcode第1419题)

文章目录 1.题目重述2.例子分析3.思路分析4.思路总结5.代码解释 1.题目重述 这个题目算是模拟这个专题里面的一类比较难的题目了,他主要是使用crock这个单词作为一个整体,让我们确定:给你一个字符串,至少需要多少个青蛙进行完成鸣…

WidowX-250s 机械臂学习记录

官网教程:Python Demos — Interbotix X-Series Arms Documentation 系统:Ubuntu20.04,ROS1 相关的硬件编译配置跳过 Python Demos 这些演示展示了使用 Interbotix Python Arm 模块的各种方法(点击链接查看完整的代码文档&…