在MeterSphere接口测试中如何使用JMeter函数和MockJS函数

MeterSphere开源持续测试平台的接口测试、性能测试均基于JMeter实现,且兼容JMeter中的函数。在使用MeterSphere做接口测试、准备测试数据时,经常需要使用JMeter函数来构造生成接口测试的测试数据。

由于数据准备过程中经常需要查看摸索JMeter函数的使用范围方法,为了备忘和便于查看,也为了让大家减少一些探究试验的时间,本文将对这部分内容做出总结和演示,希望对大家有所帮助。

  1. JMeter函数的设置使用

在MeterSphere平台,JMeter函数可以在接口、接口用例请求参数的QUERY参数、REST参数、请求体、前置操作脚本、后置操作脚本中设置使用。

1.1 常用的JMeter函数及调用

JMeter支持的所有函数均可以通过查看JMeter官方文档,或百度搜索相关文章等途径来了解。

函数调用的格式为:${__functionName(var1,var2,var3)}。

其中,__functionName为函数名,括号内是函数的参数,无参数时可以不使用括号,例如${_UUID}。

以下是常用的一些函数及使用示例:

在这里插入图片描述

1.2 在请求参数中使用JMeter函数

在MeterSphere中,可以在接口用例请求参数的QUERY参数、REST参数、请求体、前后置脚本中引用使用JMeter函数。

引用使用方法如下表所示(以生成UUID函数为例):

在这里插入图片描述

需要特别说明的是,在前置/后置脚本中也是可以引用使用JMeter函数的。

具体的使用方法:

① 在双引号内输入函数的调用方法,如图1-1所示;

② 以Python脚本中的引用为例,在“查询database列表接口用例”页面中,将以下脚本内容设置为前置脚本内容,如图1-1所示;

③ 然后执行用例,在“控制台”的输出内容中能够看到打印出的uuid和time函数生成的时间戳,如图1-2所示。

uuid="${__UUID()}";
strTime="${__time()}";
log.info("--------pre script begin-------------");
log.info("uuid="+uuid);
log.info("strTime="+strTime);
log.info("--------pre script end-------------");

在这里插入图片描述

图1-1 在前置脚本中使用JMeter函数

在这里插入图片描述

图1-2 控制台输出JMeter函数

1.3 在QUERY参数、REST参数中使用JMeter函数

在QUERY参数、REST参数中设置使用JMeter函数,具体操作方法为:

  1. 进入“接口用例”页面,在“请求参数”面板的“QUERY参数”选项卡中,选择如图1-3所示的铅笔图标“编辑”按钮,打开“参数设置”对话框,在对话框中选择设置并保存,如图1-4所示;也可以直接在在参数值的输入框输入“$”,之后从下拉JMeter函数列表中选择要使用的JMeter函数,如图1-5所示;

  2. 设置之后,执行用例时,平台会通过JMeter函数生成的参数值发出请求。

在这里插入图片描述

图1-3 选择打开“参数设置”对话框

在这里插入图片描述

图1-4 参数设置-设置JMeter函数

在这里插入图片描述

图1-5 参数设置-输入$在下拉列表中选择JMeter函数

1.4 具体场景演示示例

下面我们通过使用InfluxDB写入接口测试场景的过程,来演示JMeter函数的使用。

调用InfluxDB写入API的CURL命令如下,我们可以根据API定义以及CURL命令创建接口定义和接口用例。

#写入接口API curl调用
curl -i -XPOST 'http://10.1.13.12:8086/write?db=monitoringdb' --data-binary 'cpu_usage,host=10.1.10.131,app=dataease value=0.10 1632761023000000000'
#cpu_usage为measurement,类似关系数据库里的表, host为主机ID,app为dataease

操作步骤如下:

① 在“接口列表”页面,创建“InfluxDB写入接口”,设置请求协议为“POST”,路径为“/write”,如图1-6所示;

② 在“CASE”页面,选择“+添加”按钮,打开“创建接口用例”页面,创建写入接口用例,如图1-7、图1-8所示;

③ 根据CURL命令,可以看到我们需要设置QUERY参数db,以及请求体raw内容。如图1-9所示,添加QUERY参数db,设置值使用环境变量${dbname}。dbname变量已在环境中设置,值为“monitoringdb”。如图1-10所示,设置请求体,格式选择“raw”,内容设置为:

cpu_usage,host=${_UUID},app=dataease value=${usage} ${_time()}000000

■ 使用JMeter函数__UUID作为host ID;

■ 使用__time函数生成13位的时间戳;

■ 使用usage变量,usage变量在前置脚本中使用python random函数计算,结果保存在usage变量中。

