2

我想制定一个测试计划JMeter如下:

我有一个特定的网络服务器流程:

Req1  
Reply for Req1  
Req2  
Reply for Req2  
Req2  
Reply for Req2    
etc

我需要将这些作为单个流运行,即每个线程从头到尾执行此操作(而不是 由不同的线程发送)。 我还需要在每次迭代中发送不同的参数,所以我使用了. Req1Req2
CSV data set

问题:
我需要为每个线程的所有请求从 CSV 发送同一行。

例如:
如果我有以下 CSV:

john,A1111,engineer  
bill,A2111,manager  
mary,C1111,secretary   

我需要在所有请求中将第一行发送到线程 1 到最后一个请求的所有流中,并在所有请求等 Req1中通过线程 2 发送第二行。

这可能吗?我尝试将相同的 CSV 文件添加到我的所有控制器,但仍然无法按预期工作。

更新:
我感兴趣的是让每个线程消耗 CSV 文件中的 1 行,并为我的流程中的所有请求“缓存”该行。

4

1 回答 1

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如果线程数 N > csv 中的条目数,将回收您的 csv。
于 2013-02-19T17:13:33.053 回答