我正在为JMeter开发插件。我想要具有配置测试报告的功能,例如在Simple Data Writer中。为此,我想从AbstractVisualizer扩展,它已经实现了我需要的所有功能。当我使用我的插件编译并运行JMeter时,在GUI上出现错误:“ com.blazemeter.jmeter.testexecutor无法转换为org.apache.jmeter.reporters.ResultCollector”
这是发生的代码:

/* Overrides AbstractJMeterGuiComponent.configure(TestElement) */
@Override
public void configure(TestElement el) {
    super.configure(el);
    setFile(el.getPropertyAsString(ResultCollector.FILENAME));
    ResultCollector rc = (ResultCollector) el;
    errorLogging.setSelected(rc.isErrorLogging());
    successOnlyLogging.setSelected(rc.isSuccessOnlyLogging());
    if (collector == null) {
        collector = new ResultCollector();
    }
    collector.setSaveConfig((SampleSaveConfiguration) rc.getSaveConfig().clone());
}


确切的字符串:

ResultCollector rc = (ResultCollector) el;


在此之前,如果我从AbstractListenerGui扩展,它可以很好地工作(没有ClassCastException)。根据JMeter API,AbstractVisualizer是AbstractListenerGui的子级,据我所知,扩展AbstractVisualizer而不是AbstractListenerGui不应导致此类问题。
   因此,能否请您帮助我理解我的问题?先感谢您。

最佳答案

最后,我找到了解决方案。这很简单:我已经从ResultCollector扩展了我的侦听器。

09-30 09:34