gpt4 book ai didi

java - 扩展 JMeter 定时器以可变地延迟定时器

转载 作者:行者123 更新时间:2023-11-30 10:47:28 26 4
gpt4 key购买 nike

我正在使用 JMeter 进行负载测试。我想扩展 Timer 以进行毫秒延迟,然后用它来延迟下一个样本。我目前正在使用 BeanShell Script 来完成此操作,但我想为其创建一个 Java 类而不是脚本片段。我应该扩展什么 Timer 类,有没有我可以看的例子?我还没有在网上找到任何东西:-|

最佳答案

我从来没有实现过定时器,但我确实实现了采样器、后处理器和监听器,所以我对定时器与其他组件的相似性做了一些假设。此外,我从来没有看到任何关于 JMeter 插件开发的好文档,我通常会深入研究 JMeter 代码以了解它们是如何实现的,然后查看解释各种功能的 API 文档。

基本上你需要实现2个类

  1. 将运行计时器的类。该类应该扩展 AbstractTestElement并实现Timer interface
  2. 一个 GUI 类,用于在 JMeter UI 中表示您的计时器。该类应该扩展 AbstractTimerGui

所以插件的框架看起来像这样:

public class MyTimerGui extends AbstractTimerGui {
// usually has at least the following 3 functions:

@Override
public TestElement createTestElement() {
}

@Override
public void modifyTestElement(TestElement timer) {
}

@Override
public void configure(TestElement el) {
}
}

public class MyTimer extends AbstractTestElement implements Timer {

long delay() {
return someDelayOfYourChoice;
}

// you may need some other functions, e.g. running on test start or sample start
}

例子的话,可以看built-in timers ,具体看起来像ConstantTimer是它如何完成的一个很好而简洁的例子。您甚至可以直接扩展 ConstantTimer,例如 RandomTimer,而不是实现 Timer 接口(interface)。

UI部分也可以关注ConstantTimerGui例如,或者如果您的界面更接近随机计时器,您可以扩展 AbstractRandomTimerGui

要构建您的插件,我推荐类似于 this example 的 Maven 项目.然后在运行时将其部署到 lib/ext 文件夹中。如果您的插件使用 JMeter 中不存在的任何库,您还需要将它们部署到 JMeter 的 lib 文件夹中。

关于java - 扩展 JMeter 定时器以可变地延迟定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36157315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com