Jmeter函数与变量使用详解(下)-32

函数可以做什么

函数有两种:用户定义的静态值(或变量)和内置函数。

注意,当前变量不能嵌套;即$ {Var $ {N}}不起作用。而函数可用于执行嵌套操作:$ {__ V($ {N})}。还可以使用$ {__ BeanShell(vars.get(“ Var $ {N}”))}。

使用内置函数,用户可以在运行时根据先前的响应数据(函数所处的线程,时间和许多其他来源)计算新值。在整个测试过程中,将为每个请求重新生成这些值。而静态变量在测试迭代过程中将会导致数据重复,这对于部分测试是不利的。

在哪里可以使用函数和变量

函数和变量可以写入任何测试组件的任何字段中(除了TestPlan)。一些字段不允许随机字符串,因为它们需要数字,因此将不接受函数。但是,大多数字段将允许使用函数。

以下函数应该可以在测试计划中正常运行:
intSum、longSum、machineName、BeanShell、groovy、javaScript
jexl2/jexl3、random、time、property functions、log functions

配置元件由单独的线程处理。因此,诸如__threadNum之类的函数不能在用户定义的变量之类的配置元件中正常工作。

函数助手对话框

JMeter提供了一个工具来帮助构造各种内置函数,然后可以将其复制粘贴到需要使用函数的地方,这使函数使用变得更方便直观。
在这里插入图片描述
在这里插入图片描述
使用函数助手,只需要在“选择一个功能”中选择需要使用的函数,就可以获取到对应函数需要设置的参数,设置好参数后,点击“生成”按钮即可生成对应的函数调用字符串,将此字符串拷贝到需要调用函数的地方使用即可。

如何引用变量和函数

在测试元素中引用变量是通过“${变量名称}“完成的。

函数的引用方式相同,但引用函数名称以 “__” 开头(两个下划线),以避免与用户变量名称冲突。一些函数使用参数来配置它们,这些参数用括号括起来,以逗号分隔。如果函数不带参数,则可以省略括号。

本身包含逗号的参数值应在必要时转义。如果需要在参数值中包含逗号,需要像这样对它进行转义:’ \, '。

例如,这适用于脚本函数-Javascript,Beanshell,Jexl,Groovy-在此处必须转义脚本中可能需要的任何逗号-例如

$ {__ BeanShell(vars.put(“ name” \,“ value”))}

另外,可以使用脚本定义变量,例如在“测试计划”上:
String SCRIPT=vars.put(“ name”,“ value”)

然后可以如下引用该脚本:
$ {__ BeanShell($ {SCRIPT})}

不需要在SCRIPT变量中转义逗号,因为在将变量替换为其值之前已对函数调用进行了解析。这可以与JSR223或BeanShell取样器一起很好地工作,因为它们可以用于测试Javascript,Jexl和BeanShell脚本。

函数可以引用变量和其他函数,例如 $ {__ XPath($ {__ P(xpath.file),$ {XPATH})}} 会将属性“ xpath.file ”用作文件名,并将变量XPATH的内容用作要搜索的表达式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值