我是一个绝对的新秀(我的意思是JAVA),花了几个小时寻找解决方案,现在我只想自己拍摄。
我想在beanshell断言中创建一个字符串,它位于HTTP请求的正上方。
在我写的beanshell中:
String docid="abcd";
(实际上我希望将字符串与一些变量连接起来)
在HTTP请求中,发送参数我添加${docid}
。
答案 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