${__BeanShell(${SCRIPT})}
通过将变量名称括在' $ { '和' } '中来引用测试元素中的变量。
函数以相同的方式引用,但按照惯例,函数名称以“ __ ” 开头,以避免与用户值名称冲突*。有些函数使用参数来配置它们,这些函数用括号括起来,用逗号分隔。如果函数不带参数,则可以省略括号。
应根据需要转义本身包含逗号的参数值。如果您需要在参数值中包含逗号,请将其转义为:' \, '。 这适用于脚本函数 - Javascript,Beanshell,Jexl,groovy - 其中有必要转义脚本方法调用中可能需要的任何逗号 - 例如
${__BeanShell(vars.put("name"\,"value"))}
或者,您可以将脚本定义为变量,例如在测试计划上:
SCRIPT vars.put("name","value")
然后可以按如下方式引用该脚本:
${__BeanShell(${SCRIPT})}
不需要在SCRIPT变量中转义逗号,因为在将变量替换为其值之前解析函数调用。这与JSR223或BeanShell Samplers一起使用效果很好,因为它们可用于测试Javascript,Jexl和BeanShell脚本。
功能可以参考变量和其它功能,例如 $ {__的XPath($ {__ P(xpath.file),$ {XPATH})} 将使用属性“ xpath.file ”作为文件名和变量的内容XPATH如要搜索的表达式。
JMeter提供了一个工具来帮助您构建各种内置函数的函数调用,然后可以复制粘贴。它不会自动为您转义值,因为函数可以是其他函数的参数,您应该只转义您想要的值作为文字。
可以使用__logn()函数报告变量或函数的值。所述__logn()函数的参考可以在任何地方在测试计划的变量已被定义后使用。或者,Java Request采样器可用于创建包含变量引用的示例; 输出将显示在相应的Listener中。请注意,有一个Debug Sampler 可用于在Tree View Listener中显示变量等的值。
__intSum
intSum函数可用于计算两个或更多整数值的总和。
参数
例子:
$ {__ 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,1 + 2 + 5 + $ {MYVAR},则返回16
__longSum
longSum函数可用于计算两个或多个long值的总和,只要您知道值不在-2147483648到2147483647之间,就可以使用它来代替__intSum。
参数
例子:
$ {__ longSum(2,5-,MYVAR)}
将返回7(2 + 5)并将结果存储在MYVAR变量中。所以$ {MYVAR}将等于7。
$ {__ longSum(2,5,7)}
将返回14(2 + 5 + 7)并将结果存储在MYVAR变量中。
$ {__ longSum(1,2,5,$ {} MYVAR)}
如果MYVAR值等于8,1 + 2 + 5 + $ {MYVAR},则返回16
__StringFromFile
StringFromFile函数可用于从文本文件中读取字符串。这对于运行需要大量可变数据的测试很有用。例如,在测试银行应用程序时,可能需要100或1000个不同的帐号。
另请参阅 CSV数据集配置测试元素 ,该元素可能更易于使用。但是,它目前不支持多个输入文件。
每次调用它都会从文件中读取下一行。所有线程共享同一个实例,因此不同的线程将获得不同的行。到达文件末尾时,它将从头开始重新读取,除非已达到最大循环次数。如果测试脚本中有多个对该函数的引用,则每个引用都将独立打开该文件,即使文件名相同也是如此。[如果要在其他地方再次使用该值,请为每个函数调用使用不同的变量名称。]
如果打开或读取文件时发生错误,则该函数返回字符串“ ** ERR ** ”
参数
打开或重新打开文件时,将解析文件名参数。
每次执行该函数时,都会解析引用名称参数(如果提供)。
使用序列号:
使用可选序列号时,路径名称将用作java.text.DecimalFormat的格式字符串。当前序列号作为唯一参数传入。如果未指定可选的起始编号,则按原样使用路径名。有用的格式序列是:
- #
- 插入数字,不带前导零或空格
- 000
- 如有必要,将打包的数字插入三位数,前导零
这里有一些格式字符串以及它们将生成的相应序列。
- 针# '' DAT
- 将生成不带前导零的数字,并将字面处理为像
pin1.dat,...,pin9.dat,pin10.dat,...,pin9999.dat - pin000' 。'DAT
- 在保持点的同时会产生前导零。当数字开始具有更多数字然后这个格式建议的那三个数字时,序列将使用更多数字,如
pin001.dat,... pin099.dat,...,pin999.dat,...,pin9999.dat中所示。 - 针。'DAT#
- 在保持点并生成
pin.dat1,...,pin.dat9,...,pin.dat999的同时附加没有前导零的数字
如果需要的数字多于格式化字符,则会根据需要扩展该数字。
要防止解释格式化字符,请将其括在单引号中。请注意,“ 。 ”是一个格式化字符,必须用单引号括起来(虽然#。和000.在小数点也是“ 。 ”的区域设置中按预期工作。)
在其他语言环境(例如fr)中,小数点是“ , ” - 这意味着“ #。 ”变成“ nnn ”。
有关完整详细信息,请参阅DecimalFormat的文档。
如果路径名称不包含任何特殊格式字符,则当前序列号将附加到名称,否则将根据格式化说明插入数字。
如果省略了起始序列号,并且指定了结束序列号,则序列号被解释为循环计数,并且该文件将在最多“ 结束”时间使用。在这种情况下,文件名未格式化。
$ {__ StringFromFile(PIN#'。'DAT ,, 1,2)} - 读取PIN1.DAT,PIN2.DAT
$ {__ StringFromFile(PIN.DAT ,,, 2)} - 读取PIN.DAT两次
注意“ 。 “在PIN.DAT上面应该不被引用。在这种情况下,省略起始编号,因此文件名完全按原样使用。
随机推荐
- Python和JavaScript间代码转换4个工具
Python 还是 JavaScript?虽然不少朋友还在争论二者目前谁更强势.谁又拥有着更为光明的发展前景,但毫无疑问,二者的竞争在 Web 前端领域已经拥有明确的答案.立足于浏览器平台,如果放弃 ...
- 白盒测试实践-任务进度-Day02
所使用静态代码检查工具 阿里巴巴Java开发代码检测IDE插件 小组成员 华同学.郭同学.覃同学.刘同学.穆同学.沈同学 任务进度 在经过任务分配阶段后,大家都投入到了各自的任务中,以下是大家今天任务 ...
- Spring下集成ActiveMQ推送
本文是将ActiveMQ消息制造者集成进spring,通过spring后台推送消息的实现. 首先是spring的applicationContext的配置,如下 <?xml version=&q ...
- BZOJ 2243 染色 (线段树+树链剖分)
2243: [SDOI2011]染色 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 9895 Solved: 3735[Submit][Status ...
- MapServer:地图发布工具
MapServer简介:https://baike.baidu.com/item/MapServer
- ORB_SLAM2应用实践_ROS小强机器人
http://www.cnblogs.com/2008nmj/p/6166282.html
- [LintCode笔记了解一下]64.合并排序数组
Given two sorted integer arrays A and B, merge B into A as one sorted array. 思路: 因为A的后面的部分都是空的留出来给我们 ...
- Gym 100989L (DFS)
AbdelKader enjoys math. He feels very frustrated whenever he sees an incorrect equation and so he tr ...
- Git代码行统计命令集
统计某人的代码提交量,包括增加,删除: git log --author="$(git config --get user.name)" --pretty=tformat: --n ...
- C# 调用带输入输出参数的存储过程
//调用存储过程执行类似于2//select count(*) from userinfo where username=username and pwd=pwd and grade=grade3// ...