首页 文章

以编程方式在jmeter中添加/删除/修改当前运行的测试计划中的测试元素

提问于
浏览
0

我正在开发一个JMeter插件,它接受相应请求和解析的响应 .

我希望使用JMeter API在运行时(而不是在负载测试时)测试JMeter测试计划的测试元素(如HTTPsamplers,后处理器,可视化器等) . 如何在JMeter中实现?

有谁知道JMeter API添加/删除/修改测试元素?

我用谷歌搜索了我的问题并没有找到任何好的解决方案,并找到了一个使用xml解析器API修改jmx文件(JMeter测试计划文件)的解决方案,但它不会影响JMeter运行时的测试计划行为 .

最终,我想要做的是在当前运行的测试计划中测试元素(而不是在加载时) .

这可能吗?

提前致谢.. :)

3 回答

  • 0

    我很确定你不能这样做 . 最好先确定在哪种情况下,您将通过Web应用程序采用不同的路径 . 基于此,您可以使用Switch / Interleave / Random控制器组合测试计划,以便您可以采用不同的路径 .

    还有一些后处理器,您可以使用它们来解析响应并编写自己的函数脚本,这样您就可以根据下一个请求 Build 输入 .

    我不明白你为什么要在运行时整理测试计划?

  • 0

    好的,所以没有办法做你想要的 . 无法在运行时修改测试计划 .

    我会回到绘图板并重新构建测试 .

    如上所述使用Post和Pre处理器 . 也可以使用IF控制器来定义测试所采用的不同路径 .

    如果您需要更多信息,请告诉我们!

    祝好运!菲尔

  • 1

    最后我得到了添加元素的答案,

    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();
    

    感谢帮助 .

相关问题