首页 > 解决方案 > 第一次无法与其他线程一起使用令牌变量

问题描述

我创建了正则表达式后处理器以从某个 api 获取令牌并使用 beanshell-assertion(__setproperty()) 使变量成为全局变量。当我运行脚本时,我无法在该迭代中将当前令牌用于其他线程。它使用以前存储的变量令牌。我需要使用当前的。你能给我任何解决方案吗?谢谢。

标签: jmeterjmeter-plugins

解决方案


将您的令牌提取逻辑移动到setUp 线程组- 它在其他线程组之前执行,这样您就可以确信最新的令牌存储在 JMeter 属性中。


关于 Beanshell 断言:由于与 Beanshell 相比,Groovy 的性能要好得多,因此鼓励 JMeter 3.1 用户使用 JSR223 测试元素和 Groovy 语言,因此请考虑迁移到 JSR223 断言并使用如下代码:

props.put('your_property', vars.get('your_variable'))

或者,您可以使用__setProperty() 函数将变量转换为属性,此用例不需要脚本。


推荐阅读