我将我的自定义监听器在make中设置为JSR223侦听器。
目前,它将记录附加到文本文件中,然后在测试运行期间调用侦听器(我认为这不利于测试的准确性),但我希望收集所有数据(由侦听器),并在测试结束后(在删除部分)将其保存在一个安静的地方。
Google找到了很多方法来存储字符串这样的单变量,但是如果我想存储复杂的数据集,这是不可接受的。是否有可能通过JSR223作为全局变量(在setUp阶段创建某个地方)存储我的自定义对象的Java数组(或类似的东西),对每个JSR223 lisneners/Sampler等等都可用?
如果我制作了"datakeeper“单例,它会像我预期的那样工作吗(我不知道JSR223是如何工作的,它会不会清除这个问题,它是否可用于其他JSR223实例),它是否适合我的目的?
发布于 2021-03-31 10:24:58
只需使用props速记,它代表正常的属性,反过来:
所以如果你做这样的事情:
props.put('myObject', yourObject)在setUp线程组中
您将能够在其他任何地方获得作为props.get('myObject')的值。
有关此props和其他JMeter API缩写的更多信息- 在Groovy中应该使用的前8个JMeter Java类
发布于 2021-03-31 12:15:39
这句话来自你的问题,色调的复杂的数据集,发出了警钟。将如此大量的数据存储在内存中将对您的执行产生不利影响。您可以预期线程会意外地死掉大部分到期的OutOfMemoryException。而且,如果JMeter崩溃了,您就会丢失在此之前捕获的所有统计信息。您可以调整堆设置,但这只是修补程序的工作,而不是问题语句的真正解决方案。
您可以继续使用当前的方法保存到本地文件。
https://stackoverflow.com/questions/66885548
复制相似问题