如何在Jmeter中更改变量的值

时间:2017-05-04 09:33:36

标签: jmeter beanshell

我正在尝试使用Jmeter中Debug Sampler中捕获的变量,然后将这些变量转换为其他值。然后在脚本中的某处使用它。

我添加了一个BeanShell Sampler和Debug Sampler,并尝试获取Debug Sampler中显示的变量。 下面是我用Jmeter编写的代码。

Jmeter

我的方法是否正确?对Jmeter来说是全新的,并且几乎没有Java知识。所以请在这里帮助我,让我知道如何通过Jmeter中的自定义代码转换或使用变量。

2 个答案:

答案 0 :(得分:1)

几乎是正确的,你有几个语法错误(缺少右括号和未定义SomeCharacter

最好使用JSR223 ElementsGroovy language而不是Beanshell,因为Groovy性能要好得多,并且它更符合Java,请参阅Groovy Is the New Black文章以获取详细说明。

最终代码应该类似于:

def myVariable = vars.get("Corr_ContextN") 

if (myVariable.equals("002056653")) {
    vars.put("myvariable1", "SomeCharacter")
}

请注意,您没有更改原始Corr_ContextN,而是要创建新变量myvariable1。另外,为了查看新变量,您需要在之后移动调试采样器

答案 1 :(得分:0)

您有了这个概念,但您的代码有以下错误:

  • 导入错误且无用。您只需要导入未绑定变量的类,即组件中公布的变量。

  • 缺少'''在if子句中

  • 未定义SomeCharacter

根据这些建议,您应该避免使用Beanshell并使用JSR223 Test Element支持Groovy

请注意,您的用例还有一个__groovy函数。