jmeter函数助手

本文介绍了JMeter的函数助手,包括如何启动和使用。详细讲解了常用的JMeter函数,如__regexFunction、__counter、__threadNum、__intSum、__longSum、__StringFromFile等,每个函数的参数、作用和示例。此外,还提到了预定义变量和属性在JMeter测试中的应用。
摘要由CSDN通过智能技术生成

一、使用jmeter函数助手

启动jmeter后,可以在JMeter的选项菜单中找到函数助手对话框(快捷键:Ctrl+Shift+F1),如下图所示:
在这里插入图片描述

打开函数助手,可以从下拉列表中选择一个函数,并为其参数设定值,不同函数要求的参数也不同;表格的左边一列是函数参数的简要描述,右边一列是供用户填充参数的值。

二、常用JMeter函数

1、__regexFunction
在这里插入图片描述

正则表达式函数可以使用正则表达式(用户提供的)来解析前面的服务器响应(或者是某个变量值),函数会返回一个有模板的字符串,其中携带有可变的值。

__regexFunction还可以被用来保存值,以便供后续使用。

在函数的第6个参数中,可以指定一个引用名;在函数执行以后,可以使用用户定义值的语法来获取同样的值。例如,如果输入"refName"作为第6个参数,那么可以使用:

${refName}来引用第2个参数(Template for the replacement string)的计算结果,这依赖于函数的解析结果;

${refName_g0}来引用函数解析后发现的所有匹配结果;

${refName_g1}来引用函数解析后发现的第一个匹配组合;

${refName_g#}来引用函数解析后发现的第n个匹配组合;

${refName_matchNr}来引用函数总共发现的匹配组合数目;

参数如下表所示:

函数参数

描述

是否必需

第1个参数

第1个参数是用于解析服务器响应数据的正则表达式,它会找到所有匹配项;如果希望将表达式中的

某部分应用在模板字符串中,一定记得为其加上圆括号。例如,,这样就会将链

接的值存放到第一个匹配组合中(这里只有一个匹配组合)。又如,<input type=“hidden”

name="(.)“value=”(.)">,在这个例子中,链接的name作为第一个匹配组合,链接的value会

作为第二个匹配组合,这些组合可以用在测试人员的模板字符串中。

第2个参数

这是一个模板字符串,函数会动态填写字符串的部分内容。要在字符串中引用正则表达式捕获的匹配组

合,请使用语法:[groupnumber]。例如1或者 2,模板可以是任何字符串。

第3个参数

第3个参数告诉JMeter使用第几次匹配;测试人员的正则表达式可能会找到多个匹配项,对此,

有4种选择:

n 整数,直接告诉JMeter使用第几个匹配项;

n “1”对应第一个匹配,“2”对应第二个匹配,以此类推;

n RAND,告诉JMeter随机选择一个匹配项;

n ALL,告诉JMeter使用所有匹配项,为每个匹配项创建一个模板字符串,并将它们连接在一起

n 浮点值0到1之间,根据公式(找到的总匹配数目*指定浮点值)计算使用第几个匹配项,计算值

  向最近的整数取整

否,默认值为1

第4个参数

如果在上一个参数中选择了“ALL”,那么这第4个参数会被插入到重复的模板值之间

第5个参数

如果没有找到匹配项返回的默认值

第6个参数

重用函数解析值的引用名,参见上面内容

第7个参数

输入变量名称。如果指定了这一参数,那么该变量的值就会作为函数的输入,而不再使用前面的采样结

果作为搜索对象

2、__counter

每次调用计数器函数都会产生一个新值,从1开始每次加1。计数器既可以被配置成针对每个虚拟用户是独立的,也可以被配置成所有虚拟用户公用的。如果每个虚拟用户的计数器

是独立增长的,那么通常被用于记录测试计划运行了多少遍。全局计数器通常被用于记录发送了多少次请求,计数器使用一个整数值来记录,允许的最大值为2,147,483,647。

目前计数器函数实例是独立实现的(JMeter 2.1.1及其以前版本,使用一个固定的线程变量来跟踪每个用户的计数器,因此多个计数器函数会操作同一个值)。

全局计数器(FALSE)每个计数器实例都是独立维护的。

参数如下表所示:

函数参数

描述

是否必需

第1个参数

True,如果希望每个虚拟用户的计数器保持独立,与其他用户的计数器相区别;

false,全局计数器;

第2个参数

重用计数器函数创建值的引用名。可以这样引用计数器的值:${refName}。这样一来,就可以创建一个

计数器后,在多个地方引用它的值(JMeter 2.1.1及其以前版本,这个参数是必需的)

3、__threadNum

函数__threadNum只是简单地返回当前线程的编号。线程编号不依赖于线程组,这就意味着从函数的角度看来,某个线程组的线程#1和另一个线程组的线程#1是没有区别的。

另外,该函数没有参数。这一函数不能用在任何配置元件中(如用户定义的变量),原因在于配置元件是由一个独立线程运行的。另外在测试计划中使用也是没有意义的。

4)__intSum

函数__intSum可以被用来计算两个或者更多整数值的合。

参数如下表所示:

函数参数

描述

是否必需

第1个参数

第1个整数值

第2个参数

第2个整数值

第n个参数

第n个整数值

最后一个参数

重用函数计算值的引用名。如果用户指定了这一参数,那么引用名中必须包含一个非数字字母,否则它会被当成另

一个整数值,而被函数用于计算

JMeter 2.3.1及其以前版本,要求必须有引用名参数。后续JMeter版本中,引用名是可选的参数,但是引用名不能是整数值。

5、__longSum

函数__ longSum可以被用来计算两个或者更多长整型值的合。

参数如下表所示:

函数参数

描述

是否必需

第1个参数

第1个长整型值

第2个参数

第2个长整型值

第n个参数

第n个长整型值

最后一个参数

重用函数计算值的引用名。如果用户指定了这一参数,那么引用名中必须包含一个非数字字母,否则它会被当成

另一个长整型值,而被函数用于计算

6、__StringFromFile

__StringFromFile可以被用来从文本文件中读取字符串,这对需要大量可变数据的测试很有用。例如,当测试一个银行系统时,测试人员可能需要100条甚至1000条账户信息。

使用配置元件CSV Data Set Config ,也能达到相同的目的,而且方法更简单,但是该配置元件目前不支持多输入文件。

每次调用函数,都会从文件中读取下一行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值