JMeter插件-如何收听TestState

我正在开发JMeter插件。我正在尝试创建一个能够监视当前测试状态的AbstractVisualizer。但是,实现TestStateListener似乎不起作用。

我正在通过创建一个基本的侦听器进行测试,该侦听器具有一个登录名,可以将任意信息输出到JMeter的日志记录控制台。通过“添加”功能发送样品时,会向控制台发送一行。但是,各种TestState函数都不会触发任何事件。我还缺少一些更具结构性的东西吗?

public class TestListener extends AbstractVisualizer

implements TestStateListener

{

private static final Logger log = LoggingManager.getLoggerForClass();

@Override

public void add(SampleResult arg0) {

log.info("add");

}

@Override

public void clearData() {

// TODO Auto-generated method stub

}

@Override

public String getStaticLabel()

{

return "Test Listener";

}

@Override

public String getLabelResource() {

return null;

}

@Override

public void testEnded() {

log.info("Test Ended");

}

@Override

public void testEnded(String arg0) {

log.info("Test Ended");

}

@Override

public void testStarted() {

log.info("Test started");

}

@Override

public void testStarted(String arg0) {

log.info("Test started");

}

}

回答:

我不确定一堂课该怎么做。我有2节课:

用户界面:

public class MonitorGui extends AbstractListenerGui

{

// ...

@Override

public TestElement createTestElement()

{

TestElement element = new Monitor();// <-- this is the backend

modifyTestElement(element);

return element;

}

// ...

}

然后后端如下所示:

public class Monitor extends AbstractListenerElement 

implements SampleListener,

Clearable, Serializable,

TestStateListener, Remoteable,

NoThreadClone

{

private static final String TEST_IS_LOCAL = "*local*";

// ...

@Override

public void testStarted()

{

testStarted(TEST_IS_LOCAL);

}

@Override

public void testEnded()

{

testEnded(TEST_IS_LOCAL);

}

@Override

public void testStarted(String host)

{

// ...

}

// ...

}

您可能不需要SampleListener像我一样实现,但是其他事情可能非常相似。

我基于ResultSaverGui和ResultCollector的内置对来实现该实现,它们是将结果保存到Simple

Data Writer,Summary Report等文件中的组件。

以上是 JMeter插件-如何收听TestState 的全部内容, 来源链接: utcz.com/qa/407894.html

回到顶部