1

我正在为 JMeter 开发插件。我想要配置测试报告的功能,比如在简单数据编写器中。为此,我想从 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)。Per JMeter API AbstractVisualizer 是 AbstractListenerGui 的一个孩子,据我了解,扩展 AbstractVisualizer 而不是 AbstractListenerGui 不应该导致这样的问题。那么,请您帮助我理解我的问题吗?先感谢您。

4

1 回答 1

0

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

于 2013-01-26T15:00:26.107 回答