当前位置: 首页 > 知识库问答 >
问题:

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

华谭三
2023-03-14



我想添加/删除/修改测试元素(如HTTPsamplers,Post处理器,可视化工具等)的JMeter测试计划在运行时(而不是加载测试时)使用JMeter API。它将如何在JMeter实现?

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

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

最终,我要做的是在当前运行的测试计划中添加/删除/修改测试元素(而不是在加载时)<这可能吗?




提前感谢……)

共有3个答案

冀鸿才
2023-03-14

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

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

谢谢帮忙。

郦翰学
2023-03-14

好吧,所以没有办法做到你所要求的。无法在运行时修改测试计划。

我会回到绘图板上,重新组织你的测试。

如前所述,使用后处理器和前处理器。也可以使用IF控制器定义测试采用的不同路径。

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

祝你好运菲尔

孔山
2023-03-14

我很确定你不能这么做。最好先确定在哪些情况下您将通过Web应用程序选择不同的路径。在此基础上,您可以将测试计划与开关/交织/随机控制器组合在一起,以便您可以选择不同的路径。

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

我不明白你为什么要在运行时制定一个测试计划?

 类似资料:
  • 我使用azure devops发布管道部署测试,一旦测试在发布中执行,它应该更新测试计划。为此,我使用visual studio任务选项测试计划在测试计划中更新场景测试用例,但场景大纲不更新

  • JMeter包含各种相互关联但为不同目的而设计的元素。在开始使用JMeter之前,最好先了解一下JMeter的一些主要元素,并详细说明。 注意:测试计划包含至少一个线程组。 以下是JMeter的一些主要组件: 测试计划(Test Plan) 线程组(Thread Group) 控制器(Controllers) 监听器(Listeners) 计时器(Timers) 配置元素(Configuratio

  • 我使用java类从excel文件动态生成testNG xml。我使用allure-cli在测试执行结束时生成allure报告。 我正在使用maven-surefire插件进行以下配置。 当测试由maven目标和阶段触发时,我能够生成包含完整日志和屏幕截图的诱惑力报告,这些日志和屏幕截图由诱惑力注释(@step、@attachments、@Story…)附加。 但是,当java类(生成testNG

  • 我在Jmeter中创建了一些测试计划。现在我需要通过命令行或JavaAPI来运行它们。 任何人都可以从CLI/JAVA API中提供以下链接或示例: 启动jeter 加载*. jmx[testplan]计划 指定线程数 开始测试 将输出结果xml重定向到结果目录。

  • 问题内容: 如何在“ PHP内”运行测试,而不是使用“ phpunit”命令?例: 还是我必须将测试写入文件,通过system()/ exec()调用phpunit并解析输出?:( 问题答案: 只需使用随附的驱动程序即可。 然后,您需要像SeleniumTestCase一样进行设置: 然后:

  • 我有很多用Java编写的cucumber .feature文件。 看起来它们是并行运行的。 我如何以单线程的方式一个接一个地运行cucumber测试? 运行测试配置为: