jmeter后端侦听器示例结果null samplerdata

z6psavjg  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(374)

我要走了 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>
r1zk6ea1

r1zk6ea11#

如果sampleresult.getsamplerdata()查询返回null,则很可能表示采样器有问题,因为侦听器代码没有任何问题(除了可能的争用条件)

所以仔细看看你的采样器,它可能根本没有任何数据。您可以从jsr223监听器开始,它允许您更快地检查结果,而不必重新编译/复制/运行测试

在上述代码中 prev 代表前面的sampleresult,有关更多详细信息,请参阅应该与groovy一起使用的前8个jmeter java类

相关问题