Java 扩展JMeter计时器以可变延迟计时器
我正在使用JMeter进行负载测试。我想扩展计时器,以毫秒为单位获取延迟,然后使用它来延迟下一个样本。我目前正在使用BeanShell脚本来实现这一点,但我希望为它提供一个Java类,而不是一个脚本片段。我应该扩展什么定时器类?有没有可以看的例子?我没有在网上找到任何东西:-我从来没有实现过计时器,但我实现了采样器、后处理器和侦听器,所以我对计时器与其他组件的相似性做了一些假设。此外,我还没有看到任何关于JMeter插件开发的好文档,我通常深入研究JMeter代码以了解它们是如何实现的,然后查看解释各种函数的API文档 基本上,您需要实现两个类Java 扩展JMeter计时器以可变延迟计时器,java,jmeter,load-testing,beanshell,Java,Jmeter,Load Testing,Beanshell,我正在使用JMeter进行负载测试。我想扩展计时器,以毫秒为单位获取延迟,然后使用它来延迟下一个样本。我目前正在使用BeanShell脚本来实现这一点,但我希望为它提供一个Java类,而不是一个脚本片段。我应该扩展什么定时器类?有没有可以看的例子?我没有在网上找到任何东西:-我从来没有实现过计时器,但我实现了采样器、后处理器和侦听器,所以我对计时器与其他组件的相似性做了一些假设。此外,我还没有看到任何关于JMeter插件开发的好文档,我通常深入研究JMeter代码以了解它们是如何实现的,然后查看
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
}
在例子方面,你可以看一下,特别是看起来是一个很好的简洁的例子,它是如何完成的。您甚至可以像RandomTimer那样直接扩展ConstantTimer,而不是实现计时器接口
对于UI部分,您也可以遵循示例,或者若您的界面更接近随机计时器,则可以扩展
要构建插件,我建议您使用类似于的maven项目。然后在运行时将其部署到lib/ext
文件夹中。如果您的插件使用JMeter中不存在的任何库,您还需要将它们部署在JMeter的lib
文件夹中