在这里插入图片描述

图1-6 创建写入接口

在这里插入图片描述

图1-7 选择创建写入接口用例

在这里插入图片描述

图1-8 添加设置QUERY参数db

在这里插入图片描述

图1-9 设置请求体-监控数据

在这里插入图片描述

图1-10 设置前置python脚本-生成usage并保存到变量

④ 保存并执行用例,在“响应内容”目录下的“请求内容”中,查看请求内容POST data,如图1-11所示。可以看到使用JMeter函数生成的数值,以及python random函数生成的值。

cpu_usage,host=e48222aa-e98e-4974-8dfb-df9a1aecc4cc,app=dataease value=0.00309123923176 1652670605313000000

在这里插入图片描述

图1-11 查看请求内容
  1. MockJS函数的设置使用

在MeterSphere中可在设置请求参数的QUERY参数、REST参数值时使用MockJS函数。

需要说明的是:

■ MockJS函数不能在请求参数的请求体、前后置脚本中使用;

■ MockJS函数可以选择多个函数组合生成参数值。

具体使用方法如下:

① 在“接口用例“页面,选择”请求参数“面板中的“QUERY参数”标签,打开“QUERY参数”选项卡;

② 在“QUERY参数”选项卡中,选择如图2-1所示的铅笔图标“编辑”按钮,打开“参数设置”对话框;

③ 在“参数设置”对话框中,选择“Mock数据”标签,打开“Mock数据”选项卡,在选项卡中的MockJS列表中选择添加MockJS函数,如图2-2所示。

MockJS函数支持随机生成布尔值、自然数、整数、浮点数、字符、字符串、日期、时间、日期时间、当前时间等参数值,具体可在MockJS函数列表中查看,并且可以通过选择函数后点击“预览”按钮查看生成效果。

在这里插入图片描述

图2-1 选择打开“参数设置”对话框

在这里插入图片描述

图2-2 参数设置-选择MockJS函数

也可以直接在在参数值的输入框输入“@”,之后从下拉MockJS函数列表中选择要使用的MockJS函数,如图2-3所示。

在这里插入图片描述

图2-3 直接在参数值输入框中输入@字符列出MockJS并选择

接下来通过一个创建接口用例设置参数值的场景演示一下具体的使用:

如图2-4所示,在“接口用例”页面中,添加两个QUERY参数:一个键为“pretty”, 值为“@boolean”;一个键为“serverName”,值为“@date@time”。执行用例后,可在响应体的“请求内容”选项卡中查看这些函数生成的随机值,如图2-5的“请求内容”所示。

■ “pretty”的@boolean函数生成的是false;

■ “serverName”的@date@time函数生成的是gl8Im02011-12-2116:10:31。

在这里插入图片描述

图2-4 MockJS函数(以@开头)

在这里插入图片描述

图2-5 请求内容中查看函数输出
  1. 总结

本文总结了在MeterSphere开源持续测试平台中使用JMeter函数、MockJS函数的方法和注意事项,并通过具体的接口测试场景演示了JMeter函数和MockJS的使用,希望对广大社区用户有所帮助。

相关推荐

测评丨DeepSeek-V4.1-Flash-1017企业私有化部署实测报告

1Panel AI一体机(方案六)服务器版实测数据汇总。

FIT2CLOUD飞致云的博客 4

支持千问安全围栏模型,1Panel AI网关v1.6.0版本发布

新增上游账号多API Key、同一请求模型多映射、OpenAI兼容图像编辑接口、实时用户活动卡片与版本更新通知。

FIT2CLOUD飞致云的博客 278

飞致云开源社区月度动态报告(2026年10月)

为数智经济时代创造好软件。

FIT2CLOUD飞致云的博客 109

新增语音API与模型管理功能,1Panel AI网关v1.5.0版本发布

上游账号管理支持多种协议类型与错误历史查看。

FIT2CLOUD飞致云的博客 446

持续提升系统安全性与用户体验,JumpServer堡垒机v4.10.20 LTS版本发布

欢迎广大用户升级至新版本。

FIT2CLOUD飞致云的博客 248

安全漏洞和已知问题修复,MaxKB开源企业级智能体平台v2.10.8 LTS版本发布

欢迎升级至新版本MaxKB。

FIT2CLOUD飞致云的博客 190

支持SMB远程文件数据源,查询组件支持多条件搜索,DataEase开源BI工具v3.2.0版本发布

透视表条件样式支持指定范围,汇总表支持图片链接渲染与放大预览。

FIT2CLOUD飞致云的博客 80

离线安装方式上线,支持Token Plan,1Panel AI网关v1.4.0版本发布

