You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JSR233 Sampler无法将掩码密码值写入用户自定义变量问题

解决JMeter中JSR233 Sampler设置变量a2为掩码值的问题

你遇到的问题是因为直接将字符串'a2n'赋值给了变量a2,而非获取a2n变量存储的实际掩码值。要让a2存储真实的掩码结果,需要使用JMeter的vars对象正确操作线程变量:

正确的Groovy代码示例

假设你已经生成了掩码值并存入a2n,只需添加一行代码将a2n的实际值赋值给a2:

// 生成掩码密码并存入a2n(你的原有代码)
def originalPwd = vars.get("a2")
def maskedPwd = "*" * originalPwd.length()
vars.put("a2n", maskedPwd)

// 将a2n的实际值赋值给a2,覆盖原变量
vars.put("a2", vars.get("a2n"))

如果不需要保留a2n变量,也可以直接生成掩码后直接覆盖a2:

def originalPwd = vars.get("a2")
def maskedPwd = "*" * originalPwd.length()
vars.put("a2", maskedPwd)

关键说明

  • vars是JMeter提供的线程变量操作对象,vars.get("变量名")用于获取变量的实际值,vars.put("变量名", 值)用于设置变量值。
  • 错误的写法(导致a2存字符串'a2n')通常是类似vars.put("a2", "a2n"),这是把字面量字符串存入变量,而非读取a2n的内容。

修改后再运行,Debug Sampler中a2就会显示正确的掩码值**********了。

内容的提问来源于stack exchange,提问作者Nelza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 15:59:53