Jmeter CSV参数化注意事项

本文介绍了JMeter中常用的参数化技巧,包括CSV参数化、随机数及字符串生成、CSV文件读取方法、计数器函数的使用以及JavaScript函数的应用。通过实例展示了如何利用这些功能进行高效的性能测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. CSV参数化文件内内容一行为一组参数,默认逗号为分隔符,例如:

1,23,24
2,23,25
3,23,26


2. 在CSN Data set config中设置variable name来读取相应列的参数,variable name自己随机取。逗号分隔,比如,test1,test2,test3


3.引用时使用以下例子 会按行数找相关参数 ${test1} ${test2} ${test2}


4.随机数函数 ${__Random(1,5,)}


5.随机字符串 ${__RandomString(5,abc,)}  前面为长度,后面为字母取值范围


6. CSN另一种读取方法(转)

jmeter中的【选项】中选择【函数助手对话框】,将会弹出如下对话框:

其中:

CSV file to get values from | *alias:要读取的文件路径,为绝对路径 

CSV文件列号| next| *alias:从第几列开始读取,注意第一列是0 

如上图所示,我们读取的是c.txt里面的第一列用户名(如果要读取第二列的密码,只需将0改成1即可,往后类推),点击【生成】按钮即可生成函数,我们使用时即拷贝生成的函数字符串:${__CSVRead(E:\c.txt,0)}

使用如下图所示:


_Counter 函数

每次调用计数器函数都会产生一个新值,从1开始每次加1。计数器既可以被配置成针对每个虚拟用户是独立的,也可以被配置成所有虚拟用户公用的。如果每个虚拟用户的计数器是独立增长的,那么通常被用于记录测试计划运行了多少遍。全局计数器通常被用于记录发送了多少次请求。

计数器使用一个整数值来记录,允许的最大值为2,147,483,647

功能:这个函数是一个计数器,用于统计函数的使用次数,它从1开始,每调用这个函数一次它就会自动加1,它有两个参数,第一个参数是布尔型的,只能设置成“TRUE”或者“FALSE”,如果是TRUE,那么每个用户有自己的计数器,可以用于统计每个线程歌执行了多少次。如果是FALSE,那就使用全局计数器,可以统计出这次测试共运行了多少次。第二个参数是函数名称

格式:${__counter(FALSE,test)}

使用:我们将“_counter”函数生成的参数复制到某个参数下面,如果为TRUE格式,则每个线程各自统计,最大数为循环数,如果为FALSE,则所有线程一起统计,最大数为线程数乘以循环数

参数:

第一个参数:True,如果测试人员希望每个虚拟用户的计数器保持独立,与其他用户的计数器相区别。False,全局计数器

第二个参数:重用计数器函数创建值的引用名。测试人员可以这样引用计数器的值:${test}。这样一来,测试人员就可以创建一个计数器后,在多个地方引用它的值。

以上,摘自网络(不知道怎么用,只好摘抄,记录下来等灵感~~~~(>_<)~~~~ )。

目前,我测试_Counter函数,就是在参数列表加一个参数,值填写为${__counter(FALSE,test)}

如图:



如上,设置为false,那么发送了多少个请求,counter1的最大值就等于最大请求数。

想知道counter1的值,可以通过结果树查看。



_javaScript函数

函数__javaScript可以用来执行JavaScript代码片段(非Java),并返回结果值。JMeter_javaScript函数会调用标准的JavaScript解释器。JavaScript会作为脚本语言使用,因此测试人员可以做相应的计算。

在脚本中可以访问如下一些变量。

Log:该函数的日志记录器。

CtxJmeterContext对象。

VarsJmeterVariables对象。

threadName:字符串包含当前线程名称 (在2.3.2 版本中它被误写为"theadName")。

sampler:当前采样器对象(如果存在)。

sampleResult:前面的采样结果对象(如果存在)。

propsJMeter属性对象。

Rhinoscript允许通过它的包对象来访问静态方法。例如,用户可以使用如下方法访问JMeterContextService静态方法:

Packages.org.apache.jmeter.threads.JMeterContextService.getTotalThreads()

JMeter不是一款浏览器,它不会执行从页面下载的JavaScript

参数:

第一个参数:JavaScript代码片段,待执行的JavaScript代码片段。例如:

 

                1、new Date():返回当前日期和时间

 

                2、 Math.floor(Math.random()*(${maxRandom},+1)):在0 和变量maxRandom之间的随机数

 

                3、${minRandom}+Math.floor(Math.random()*(${maxRandom}-${minRandom}+1)):在变量 minRandom和maxRandom之间的随机数"${VAR}"=="abcd"

第二个参数:变量名,重用函数计算值的引用名

请记得为文本字符串添加必要的引号。另外,如果表达式中有逗号,请确保对其转义。例如,${__javaScript('${sp}'.slice(7\,99999))},对7之后的逗号进行了转义。

摘自《零成本实现Web性能测试:基于Apache JMeter 。

步骤:

1、在jmeter中的【选项】中选择【函数助手对话框】,将会弹出如下对话框:选择__javaScript

这是得到当前日期,引用:

得到结果日期:

第二个参数是变量名,当该函数被执行一次之后,我们就可以根据变量名引用该函数,得到函数解析的值:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值