我正在开发一个JMeter插件,它接受相应请求和解析的响应。
我希望使用JMeter API在运行时(而不是在负载测试时)为JMeter测试计划添加/删除/修改测试元素(如HTTPsamplers,后处理器,可视化器等)。如何在JMeter中实现?
有没有人知道添加/删除/修改测试元素的JMeter API?
我已经搜索了我的问题并没有找到任何好的解决方案,并找到了使用xml解析器API修改jmx文件(JMeter测试计划文件)的解决方案,但它不会影响JMeter运行时的测试计划行为。
最终,我要做的是添加/删除/修改测试元素在当前运行的测试计划中(而非加载时)。
这可能吗?
在此先感谢.. :))
答案 0 :(得分:1)
我很确定你不能这样做。最好先确定在哪种情况下,您将通过Web应用程序采用不同的路径。基于此,您可以使用Switch / Interleave / Random控制器组合测试计划,以便您可以采用不同的路径。
此外,您还可以使用后处理器来解析响应并编写自己的函数脚本,这样您就可以根据下一个请求建立输入。
我不明白为什么你必须在运行时制定测试计划?
答案 1 :(得分:0)
好的,所以没有办法做你要问的事。测试计划不能在运行时修改。
我会回到绘图板并重新构建测试。
如前所述,使用Post和Pre处理器。也可以使用IF控制器来定义测试所采用的不同路径。
如果您需要更多信息,请告诉我们!
祝你好运! 菲尔答案 2 :(得分:0)
最后我得到了添加元素的答案,
GuiPackage guiInstance = GuiPackage.getInstance();
TestElement testElement = guiInstance.createTestElement("org.apache.jmeter.XXXX.XXX.GUI_CLASS");
testElement.setName("TEST ELEMENT NAME");
JMeterTreeNode parentNode = guiInstance.getCurrentNode();
JMeterTreeNode node = guiInstance.getTreeModel().addComponent(testElement, parentNode);
guiInstance.getMainFrame().getTree().setSelectionPath(new TreePath(node.getPath()));
guiInstance.updateCurrentGui();
感谢您的帮助。