首页 > 解决方案 > 将变量设置为全局

问题描述

嗨,我正在使用 webdriver sampler 存储 tokenid。

var foo = WDS.browser.executeScript("return window.sessionStorage.getItem('ngStorage-jwtToken');")       
var obj = JSON.parse(foo);
vars.put("auth",obj.oauth_token)
WDS.log.info(vars.get('auth'))

需要将此设置为 global ,以便我可以将此 tokenid 放在所有其他线程的 HTTP Header Manager 中。

标签: jmeter-plugins

解决方案


要为所有线程增加价值,您需要将其保存为 JMeter 属性。

在 Webdriver 采样器中使用WDS.props

WDS.props.put("auth", obj.oauth_token);

# WDS.props - JMeterProperties (class java.util.Properties) - 例如 props.get("START.HMS"); props.put("PROP1","1234");

如果它不起作用,请使用JSR223 后处理器作为 Webdriver 采样器的子级,并使用以下命令将 auth 变量复制到属性:

props.put("auth", vars.get("auth"));

${__P(auth)}然后您可以使用或获取 JMeter 属性值props.get("auth")


推荐阅读