我要走了 null
我的回答 SampleResult.getSamplerData
电话。我以为我会收到可以存储在文件中的数据。我们需要这个监听器来执行其他工作,所以 Simple File Writer
这是不够的。
下面是我的listener类中的listener方法(它扩展了 AbstractBackendListenerClient
):
@Override
public void handleSampleResults(List<SampleResult> list, BackendListenerContext backendListenerContext) {
try {
FileWriter fileWriter = new FileWriter("C:\\projects\\sampleResults.txt");
BufferedWriter bw = new BufferedWriter(fileWriter);
list.forEach(sampleResult -> {
try {
bw.write(sampleResult.getSamplerData());
bw.newLine();
} catch (IOException e) {
e.printStackTrace();
}
});
bw.close();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
下面是我的jmx配置:
<BackendListener guiclass="BackendListenerGui" testclass="BackendListener" testname="Some Listener" enabled="true">
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="classname">com.k.jmeter.SomeBackendListener</stringProp>
</BackendListener>
1条答案
按热度按时间r1zk6ea11#
如果sampleresult.getsamplerdata()查询返回null,则很可能表示采样器有问题,因为侦听器代码没有任何问题(除了可能的争用条件)
所以仔细看看你的采样器,它可能根本没有任何数据。您可以从jsr223监听器开始,它允许您更快地检查结果,而不必重新编译/复制/运行测试
在上述代码中
prev
代表前面的sampleresult,有关更多详细信息,请参阅应该与groovy一起使用的前8个jmeter java类