扩展Abstract Visualizer的困难:获取ClassCastException

时间:2012-12-21 19:11:47

标签: java jmeter jmeter-plugins

我正在为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)。 Per JMeter API AbstractVisualizer是AbstractListenerGui的子代,据我所知,扩展AbstractVisualizer而不是AbstractListenerGui不应该导致这样的问题。    那么,请你帮我理解我的问题吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

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