• jmeter函数


    1.常用JMeter函数

    1)__regexFunction

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

    __regexFunction还可以被用来保存值,以便供后续使用。在函数的第6个参数中,测试人员可以指定一个引用名。在函数执行以后,测试人员可以使用用户定义值的语法来获取同样的值。例如,如果测试人员输入"refName"作为第6个参数,那么测试人员可以使用:

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

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

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

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

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

    参数如表11-2所示。

    表11-2  参数描述

    函数参数

    描述

    是否必需

    第1个参数

    第1个参数是用于解析服务器响应数据的正则表达式。

    它会找到所有匹配项。如果测试人员希望将表达式

    中的某部分应用在模板字符串中,一定记得为其加

    上圆括号。例如,<a href="(.*)">。这样就会将链接

    的值存放到第一个匹配组合中(这里只有一个匹配组

    合)。又如,<input type="hidden" name="(.*)"

    value="(.*)">。在这个例子中,链接的name作为第

    一个匹配组合,链接的value会作为第二个匹配组合。

    这些组合可以用在测试人员的模板字符串中

    第2个参数

    这是一个模板字符串,函数会动态填写字符串的部分

    内容。要在字符串中引用正则表达式捕获的匹配组合,

    请使用语法:$[group_number]$。例如$1$或者 $2$。

    测试人员的模板可以是任何字符串

    第3个参数

    第3个参数告诉JMeter使用第几次匹配。测试人

    员的正则表达式可能会找到多个匹配项。对此,

    测试人员有4种选择:

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

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

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

    n          ALL,告诉JMeter使用所有匹配项,为每一

    n          个匹配项创建一个模板字符串,并将它们连接在一起

    n          浮点值0到1之间,根据公式(找到的总匹配

    n          数目*指定浮点值)计算使用第几个匹配项,

    n          计算值向最近的整数取整

    否,默认值为1

    第4个参数

    如果在上一个参数中选择了“ALL”,那么这第4个

    参数会被插入到重复的模板值之间

    第5个参数

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

    第6个参数

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

    第7个参数

    输入变量名称。如果指定了这一参数,那么该变量

    的值就会作为函数的输入,而不再使用前面的

    采样结果作为搜索对象

    2)__counter

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

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

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

    参数如表11-3所示。

    表11-3  参数描述

    函数参数

    描述

    是否必需

    第1个参数

    True,如果测试人员希望每个虚拟用户的计数

    器保持独立,与其他用户的计数器相区别。

    false,全局计数器

    第2个参数

    重用计数器函数创建值的引用名。测试人员可

    以这样引用计数器的值:${refName}。这样一来,

    测试人员就可以创建一个计数器后,在多个地方引

    用它的值(JMeter 2.1.1及其以前版本,这个参数是必需的)

    3)__threadNum

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

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

    4)__intSum

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

    参数如表11-4所示。

    表11-4  参数描述

    函数参数

    描述

    是否必需

    第1个参数

    第1个整数值

    第2个参数

    第2个整数值

    n个参数

    n个整数值

    最后一个参数

    重用函数计算值的引用名。如果用户指定

    了这一参数,那么引用名中必须包含一个非

    数字字母,否则它会被当成另一个整数值,

    而被函数用于计算

  • 相关阅读:
    2013 HIT 春季校赛C题
    2013610 四省赛
    [BZOJ] 1441 Min
    移植中Makefile学习 关键字理解
    Emgu 学习之HelloWorld
    XML 基本概念和XPath选择
    AI 资源帖
    c语言 static
    Linux watch命令 实时监测命令的运行结果(转)
    ctags 注意点
  • 原文地址:https://www.cnblogs.com/sunny-sl/p/8044167.html
Copyright © 2020-2023  润新知