java - Jmeter 后端侦听器示例结果 null SamplerData
问题描述
我的电话收到了null
回复SampleResult.getSamplerData
。我的印象是我会收到可以存储在文件中的数据。我们需要这个监听器来执行其他的工作,所以这Simple File Writer
还不够。
这是我的 Listener 类(扩展AbstractBackendListenerClient
)中的 Listener 方法:
@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>
解决方案
如果您的SampleResult.getSamplerData()查询返回 null 很可能它表明您的采样器有问题,因为您的侦听器代码没有任何问题(除了可能的竞争条件)
所以仔细看看你的采样器,它可能根本没有任何数据。您可以从JSR223 侦听器开始,这将使您能够更快地检查结果,而无需重新编译/复制/运行测试
上面的代码prev
代表上一个示例结果,有关更多详细信息,请参阅您应该在 Groovy 中使用的 8 个 JMeter Java类
推荐阅读
- elasticsearch - ELK 中的 auditbeat 失败:index_not_found_exception
- c++ - 查找字符文字的长度(const char *)
- aws-lambda - 带有 aws api 网关和 lambda 的 Olingo
- sql-server - SQL Server 备份作业从哪里运行?
- qt - 布局中的空格按钮相同,但插槽为空
- python-3.x - Cannot write to file when using task manager for python script
- python - 在 Google Cloud 实例中运行 python3 和 virtualenv
- css - 将顶部导航菜单和徽标移至左侧
- c++ - How to point to the right DLLs in different visual studio configurations?
- codenameone - Codenameone Android 构建错误