JMeter在HTTP Request中使用beanshell变量

时间:2012-07-26 14:07:27

标签: jmeter

我是一个绝对的新秀(我的意思是JAVA),花了几个小时寻找解决方案,现在我只想自己拍摄。
我想在beanshell断言中创建一个字符串,它位于HTTP请求的正上方。

  • 在我写的beanshell中:

    String docid="abcd";
    

    (实际上我希望将字符串与一些变量连接起来)

  • 在HTTP请求中,发送参数我添加${docid}

3 个答案:

答案 0 :(得分:21)

BeanShell Assertion description section中,您可以找到以下内容:

 vars -  JMeterVariables  - e.g. vars.get("VAR1"); vars.put("VAR2","value"); vars.putObject("OBJ1",new Object()); 
 props - JMeterProperties (class java.util.Properties) - e.g. props.get("START.HMS"); props.put("PROP1","1234");

因此,要在beanshell代码中设置jmeter变量(在您的情况下为BeanShell Assertion采样器),请使用以下命令:

String docid = "abcd";
vars.put("docid",docid);

或只是

vars.put("docid","abcd");

然后您可以将其称为$ {docid},就像您在HTTP请求中所做的那样。

答案 1 :(得分:3)

如果您不熟悉Java,可以使用任何BSF或JSR223 Test元素,然后选择Javascript语言作为脚本语言

http://jmeter.apache.org/usermanual/component_reference.html#JSR223_Sampler

答案 2 :(得分:1)

如果需要将值从一个bean shell sampler传递给另一个bean shell,你应该使用变量。

vars.put("a", "something")

在其他采样器中,你应该有类似的东西:

String otherSampler = vars.get("a")

关于调试Shell采样器 - 这并不容易。我建议使用SampleResult对象。如何使用它,你可以在这里看到Debugging Bean Shell Sampler