我测试的第一部分是将X消息发送到特定的rabbitmq队列,这是一个负载测试,我需要使用多个线程和循环来设置它。 测试的第二部分是从兔子队列中获取消息列表,检查它是否包含我发送的每条消息。为此,我从第一部分发送的每条消息中提取消息 id 值,并将其传递到第二部分以在“断言(消息列表)”包含”(消息 id)”中使用。
如果我将第二部分的线程和循环保持为 1,它只会执行一次,但它也只会检查一个消息 id。如果我将它们设置为等于第一部分,它将过早获取消息列表并错误地失败其中许多消息(当我在rabbitmq上手动检查时,我可以看到所有消息都在那里)。 我需要能够执行一次消息检查(当第一部分完成所有线程和循环时),并且我需要它来查找消息 id 值的每个变量。
对测试的第一部分和第二部分使用不同的线程组,也许甚至值得考虑对第二部分使用tearDown Thread Group。
消息 ID 列表可以通过 JMeter 属性或线程间通信插件从一个线程组传递到另一个线程组,请参阅在多个线程组中使用 JMeter 变量一文了解更多详细信息。