You need to enable JavaScript to run this app. 如何将OS Process Sampler的执行结果保存到JMeter变量
优惠活动
大模型
产品
解决方案
定价
更多

如何将OS Process Sampler的执行结果保存到JMeter变量

可以实现,无需写入文件,操作配置如下

OS Process Sampler执行命令的标准输出会直接作为采样器的响应数据返回,你只需要通过后置处理器提取响应数据即可存入JMeter变量,无需经过文件中转。

前置准备

先调整你的PowerShell脚本,确保最终仅将需要的token输出到标准输出,删除所有多余的打印、日志内容,避免冗余内容干扰提取。你可以在输出token的行添加参数去掉多余换行:
Write-Output $targetToken | Out-String -NoNewline

方案1:使用正则表达式提取器(无需写代码)

给你已配置好的OS Process Sampler添加子级正则表达式提取器,配置如下:

  • 应用范围:选择主样本
  • 要检查的响应字段:选择响应数据
  • 引用名称:填写你要使用的变量名,例如generated_token
  • 正则表达式:如果输出仅有token没有其他内容,直接填写(.*)即可完整匹配
  • 模板:填写$1$
  • 匹配数字:填写1
  • 缺省值:可填写TOKEN_GET_FAILED方便后续调试定位问题

方案2:使用JSR223后置处理器(更稳定,避免正则匹配误差)

给OS Process Sampler添加子级JSR223后置处理器,语言选择groovy,在脚本框输入以下代码:

// 去掉响应内容前后的空白符、换行符后存入变量
vars.put("generated_token", prev.getResponseDataAsString().trim())

说明:代码中prev是JMeter内置对象,代指前一个采样器(也就是你的OS Process Sampler),vars是JMeter变量操作对象

验证方式

你可以添加调试采样器,运行后查看generated_token变量的值,也可以直接在任意位置通过${generated_token}引用该变量。

注意事项

  • 你可以在OS Process Sampler的配置页将Expected exit code设置为0,确保只有PowerShell脚本执行成功时才提取变量
  • 如果脚本存在标准错误输出,你也可以调整后置处理器的提取字段,选择响应代码/响应信息对应提取错误内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 08:36:01