JMeter插件-如何收听TestState
我正在开发JMeter插件。我正在尝试创建一个能够监视当前测试状态的AbstractVisualizer。但是,实现TestStateListener似乎不起作用。
我正在通过创建一个基本的侦听器进行测试,该侦听器具有一个登录名,可以将任意信息输出到JMeter的日志记录控制台。通过“添加”功能发送样品时,会向控制台发送一行。但是,各种TestState函数都不会触发任何事件。我还缺少一些更具结构性的东西吗?
public class TestListener extends AbstractVisualizerimplements 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