进一步提升AI网关部署的灵活性与日常运维体验。

FIT2CLOUD飞致云的博客 185

KoKo、Tinker组件重构,会话录像支持批量下载,JumpServer开源堡垒机v5.1.0版本发布

命令过滤规则支持AI辅助起草

FIT2CLOUD飞致云的博客 181

修复多个安全漏洞,MaxKB开源企业级智能体平台v2.10.7 LTS版本发布

欢迎升级至新版本MaxKB。

FIT2CLOUD飞致云的博客 172

学习笔记丨MaxKB PPT/PDF文档整页转图工作流知识库方案

解决复杂图文文档知识入库难题。

FIT2CLOUD飞致云的博客 294

飞致云开源社区月度动态报告(2026年9月)

为数智经济时代创造好软件。

FIT2CLOUD飞致云的博客 242

1Panel AI网关智能路由新增支持Jev模式

面向多个自定义业务目标进行语义决策。

FIT2CLOUD飞致云的博客 295

电子表格支持嵌入集成,支持GaussDB数据源与StarRocks计算引擎,DataEase开源BI工具v3.1.0版本发布

新增箱线图图表类型,修复7项安全漏洞。

FIT2CLOUD飞致云的博客 448

操作教程|通过1Panel应用商店快速安装Laya

Laye开源模型已上架至1Panel应用商店。

FIT2CLOUD飞致云的博客 209

修复安全漏洞,支持箱线图与汇总表合并单元格,DataEase开源BI工具v2.10.27 LTS版本发布

公共链接支持独立访客权限控制,数据填报与定时报告功能增强。

FIT2CLOUD飞致云的博客 382

强化安全性,Text-to-SQL智能选表升级,SQLBot开源智能问数系统v1.10.2版本发布

强化账号安全初始化机制,新增泰语支持。

FIT2CLOUD飞致云的博客 435

实战丨飞致云面向自身销售场景打造专属CRM Skills

自然语言驱动CRM智能查询、创建、更新、转化、链路追踪与漏斗分析。

FIT2CLOUD飞致云的博客 235

跨越新高度:JumpServer V5 来了!

统一工作台,拥抱AI新时代!

FIT2CLOUD飞致云的博客 112

测评|双卡RTX Pro 5000 Blackwell+Qwen3.8-Flash-Next:WorkBuddy办公场景实测

业务场景一手测试数据解读。

FIT2CLOUD飞致云的博客 281

支持多种登录认证方式、支持MFA与重排模型,1Panel AI网关功能上新

新增支持为上游账号配置代理和更多实用功能。

FIT2CLOUD飞致云的博客 123

案例研究|中国土木构建“财小问”智能体,提升财务管理效率

MaxKB助力财务部门从重复劳动迈向智能决策。

FIT2CLOUD飞致云的博客 96

联合方案丨MaxKB+DataEase实现智能跨库问数

通过自然语言提问,在权限范围内获取一站式的可视化数据以及数据洞察结论。

FIT2CLOUD飞致云的博客 219

GPU监控支持华为昇腾设备,防火墙管理焕新,虚拟机管理下放至专业版,1Panel v2.3.0版本发布

持续完善1Panel在AI模型部署与硬件适配方面的能力。

FIT2CLOUD飞致云的博客 253

免费AI网关测评:LiteLLM、New API和1Panel AI网关

为企业运维团队、AI业务团队提供选型参考。

FIT2CLOUD飞致云的博客 287

告别积分焦虑!WorkBuddy+Qwen3.8-Flash-Next本地部署,实现AI办公自由

把算力自由握在自己手里。

FIT2CLOUD飞致云的博客 417

工作流支持默认模型设置,MaxKB开源企业级智能体平台v2.10.6 LTS版本发布

腾讯混元、腾讯云模型供应商合并为新“腾讯云”供应商。

FIT2CLOUD飞致云的博客 344

1Panel AI网关现已开放,10人及以下团队免费使用

助力小团队低成本落地AI规模化应用。

FIT2CLOUD飞致云的博客 379

算力与带宽的博弈:双GB10算力节点部署DeepSeek-V4-Flash实测

用对场景,才算物尽其用。

FIT2CLOUD飞致云的博客 366

飞致云开源社区月度动态报告(2026年8月)

为数智经济时代创造好软件。

FIT2CLOUD飞致云的博客 195
上一篇: 社区访谈丨一个IT新人眼中的JumpServer开源堡垒机
下一篇: 学习笔记|数据小白使用DataEase制作数据大屏
FIT2CLOUD飞致云
FIT2CLOUD飞致云 企业官方账号 企业官方账号
博客等级 码龄7年 3193粉丝 739原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值