函数-jmeter
JMeter函数是些能够转化在测试树中取样器或者其他配置元件的域的特殊值。一个函数的调用就像这样:${ __functionName(var1,var2,var3)) ,__functionName 匹配函数名,圆括号内设置函数的参数 ,例如${ __time(YMD)实际参数因函数而不同。不需要参数的函数使圆括号内为空,例如${ __theadNum()}.
Jmeter函数有两种函数:自定义静态值(用户变量)和内重函数。
自定义静态值允许当一个测试树编译提交运行时,自定义变量被它们的静态值代替。这个替代在测试运行开始时发生一次。
内置函数允许写进任何非控制器测试组件的任何域,这包括取样器,定时器,监听器,断言等
注意:如果使用和内置函数同样的名字定义一个自定义变量。自定义静态变量会覆盖内置函数,但不建议名字相同。
__CSVRead
作用
从一个 CSV 文件中返回一个字符串,支持多个文件名。
当第一次调用该函数时,文件将被打开并读取到一个内部数组中。如果检测到空行,这将被视为文件的末尾。
所有对同一文件名的后续引用都使用相同的内部数组,文件名区分大小写。
每个线程都有自己的指向文件数组中当前行的内部指针。当线程首先引用文件时,它将在数组中分配下一个空闲行,因此每个线程将访问与所有其他线程不同的行(除非数组中的线程多于行)。
参数
示例
读取文件中的第1行第1列:
${__CSVRead(random.txt,0)}
读取文件中的第1行第2列,并进入文件下一行:
${__CSVRead(random.txt,1)}${__CSVRead(random.txt,next)}
继续读取文件第2行第1列:
${__CSVRead(random.txt,0)}
读取文件中的第2行第2列,并进入文件下一行:
${__CSVRead(random.txt,1)}${__CSVRead(random.txt,next)}
注意:
该函数不适合用于大型文件,因为整个文件都存储在内存中。
对于较大的文件,最好使用 CSV Data Set Config 或者 StringFromFile。
默认情况下,该函数在每个逗号处拆分行。如果要输入包含逗号的列,则需要通过设置属性将分隔符更改为不出现在任何列数据中的字符,修改 jmeter.properties 文件中的 csvread.delimiter=
_ StringFromFile
作用
用于从文本文件中读取字符串,每次读取一行,支持读取多个文件。
使用配置元件CSV Data Set Config ,也能达到相同的目的,而且方法更简单,但是它目前不支持多个输入文件。
每次调用函数,都会从文件中读取下一行。当到达文件末尾时,函数又会从文件开始处重新读取,直到最大循环次数。如果在一个测试脚本中对该函数有多次引用,那么每一次引用都会独立打开文件,即使文件名是相同的(如果函数读取的值,在脚本其他地方也有使用,那么就需要为每一次函数调用指定不同的变量名)。
如果在打开或者读取文件时发生错误,那么函数就会返回字符串 **ERR**。
参数
● 输入文件的全路径:输入前面生成的文件的完整路径,即文件路径+文件名.扩展名(文件路径可以写成相对路径或绝对路径,默认读取位置为/bin下)
● 函数名称:输入某个名称,用于存储在测试计划中其他的方式使用的值。
● 文件开始结束序号:第三,第四个参数是文件开始的序号,也就是文件读取的其起始行数。第四个参数是文件的结束序号,也就是要读取文件的最后行。假如咱们生 成的文本文件有200行,如果开始序号设置成50,结束行设置成150,那么这个函数会按顺序从第50行,一直读取到150行,如果测试的循环次数超过了 文件行数,比如循环了102次,那么最后一次循环读取的文件内容和第一次的一样,函数会自动循环读取。文件的起始序号和结束序号也可以不用设置,这样函数 会从第一行读取到最后一行,然后再循环读取。
注意:该函数每次读取文件中的一行,如果线程组中有多个线程,则每个线程顺序读取一行,如果有多次循环,则每次循环顺序读取一行。
_counter函数
作用
每次调用该计数器函数都会产生一个新值,从1开始每次加1。
参数
第一个参数: True .如果测试人员希望每个虚拟用户的计数器保持独立,与其他用户的计数器相区别。False全局计数器。如果为TRUE格式,则每个线程各自统计,最大数为循环数,如果为FALSE,则所有线程一起统计,最大数为线程数乘以循环数
第二个参数:重用计数器函数创建值的引用名。测试人员可以这样引用计数器的值:${test)。这样一来,测试人员就可以在创建一个计数器后,在多个地方引用它的值。( 选填)
该函数也有对应的配置元件:计数器,功能类似。
其他函数介绍 https://blog.csdn.net/lijing742180/article/details/86579160
posted on 2020-04-14 18:39 Nicole2333 阅读(123) 评论(0) 编辑 收藏 举报