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

bybem2ql  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(122)

我有一个jmeter项目,是一个线程,循环X圈,初始queue_username值在jp@gc - Inter-Thread Communication PostProcessor区域设置为:“token-user”。
在每个运行的会话中,我希望它从jp@gc - Inter-Thread Communication PostProcessor部分弹出queue_username值,并且它会为queue_username字段放置不同的值,正如你在我的代码中看到的那样。
x1c 0d1x的数据
所以理想情况下,在运行过程中,我希望输出如下:

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
...


为什么它不是我定义的顺序。有什么评论吗?
谢谢你,
杰克

6l7fqoea

6l7fqoea1#

它应该是顺序的,也许你有一个队列,它不是空的,它从以前的执行返回值。
根据文件:

清算费用说明
对于插件

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

For Functions当你停止JMeter测试时,队列不会自动清除(如果你没有使用Pre/PostProcessors),所以当你开始新的测试时,你可能会在FIFO中有一些以前运行的值。第一次调用fifoPut时,队列会被清除。为了解决这个问题,你可以选择队列名称,它会随着每次测试运行而改变(例如,依赖于测试开始时间等)。

因此,通过__fifoSize()函数仔细检查队列的大小,然后清除队列或将其重命名为动态名称,您将获得连续的用户名。
x1c 0d1x的数据
更多信息:线程间通信

相关问题