JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试原件所引用。函数调用的语法如下:
其中,_functionName匹配被调用的函数名称。用圆括号包含参数的形参,例如$(_time(YMD)),不同函数要求的参数不同。有些JMeter函数不要求参数,则可以不适用圆括号,例如$(_threadNum)。
如果一个函数的参数中包含逗号,那么必须对逗号进行转义(使用“\”),否则JMeter会把逗号当成参数分隔符。例如:
(资料图片仅供参考)
$(_time(EEE\, d MMM yyy)}
变量引号的语法如下:
${VARIABLE}
如果测试计划中引用了未定义的变量或者函数,那么JMeter并不会报告/记录错误信息,引用返回的值就是引用自身。例如,假设字符串UNDEF没有被定义为变量,那么${UNDEF}返回的值就是$(UNDEF)。变量、函数(包括属性)都是大小写敏感的。及其后续版本会剔除参数名中的空格,例如,$(_Random(1,63,LOTTERY)}中的“LOTTERY”会被“LOTTERY”所代替。
1.使用函数可以做些什么
目前有两种类型的函数:用户定义的静态值(或者变量)和JMeter内置函数。
当需要编译测试树或者提交运行时,用户可以使用自定义变量来代替常用的静态值。这种替换只在测试的开始阶段执行一次。一个典型的应用就是使用自定义变量来替换所有HTTP请求的DOMAIN域,例如,做出轻微改动,就可以让同一个测试脚本适配多个服务器。
需要注意,目前变量不支持嵌套:例如${Var${N}}不能正常工作。但是在及其以后版本中,可以借助函数_V(variable)来达成嵌套变量的目的(如${_V(Var${N})})。在早期的JMeter版本中可以使用$(_BeanShell(("Var${N}")))。
这种类型的替换也可以不用函数来实现,但是就不像使用函数时那么直观和方便。用户可以创建默认配置测试元件,它们会填充采样器中的空白设置。
使用JMeter内置函数,用户可以基于前面的服务器响应数据、函数所在线程、当前时间或者其他资源来动态地计算变量值。这些变量的值会在整个测试期间针对每个请求动态更新。
2.函数和变量可以被用在哪里
函数和变量理论上可以被用在任何测试元件的任何输入域之中(除了测试计划之外,见下面的内容)。有些输入域不支持随机数组,因为它们只接受数字,这样一来就不支持函数。当然,大多数输入域支持函数。
将函数用于测试计划(Test Plan)的设置时,会受到一些限制。此种情况下,JMeter线程的变量在函数被处理时还没有被设定,因此变量作为参数传递时没有初始化,函数引用当然不会生效。如此一来,split()、regex()及变量赋值函数就都不能正常工作。函数threadNum()同样不能正常工作,该函数在测试计划层没有意义。在测试计划中,函数intSum、longSum、machineName、BeanShell、JavaScript、jexl、random、time、property functions、log functions应该能正常工作。
配置元件是通过一个独立线程处理的。因此函数(如_threadNum)不能在这些测试元件(如用户定义的变量)之中正常工作。另外还需要注意,在用户定义的变量(UDV)中定义的变量,在UDV被处理前是不能使用的。
关键词:
(责任编辑:黄俊飞)推荐内容
- 软件测试 | JMeter函数和变量
- 科普图解 | 超深水打桩锤 让海上平台
- 曝中国杯拒绝阿根廷参赛,因担心国足惨败
- 曹颖拍过的电视剧叫什么(曹颖拍过的电视
- 新时代中国调研行·长江篇丨“绿动”宜宾
- 7月11日 13:59分 艾可蓝(300816)股
- 地产的尽头是新能源?
- 科恒股份:在锂离子正极材料方面近年与宁
- 市领导会见香港青年天津交流团一行
- 谢中书是谢徵还是谢征 谢中书
- 425水泥比重一方多少吨(42 5水泥比重)
- 融捷股份(002192)7月10日主力资金净买
- 《婴幼儿配方乳粉产品配方注册管理办法》
- 山东国信严重违反审慎经营规则,被处罚金
- 杭州医学院新创一批大学生社会实践基地
- 北京电费增值税专票可同城送票
- 我爱我家:副总裁陈毅刚因个人原因辞职
- 天眼早新闻 7月11日
- 小混混欺负烧烤店老板 淄博两烧烤店老板
- 涉八类违法行为 邮储银行被央行罚款3186
- 人教版二年级语文上册课本电子版课文(人
- 甘肃宕昌县优质特色农产品亮相乌鲁木齐
- “我爱我家”多名高管被总部停职 一线员
- 交易1760万亏损36.5万,浙商基金原基金经
- Threads四天破亿,扎克伯格暴击马斯克
- 湖北人事考试简报|2023年07月10日 星期一
- 五集政论片《中国式现代化》第一集《共向
- 专题报告:北向资金本期净流出,两融环比
- 中央电视台著名节目主持人蔡猛担任包头市
- 山东:2021年以来新增稀土资源量60万吨
- 6月份CPI同比持平
- 神剧鼻祖,早就滑下神坛
- Fossil推出芭比合作款系列腕表
- 千年虐恋讲出新意,“倒着放”的《古相思
- 2023 WAIC展台黑科技:3分钟即可现场定
- 违反广告法被罚3万元!苹果北京公司又因
- 天津武清区:“热线+网格” 聚焦群众急
- 厄尔尼诺或增加钨行业修复阻力
- 洪江区:以优质供水服务助推政务服务提质
- 明志科技:公司的智能制芯控制系统(MiCL
- 多抓鱼再关店,低买高卖割不动情怀“韭菜
- 参与人数创新高 第六届京津冀保龄球交流
- 势不可挡!小史密斯三节21中11砍下32分7
- 编制虚假材料 永诚保险相关分支公司被罚
- 女生撩男生的高级土味情话
- 殷大你好
- win7系统directx不可用 directx功能不可用怎么办
- 近距离感受科学之美!长沙小学生打卡湖南
- (图表·漫画)[经济]恢复性增长
- 这把尽兴!奎因被单杀鳄鱼打回来!TheShy
- 江苏银行理财产品靠谱吗 江苏银行理财产
- 紧急通知!接到这个电话,千万别挂掉
- 二○二五年四分之一用电量来自绿电
- 富保罗又坑雄鹿?58号秀首战8中3远逊52号
- 什么是哲学?
- 贵州大学“文化空间千村寻”村级定向越野
- 魔侦探洛基百度百科(丝碧卡 动画片魔侦
- 中国9款“口粮”白酒是100%的粮食酒,喝
- 从今年参加亚冠中超球队现状看,为什么今
- 肺癌的背疼在哪个位置 肺癌背痛在什么位置
- 人教版二年级语文上册课本电子版课文(人
- 甘肃宕昌县优质特色农产品亮相乌鲁木齐
- “我爱我家”多名高管被总部停职 一线员
- 交易1760万亏损36.5万,浙商基金原基金经
- Threads四天破亿,扎克伯格暴击马斯克
- 湖北人事考试简报|2023年07月10日 星期一
- 五集政论片《中国式现代化》第一集《共向
- 专题报告:北向资金本期净流出,两融环比
- 中央电视台著名节目主持人蔡猛担任包头市
- 山东:2021年以来新增稀土资源量60万吨
- 6月份CPI同比持平
- 神剧鼻祖,早就滑下神坛
- Fossil推出芭比合作款系列腕表
- 千年虐恋讲出新意,“倒着放”的《古相思
- 2023 WAIC展台黑科技:3分钟即可现场定
- 违反广告法被罚3万元!苹果北京公司又因
- 天津武清区:“热线+网格” 聚焦群众急
- 厄尔尼诺或增加钨行业修复阻力
- 洪江区:以优质供水服务助推政务服务提质
- 明志科技:公司的智能制芯控制系统(MiCL
- 多抓鱼再关店,低买高卖割不动情怀“韭菜
- 参与人数创新高 第六届京津冀保龄球交流
- 势不可挡!小史密斯三节21中11砍下32分7
- 编制虚假材料 永诚保险相关分支公司被罚
- 女生撩男生的高级土味情话
- 殷大你好
- win7系统directx不可用 directx功能不可用怎么办
- 近距离感受科学之美!长沙小学生打卡湖南
- (图表·漫画)[经济]恢复性增长
- 这把尽兴!奎因被单杀鳄鱼打回来!TheShy
- 江苏银行理财产品靠谱吗 江苏银行理财产
- 紧急通知!接到这个电话,千万别挂掉
- 二○二五年四分之一用电量来自绿电
- 富保罗又坑雄鹿?58号秀首战8中3远逊52号
- 什么是哲学?
- 贵州大学“文化空间千村寻”村级定向越野
- 魔侦探洛基百度百科(丝碧卡 动画片魔侦
- 中国9款“口粮”白酒是100%的粮食酒,喝
- 从今年参加亚冠中超球队现状看,为什么今
- 肺癌的背疼在哪个位置 肺癌背痛在什么位置
- 全国首套血液健康儿童绘本《神奇血液科普
- 金晨又一大瓜被曝,酒后与男子街头拥吻被
- 宁波机场往返大阪航线重启 国际(地区)
- 8月桃花大逆袭,月老点名续前缘的星座,
- 巨额罚单落地!原因可能是这些→
- “老兵帮老兵”的广东故事:让“最可爱的
- 咳嗽不断一定要吃药吗?权威解答来了
- 他说:普京不会“干掉”普里戈任
- 公告速递:融通增强收益债券基金暂停大额
- 界首东城街道:暑期“溺水” 学生直呼“
- 压力锅内的最高水温是多少 压力锅内最高
- 偷盗电缆线应该如何样定罪量刑
- 小的时候农村三伏天,没有电扇和空调,是
- 特斯拉“二把手”20天套现近千万!
- 钟义浩:没什么点评的输了就输了,看录像
- 澳元/美元基本面及技术面走势分析(2023
- 企鹅FM停运背后,耳朵经济如何突围?
- 广东医科大学学子奔赴10省份开展暑期社会
- 安徽黄山:暑期嵌字豆糖产销旺
- 赵刚印|为新时代人民城市建设提供历史经