jmeter 函数「uuid函数」

互联网 2023-03-03 19:28:07

今天给大家普及一下jmeter 函数「uuid函数」相关知识,最近很多在问jmeter 函数「uuid函数」,希望能帮助到您。

1.1. 函数

测试脚本最常用的方式,使用函数功能实现。

JMeter 提供了很多函数,可以很方便的实现一些小功能,几乎可以用于测试计划中的任何元件。

函数调用的格式如下所示:

${__functionName(var1,var2,var3)}

其中,__functionName 为函数名,括号内是函数的参数,无参数时可以不用括号,如 ${__UUID}。

Tips:

(1) 如果参数包含逗号,那么一定要使用来转义,否则 JMeter 会把它当作一个参数分隔符;

(2) 实际使用时,一般通过函数助手对话框来生成函数字符串,不容易出错。

(3) JMeter 中的提供很多函数,熟悉其中常用的十几个函数基本满足90%的测试要求。

1.2. 常用函数列表

__threadNum: 返回当前正在执行的线程的编号

__iterationNum: 返回当前正在执行的迭代次数

__UUID: 通用唯一标识符函数,返回UUID

__time: 返回指定格式的当前时间

__Random:返回指定最大值和最小值之间的随机整数

__RandomDate:返回给定开始日期和结束日期值之间的随机日期

__RandomString:根据给定的字符生成指定长度的随机字符串

__CSVRead: 从CSV文件读取指定列的值

__FileToString: 把整个文件读取成一个字符串

__longSum: 长整型求和

__intSum: 整形求和

__substring: 截取指定位置字符串

__machineIP: 获取当前机器IP

__uppercase: 将给定字符串转化为大写

1.3. __threadNum

作用:返回当前正在执行的线程的编号,而且不依赖于线程组;

也就是说以这个函数的结果来看,不能区别线程组1的线程#1 和 线程组2的线程#1,如下图所示:

threadNum测试结果

1.4. __iterationNum

作用:${__iterationNum},返回当前正在执行的线程的迭代次数;

样例:

iterationNum测试结果

1.5. __UUID

作用:${__UUID},返回唯一标识符函数;UUID为36位字符串

样例:

UUID测试结果

1.6. __time

作用:返回当前时间,可以指定返回格式,由SimpleDateFormat类来处理函数格式。

${__time(,)} 默认返回当前时间的毫秒数;

日期/时间格式中的字母及其含义与示例

y:年份。一般用 yy 表示两位年份,yyyy 表示 4 位年份。

M:月份。一般用 MM 表示月份,如果使用 MMM,则会根据语言环境显示不同语言的月份;使用 MM 表示的月份,如 05;使用MMM 表示月份,在 Locale.CHINA语言环境下,如“十月”;在 Locale.US语言环境下,如 Oct。

d:月份中的天数。一般用 dd 表示天数。

D:年份中的天数。表示当天是当年的第几天,用 D 表示。

E:星期几。用 E 表示,会根据语言环境的不同, 显示不同语言的星期几;使用 E 表示星期几,在 Locale.CHINA 语言环境下,如“星期四”;在 Locale.US语言环境下,如 Thu。

H:一天中的小时数(0~23)。一般用 HH 表示小时数。

h:一天中的小时数(1~12)。一般使用 hh 表示小时数。

m:分钟数。一般使用 mm 表示分钟数。

s:秒数。一般使用 ss 表示秒数。

S:毫秒数。一般使用 SSS 表示毫秒数。

样例:

__time测试

1.7. __Random

作用:随机数函数返回指定最大值和最小值之间的随机整数

样例:

random测试结果

1.8. __RandomDate

作用:返回位于给定开始日期和结束日期值之间的随机日期

randomDate函数助手

第1个参数:指定生成日期的格式

第2个参数:指定开始日期

第3个参数:指定结束日期

第4个参数:指定本地日期格式

第5个参数:指定保存结果变量名

样例:

randomDate 测试结果

注意:此方法只能随机生成日期,不能包括时间值,并且如果设置了开始日期或结束日期,必须与DataTimeFormater中格式一致。

1.9. __RandomString

作用:生成定长的随机字符串

randomeString设置

第一个参数:指定生成字符串的长度

第二个参数:指定生成随机字符串的字符

第三个参数:指定保存结果的变量名

样例:

randomString 测试结果

1.10. __CSVRead

作用:

(1) 从一个 CSV 文件中返回一个字符串,支持多个文件名。

(2) 当第一次调用该函数时,文件将被打开并读取到一个内部数组中。如果检测到空行,这将被视为文件的末尾。

(3) 所有对同一文件名的后续引用都使用相同的内部数组,文件名区分大小写。

(4) 每个线程都有自己的指向文件数组中当前行的内部指针。当线程首先引用文件时,它将在数组中分配下一个空闲行,因此每个线程将访问与所有其他线程不同的行(除非数组中的线程多于行)。

CSVRead函数助手

第1个参数:要读取的文件名或者别名。

第2个参数:文件中的列号或者别名。0–第一列,1–第二列,next–文件的下一行。

样例:

CSVRead测试结果

备注:默认windows新建的txt,默认带有BOM,当csvread读时再转码就会出现乱码。对此问题,可使用UltraEdit编辑文件,保存为UTF-8 无BOM

解决CSVRead,第一行有乱码问题

1.11. __longSum和__intSum

作用:

(1)可以被用来计算两个或者更多整数值的和。至少需要两个整数,如果指定变量名则名称中必须包含一个非数字字母,否则它会被当成另一个整数值,而被函数用于计算

(2)__longSum和__intSum中,使用一样的,只使用数据范围不一样。

样例:

intSum测试结果

1.12. __machineIP

作用:获取本地机器IP

IP测试结果

1.13. __uppercase和__lowercase

作用:将指定字符串转化为大/小写

lowercase函数助手

样例:

大小写函数,测试结果

1.14. __FileToString

作用:

把文件读取成一个字符串,每次调用都是读取整个文件。

如果出现打开或读取文件的错误,则函数将返回字符串**ERR**。

FileToString函数助手

第1个参数:文件名的路径。(相对路径可以相对于JMeterbin目录)

第2个参数:用于读取文件的编码。如果未指定,则使用平台默认值。

第3个参数:用于后续调用该函数的变量名称,获取值。

例子

FileToString测试结果