您好我创建了一个包含10个事务控制器的线程组,每个控件都有多个HTTP请求采样器。 现在要根据需求确定瓶颈,每个事务控件必须一个接一个地运行。 例如:30个线程 - 注册和登录。发送报告和注销是该方案。 所以,对于每个动作,我创建了1个包含所需http采样器请求的事务控制器。首先,我需要为30个用户运行注册。在获得所有30个用户的响应后,只应运行登录事务控制器。等等......一个接一个。 我尝试创建多个线程组,但我在每个组中获取安全令牌。因此,如果我创建多个线程组,则无法在另一个线程组中调用一个线程组的变量值。 所以,如果有人知道解决方案帮助我,我是jmeter的初学者...
答案 0 :(得分:1)
如果您希望仅在所有30个用户完成“注册”交易时才启动“登录”交易,您需要:
Number of Simultaneous Users to Group by
设置为30
这样,测试操作采样器将充当“会合点”,因此所有30个线程将在那里“相遇”,这样您就可以确信所有30个线程在开始登录之前完成了注册。
示例测试计划:
答案 1 :(得分:1)
这可以仅使用' Synchronizing Timer'来实现。 JMeter的元素。请在下面找到该元素的简要说明:
您可以使用以下结构创建脚本:
注意:在上面的示例中,您可以看到我已将同步计时器添加为Login事务控制器下的第一个HTTP采样器请求的子级。
当测试到达HTTP注册登录1'然后在发送此请求之前,它将执行同步计时器并等待所有用户完成注册操作。
对于初学者,RedLine13的以下博客文章对于JMeter的快速入门非常有用:
https://www.redline13.com/blog/kb/
此外,当您使用同步计时器时,响应时间肯定会增加,因为此计时器将暂停测试,直到所有用户都到达该步骤然后执行登录操作。由于所有30个用户将同时执行登录操作,因此与某些用户正在进行注册而其他用户正在进行登录的情况相比,响应时间将会变高。
如果您有任何问题,请告诉我。