如何依次为每个线程依次运行两个相关采样器,即一次为每个用户运行?可以用jmeter吗?

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

Test Plan Screenshot我的应用程序流程如下:我有一个WEB服务,它有两个端点。接下来将使用在一个中获取的值。例如:我必须在第一个请求中获取一些AWBs值,然后我必须使用该AWB值来体现。现在,我必须检查此完整的事务是否有多个线程。

我的测试计划的结构如下:

测试计划Http请求默认用户定义的变量设置线程组(仅获得一次Auth_token)Http标头管理器CSV数据集配置(用于传递用户凭据)Http请求(获取令牌)Json Extractor(从响应中提取令牌)Beasnshell声明(将令牌传递给下一个线程)线程组交易控制器1Http Request1(获取AWB值)交易控制器2Http Request2(处理该AWB值)播报员

我暂时正在为10位用户运行。

现在,我希望第一次为线程1(user1)依次运行事务控制器1和事务控制器2。一旦完成事务控制器2的执行,只有在该线程2之后才应开始执行事务控制器1和事务控制器2,依此类推...

但是,目前运行测试计划后,我得到的结果是这样的:

事务控制器1(用于线程1)事务控制器2(用于线程1)事务控制器1(用于线程2)事务控制器1(用于线程3)事务控制器2(用于线程2)事务控制器1(用于线程4)事务控制器2(用于thread3),依此类推...

但是我希望结果如下:事务控制器1(用于线程/用户1)事务控制器2(对于线程/用户1)

事务控制器1(对于线程/用户2)事务控制器2(用于线程/用户2)

事务控制器1(对于线程/用户3)事务控制器2(用于线程/用户3)等等...

请让我知道有什么方法可以实现此结果。

performance-testing
1个回答
0
投票

欢迎使用Stackoverflow。

线程被限制为一个线程组。您不能将同一线程用于另一个线程组。如果确实需要这样做,那么您将需要按照完成的操作将数据写入csv。

Thread group Arranegment

作为替代方案,您可以明智地做的是连续运行线程组。您需要选中上面的复选框。之后,在下一个线程组中读取创建的csv文件以获取身份验证令牌。

Loop Counter as 1

如上所述,您现在需要使用将计数器设置为1的循环计数器(保持序列的方法之一)。这样可以确保遵循该顺序。结果选项卡显示线程完成时的状态。因此,如果线程2在线程1之前完成,则线程2将在结果中排​​在第一位。

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