news 2026/4/30 19:26:35

Jmeter参数化的4种方法 你get了吗?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jmeter参数化的4种方法 你get了吗?

1. 用Jmeter中的函数获取参数值

__Random,__threadNum,__CSVRead,__StringFromFile,具体调用方法如下:
KaTeX parse error: Expected group after '_' at position 2: {_̲_Random(,,)},,KaTeX parse error: Expected group after '_' at position 2: {_̲_CSVRead(,)},{__StringFromFile(,)}。
通过菜单“选项”->“函数助手对话框”,即可在“函数助手”弹出框上找到Jmeter的函数。

其中KaTeX parse error: Expected group after '_' at position 2: {_̲_Random(,,)}方法的…{__CSVRead(,)}方法中第一个参数是文件名,第二个参数是文件中的列(列数从0开始);KaTeX parse error: Expected group after '_' at position 2: {_̲_StringFromFile…{__StringFromFile(,)}方法中没有指定读取文件中的哪一列的参数,所以${__StringFromFile(,)}只能读取包含一列的文件。

2.用户定义的变量

2.1 添加“配置元件”->“用户定义的变量”
2.2 “名称”中输入变量名称,此处以登录为例,定义两个变量username和password。“值”中可以直接输入值,也可以通过Jmeter的函数__CSVRead,__StringFromFile从csv或dat文件中读取,还可以通过前缀加随机数的方法设置参数。

当参数值是某个前缀加一个数字时,可以用前缀名加KaTeX parse error: Expected group after '_' at position 2: {_̲_Random(,,)}或的方法设置参数值。如进行登录测试之前,先准备了用户名为perf_0到perf_1000的用户,那么用户名就可以设为perf_{__Random(0,1000,)}。

当参数值没有规律的且量不太大时,可以通过KaTeX parse error: Expected group after '_' at position 2: {_̲_CSVRead(,)},{__StringFromFile(,)}从文件中读取,如将用户名和密码保存在user.csv文件中,user.csv的内容如下:
oriana,123456
admin,admin
dandan,123456
因为user.csv文件中有两列数据,所以只能用KaTeX parse error: Expected group after '_' at position 2: {_̲_CSVRead(,)}函数,…{__CSVRead(user.csv,0)},password参数后的值设为${__CSVRead(user.csv,1)}。

3. 从csv文件中读取

当参数的值没有规律且量不太大时,可以用这种方法。
具体做法如下:

3.1 创建一个csv文件,内容为参数的值集,每一个参数占一列,第一行就开始写参数值,不要写参数名
3.2 在测试计划或线程组中添加一个“配置元件”->“CSV Data Set Config”
3.3 Filename中填写步骤2.1中csv文件的完整路径(当csv文件在bin目录下时,只需给出文件名即可)
3.4 Virable Names中填写变量名,如果csv文件中有多个变量,则用逗号隔开

4.从数据库中获取

当参数的值没有规律且量比较大时,可以选用这种方法。
具体做法如下:
4.1 下载MySQL JDBC
“http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.12.zip/from/http://ftp.jaist.ac.jp/pub/mysql/”
4.2 解压下载的zip包后,将其中的mysql-connector-java-5.1.12-bin.jar放到Jmeter的lib目录下
4.3 添加“配置元件”->“JDBC Connection Configuration”,
设置下列参数:Database URL:jdbc:mysql://host:port/db(如jdbc:mysql://localhost:3306/testlink
JDBC Driver class:com.mysql.jdbc.Driver
username:连接数据库的用户名(如root)
password:连接数据库的密码

4.4 添加“Sampler”->“JDBC Request”,在SQL Query中输入查询语句,如下:
SELECT CONCAT (“[“,
GROUP_CONCAT(
CONCAT(”{username:‘“,login,”’“),
CONCAT(”{password:‘“,password),”’}“),”]“) AS json FROM users

4.5 在4.4中的JDBC请求中添加“后置处理器”->“正则表达式提取器”,以提取3.4中的用户名和密码为例设置正则表达式提取器的参数:
引用名称:user
正则表达式:username:’(.+?)’{password:’(.+?)’
模板:111222
使用时,user_g1即为用户名,user_g2即为对应用户名的密码;

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 16:38:32

低代码如何引爆AI生产力?Open-AutoGLM集成方案深度解析

第一章:低代码如何引爆AI生产力?在人工智能技术快速普及的今天,低代码平台正成为推动AI应用落地的核心引擎。通过可视化界面与模块化组件,开发者无需编写大量代码即可构建复杂的AI驱动应用,显著缩短开发周期并降低技术…

作者头像 李华
网站建设 2026/4/25 4:31:47

Python中的数据序列其二

目录 前言 一、字典 1、为什么需要字典(dict) 2、Python中字典(dict)的概念 3.字典的增删改查操作 增操作(重点) 删操作 改操作 查操作 综合案例 二、集合 1.什么是集合 2.集合的定义 3.集合操作的相关方法(增删查) 增操作 删操作…

作者头像 李华
网站建设 2026/4/24 2:28:16

Unity翻译插件重构指南:从零打造专业级本地化方案

Unity翻译插件重构指南:从零打造专业级本地化方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 在游戏全球化浪潮中,Unity翻译插件已成为连接不同语言玩家的关键技术桥梁。本文将…

作者头像 李华
网站建设 2026/4/30 18:42:59

哔哩下载姬DownKyi:B站视频高效下载与管理全攻略

哔哩下载姬DownKyi是一款功能强大的B站视频下载工具,专为需要批量保存高质量视频内容的用户设计。无论是追番收藏、学习资料备份,还是创作素材积累,这款工具都能提供专业级的下载体验。 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0…

作者头像 李华
网站建设 2026/4/23 16:23:12

Unity游戏语言障碍终极解决方案:XUnity自动翻译完整攻略

Unity游戏语言障碍终极解决方案:XUnity自动翻译完整攻略 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 外文Unity游戏玩家经常面临语言壁垒的困扰,无法充分体验全球优秀游戏的魅力…

作者头像 李华