我想在JMeter
中制定一个测试计划,如下所示:
我有一个Web服务器的特定流程:
Req1
Reply for Req1
Req2
Reply for Req2
Req2
Reply for Req2
etc
我需要将这些操作作为单个流程运行,即每个线程从头到尾执行此操作(不 Req1
和Req2
由不同的线程发送。)
我还需要在每次迭代中发送不同的参数,因此我使用了CSV data set
。
问题:
我需要从CSV发送相同的行,以获得每个线程的所有请求。
例如:
如果我有以下CSV:
john,A1111,engineer
bill,A2111,manager
mary,C1111,secretary
我需要在所有中将第一行发送到Req1
到线程1的最后一个请求,第二行在所有请求等。
这可能吗?我尝试将相同的CSV文件添加到我的所有控制器,但仍然无法按预期工作。
更新
我感兴趣的是让每个线程从CSV文件消耗1行并且"缓存"我的流程中所有请求的那一行。
答案 0 :(得分:0)
实现场景的最简单方法如下:
Test Group
Number of Threads = N
CSV Data Set Config
Filename: ... (your csv-file here)
Variable Names: name,id,position // (as per your csv sample above)
Delimiter: ,
Recycle on EOF = True
Stop Thread on EOF = False
Sharing Mode = All threads
Simple Controller // that's optional: simply to group your requests flow
Sampler 01 // use ${name}, ${id}, ${position} variables to refer extracted values
Sampler 02
...
Sampler X
Number of Threads = N
将启动N个帖子; Sharing Mode = All threads
或Sharing Mode = Current thread group
将强制每个线程从csv读取单独的行,然后在所有后续采样器中使用提取的值; Recycle on EOF = True
将回收您的csv csv中的条目数。