20.5 函数(1)

__regexFunction

        Regex函数用于使用任何正则表达式(由用户提供)解析前面的响应(或变量的值)。函数返回带有变量值的模板字符串。__regexFunction还可以存储值以供将来使用。在第六个参数中,您可以指定引用名称。执行此函数后,可以使用用户定义值的语法在以后检索相同的值。例如,如果您输入“refName”作为第六个参数,您将可以使用:

  • $ {refName}用于引用此函数解析的第二个参数(“替换字符串的模板”)的计算结果
  • $ {refName_g0}指的是由此函数解析的整个匹配。
  • $ {refName_g1}引用此函数解析的第一个组
  • $ {refName_g#}引用此函数解析的第n个组。
  • $ {refName_matchNr}表示此函数找到的组的数量。
    参数:
属性描述必填
第一个参数第一个参数是要应用于响应数据的正则表达式 ,它能够抓取到所有的匹配,要在模板字符串中使用此表达式的任何部分,请确保将其扩在圆括号中,例如:<a href="(.)">,将获取链接的第一个值,并存储在第一组(只有一组),其他的,例如:<input type=“hidden” name="(.*)" value="(.*)"> ,这将获取名称作为第一个组,值作为第二个组。这些值可以在模板字符串中使用
第二个参数这是在运行时替换函数的字符串,要引用正则表达式中捕获的组,请使用语法:$[group_number]$. I.e.: 1 1 1, or 2 2 2 ,你的模板可以是任何字符串
第三个参数第三个参数告诉JMeter使用哪个匹配。正则表达式可能会找到许多匹配项。你有四种选择:1)整数—告诉JMeter使用该匹配。第一个匹配项为1,第二个匹配项为2,依此类推;2)RAND - 告诉JMeter随机选择一个匹配项;3)ALL -告诉JMeter使用所有匹配项,并为每个匹配项创建一个模板字符串,然后将它们全部附加在一起。这个选项很少使用4)介于0和1之间的浮点数-告诉JMeter使用这个公式找到第x个匹配项,(number_of_matches_found * float_number)四舍五入到最接近的整数否,默认等于1
第四个参数如果为上述参数值选择了“ALL”,则将在模板值的每个附加副本之间插入该参数
第五个参数如果未找到匹配项,则返回默认值
第六个参数用于重用此函数解析的值的引用名称;存储的值是 r e f N a m e ( 替 换 模 板 字 符 串 ) 和 {refName}(替换模板字符串)和 refName(){refName g#},其中#是正则表达式中的组号(0可以用来引用整个匹配项)
第七个参数输入变量的名字。如果指定,则使用变量的值作为输入,而不是使用前面的示例结果

__counter

        计数器每次调用都会生成一个新数字,从1开始,每次递增+1。可以对计数器进行配置,使每个模拟用户的值保持独立,或者对所有用户使用相同的计数器。如果每个用户的值分别递增,那就像计算测试计划中的迭代次数一样。全局计数器类似于计算该请求运行了多少次。
        计数器使用一个整数变量来保存计数,因此它的最大值为2,147,483,647。
计数器功能实例完全独立。全局计数器 - “FALSE” - 由每个计数器实例单独维护。
同一次迭代中的多个__counter函数调用不会进一步增加该值。如果要为每个样本增加计数,请使用预处理器中的功能,例如用户参数:

属性描述必填
第一个参数如果希望每个模拟用户的计数器独立于其他用户,则为TRUE。全局计数器为FALSE
第二个参数用于重用此函数创建的值的引用名称;存储值的形式是${refName}。这允许您保留一个计数器,并在多个位置引用它的值

__threadNum

        线程数函数只返回当前正在执行的线程的编号。这些数字仅在其ThreadGroup方面是本地唯一的,这意味着从该函数的角度来看,一个线程组中的线程#1与另一个线程组中的线程#1无法区分。

函数返回一个介于1和最大运行线程数之间的数字,注意,如果将JSR223代码与JMeterContext对象(ctx变量)一起使用,下面的代码将返回一个介于0和(最大运行线程数减去1)之间的数字:ctx.getThreadNum(

        这个函数没有参数。这样使用:${__threadNum}。返回在包含的线程组中配置的运行线程数量,该数量介于1和最大运行线程数量之间。
        这个函数在任何配置元素(例如用户定义的变量)中都不能工作,因为这些元素是从单独的线程运行的。在测试计划中使用它也没有任何意义.

__intSum

        intSum函数可用于计算两个或多个整数值的和。引用名称是可选的,但它不能是有效的整数。
参数:

属性描述必填
第一个参数第一个int值
第二个参数第二个int值
第三个参数第N个int值
第四个参数用于重用此函数计算的值的引用名称。如果指定,引用名称必须包含至少一个非数字字符,否则将被视为要添加的另一个int值

例如:
${__intSum(2,5,MYVAR)}
将返回7(2+5)同时存储在变量MYVAR中,因此${MYVAR}将等于7
${__intSum(2,5,7)}
将返回14(2+5+7),同时存储在变量MYVAR中
${__intSum(1,2,5,${MYVAR})}
如果MYVAR的值等于8,则返回16,1+2+5+${MYVAR}

__longSum

        longSum函数可用于计算两个或多个长值的和,当您知道您的值不在-2147483648到2147483647之间时,请使用这个函数而不是intSum.
参数:

属性描述必填
第一个参数第一个长值
第二个参数第二个长值
第三个参数第N个长值
第四个参数用于重用此函数计算的值的引用名称。如果指定,引用名称必须包含至少一个非数字字符,否则将被视为要添加的另一个长值

例如:
${__longSum(2,5,MYVAR)}
将返回7(2+5)同时存储在变量MYVAR中,因此${MYVAR}将等于7
${__longSum(2,5,7)}
将返回14(2+5+7),同时存储在变量MYVAR中
${__longSum(1,2,5,KaTeX parse error: Expected 'EOF', got '}' at position 9: {MYVAR})}̲ 如果MYVAR的值等于8,则…{MYVAR}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值