为什么我的 JMETER 案例输出不像我定义的那么严格?

问题描述 投票:0回答:1

我有一个jmeter项目,有1个线程,X轮循环。初始 queue_username 值在 jp@gc - Inter-Thread Communication PostProcessor 区域中设置为:“token-user”。

在每个运行会话中,我希望它从 jp@gc - Inter-Thread Communication PostProcessor 部分弹出 queue_username 值,并且它还会为 queue_username 字段设置不同的值,就像您一样可以在我的代码中看到。

所以理想情况下,在运行过程中,我希望输出如下:

name is token-user
name is token2-user 
name is token-user
name is token2-user
name is token-user
name is token2-user 
name is token-user
name is token2-user
...

但实际上,这是我收到的:

name is token-user
name is token-user
name is token2-user
name is token2-user
name is token-user
name is token-user
name is token2-user
name is token2-user
...

为什么它不是我定义的顺序。有意见吗?

谢谢,

杰克

jmeter fifo
1个回答
0
投票

它应该是连续的,也许你的队列不为空,并且它返回以前执行的值。

根据文档

清除队列注意事项

对于插件

预处理器和后处理器在测试开始和测试停止时清除队列。

对于函数 当您停止 JMeter 测试时,队列不会自动清除(如果您没有使用前置/后置处理器),因此当开始新测试时,您可能会在 FIFO 中保留之前运行的一些值。第一次 fifoPut 调用时会清除队列。为了解决这个问题,您可以选择随每次测试运行而变化的队列名称(例如,依赖于测试开始时间等)。

因此,通过

__fifoSize()
函数仔细检查队列的大小,然后清除队列或将其重命名为动态名称,您将获得连续的用户名。

更多信息:线程间通信

© www.soinside.com 2019 - 2024. All rights reserved.