我有一个测试计划,其中有多个线程组 我想按顺序运行所有线程组 线程组如下:
Thread Group1
Thread Group2
Thread Group3
. . .
Thread GroupN
我在互联网上阅读了不同的博客和文章,人们声称线程组将按照定义的顺序运行,但显然它们不属于我的情况。线程组4在线程组1之前运行。线程Group4正在生成一个错误的报告,因为它在Thread Group1之前运行。
如何确保线程组的排序?
另外,我需要实现以下方案:
单个用户多次运行单个请求(单个用户应该从单个HTTP请求创建1000个帐户)。
多个用户同时多次运行多个请求(多个用户应同时从一个HTTP请求创建1000个帐户)。
怎么做?
PS:请在回复之前仔细阅读并理解查询。
答案 0 :(得分:74)
关于在测试计划中连续执行线程组:Test Plan configuration screen上的简单检查Run Test Group consecutively
复选框:
使用例如Loop Controller为此:
Thread Group
Number of Threads = 1
Loop Count = 1
...
Loop Controller
Loop Count = N
HTTP Request
...
甚至没有Loop Controller的架构,但不那么灵活:
Thread Group
Number of Threads = 1
Loop Count = N
...
HTTP Request
...
使用标准线程组的Number of Threads
属性以及Ramp-Up Period
属性:
Thread Group
Number of Threads = N
Ramp-Up Period = 0
Loop Count = 1
...
HTTP Request
...
这将启动N个并发线程执行相同的场景。
答案 1 :(得分:6)
在Test Plan
中连续检查运行线程组(即一次运行一个组)。
答案 2 :(得分:1)
关于Alies Belik的答案,除了连续运行线程组之外还有另一种方法
第一部分使用Setup Thread Group。
关于设置加速期,最好设置值> 0,
根据线程数
更为现实开始它可能会延迟启动,你拥有的越多,启动时间就越多。
答案 3 :(得分:1)
答案 4 :(得分:1)
这是我发现的以特定顺序运行多个线程组的简单解决方案:
答案 5 :(得分:0)
请参阅此链接。这会要求您选中主测试计划中的复选框
Run Thread Groups consecutively (i.e. one at a time)
http://www.mahsumakbas.net/run-jmeter-thread-groups-consecutively/