Jmeter:BeanShellPostProcessor和BeanShellSampler的问题

时间:2015-10-12 14:00:57

标签: java jmeter jmeter-plugins

(1)相当于BeanShellPostProcessor的GUI类是什么?即下面的xxx是什么?

bspp.setProperty(TestElement.TEST_CLASS, BeanShellPostProcessor.class.getName());
bspp.setProperty(TestElement.GUI_CLASS, XXX.class.getName());

(2)

BeanShellSampler bss = new BeanShellSampler();
bss.setName("Bean Shell Sampler Test");
bss.setScript("log.info(\"*****************A sample Message***********************\");");
bss.setParameters("param1");
bss.setResetInterpreter(true);

对于上面(2)中的代码,只有名称反映在.jmx文件中。脚本,参数或重置复选框不会反映出来。请帮助。

1 个答案:

答案 0 :(得分:0)

Beanshell Post Processor的GUI类是org.apache.jmeter.protocol.java.control.gui.BeanShellSamplerGui。您可以通过展开log viewer(单击右上角带有感叹号的黄色三角形)并从主菜单中选择“帮助 - >此节点是什么”来查看Test Element类以及相关的GUI类。

What is this node

据我了解,您正在尝试以编程方式创建JMeter测试计划。我建议将https://bitbucket.org/blazemeter/jmeter-from-code/作为在Java中创建JMeter测试的示例。

另请注意,建议使用JSR223 Test ElementsGroovy scripting engine,因此如果您仍处于测试开发的早期阶段,请考虑切换到它,并且不会产生过多的开销。有关更详细的说明,请参阅Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!指南,Beanshell和Groovy基准和脚本最佳实践。

更新:以编程方式正确构建Beanshell Sampler的代码

BeanShellSampler bss = new BeanShellSampler();
bss.setName("Bean Shell Sampler Test");
bss.setProperty(BeanShellSampler.SCRIPT, "log.info(\"*****************A sample Message***********************\");");
bss.setProperty(BeanShellSampler.PARAMETERS,"param1");
bss.setProperty(new BooleanProperty(BeanShellSampler.RESET_INTERPRETER, true));
bss.setProperty(TestElement.TEST_CLASS, BeanShellSampler.class.getName());
bss.setProperty(TestElement.GUI_CLASS,BeanShellSamplerGui.class.getName());