JMeter學習筆記(十一) 關於 CSV Data Set Config 的 Sharing mode 對取值的影響


 

  關於 CSV Data Set Config 的一些介紹之前已經梳理過了,可以參考: https://www.cnblogs.com/xiaoyu2018/p/10184127.html 。

  今天主要是對於HTTP請求讀取CSV文件的數據的一些思路整理,記錄的步驟可能比較啰嗦,但有對比就比較好理解。

首先,先添加相應的測試計划、線程組、HTTP請求 以及 CSV Data Set Config

 

1、測試計划的線程數為1,循環數為1的前提下,修改Sharing mode

數據:線程組A(請求A1),線程組B(請求B1),線程組C(C1)

當有多個線程時:

 All threads : 按照執行順序,每個線程請求行一行數據

(A1,A2,A3取第一行數據,B1,B2,B3取第二行數據;C1,C2,C3取第三行數據)

Current thread group : 每個線程組都是取的第一行數據

(A1,A2,A3取第一行數據,B1,B2,B3取第一行數據;C1,C2,C3取第一行數據)

 Current thread : 每個請求的每個線程都是從第一行數據開始取

(A1,A2,A3取第一行數據,B1,B2,B3取第一行數據;C1,C2,C3取第一行數據)

 

 

 

2、測試計划的線程數為n,循環數為1的前提下,修改Sharing mode

數據:線程組A(請求A1,A2,A3),線程組B(請求B1,B2,B3),線程組C(C1,C2,C3)

當有多個線程時:

 All threads : 同一個線程組中的所有請求的第n個線程都是取同一行數據,但是所有線程組,都是取新的一行數據

(A1,A2,A3第一次取第一行數據,第二次去第二行數據;B1,B2,B3第一次取第三行數據,第二次取第四行數據;C1,C2,C3第一次取第五行數據,第二次取第六行數據)

Current thread group : 線程組中,每個請求有n個線程,從線程1-n都是從第一行數據開始取

(A1,A2,A3第一次取第一行數據,第二次去第二行數據;B1,B2,B3第一次取第一行數據,第二次取第二行數據;C1,C2,C3第一次取第一行數據,第二次取第二行數據)

 Current thread : 每個請求的每個線程都是從第一行數據開始取

(A1,A2,A3第一次取第一行數據,第二次去第一行數據;B1,B2,B3第一次取第一行數據,第二次取第一行數據;C1,C2,C3第一次取第一行數據,第二次取第一行數據)

 

 

3、測試計划的線程數為1,循環數為n的前提下,修改Sharing mode

數據:線程組A(請求A1,A2,A3),線程組B(請求B1,B2,B3),線程組C(C1,C2,C3)

當有多個線程時:

 All threads : 同一個線程組中的所有請求的第n個循環都是取同一行數據,但是每一輪循環都取新一行數據,不同線程組接着上面線程組的順序取新一行數據

(A1,A2,A3第一次循環取第一行數據,第二次循環取第二行數據,第三次循環取第三行數據;B1,B2,B3第一次循環取第四行數據,...)

Current thread group : 線程組中,每個循環都取新一行數據;不同線程組,都是從第一行開始取

(A1,A2,A3第一次循環取第一行數據,第二次循環取第二行數據,第三次循環取第三行數據;B1,B2,B3第一次循環取第一行數據,C1,C2,C3第一次循環取第一行數據,...)

 Current thread : 每一個請求的線程,每個循環都取新一行數據

(A1,A2,A3第一次循環取第一行數據,第二次循環取第二行數據,第三次循環取第三行數據;B1,B2,B3第一次循環取第一行數據,C1,C2,C3第一次循環取第一行數據,...)

 

  

 

4、測試計划的線程數為n,循環數為n的前提下,修改Sharing mode

數據:線程組A(請求A1,A2,A3),線程組B(請求B1,B2,B3),線程組C(C1,C2,C3)

當有多個線程時:

 All threads : 線程組中所有請求的同批次線程取相同數據,每個請求的每個線程、每一輪循環都取新一行數據,不同線程組接着上面線程組的順序取新一行數據

(A1執行了 2*3=6次,分別取了第1-6行數據,A2,A3相同;B1從第1行數開始取,...)

Current thread group : 線程組中,每個線程每次循環都取新一行數據;不同線程組,都是從第一行開始取

(A1執行了 2*3=6次,分別取了第1-6行數據,A2,A3相同;B1從第1行數開始取,...)

 Current thread : 每一個請求的線程,都是從第一行開始,每個循環都取新一行數據

(A1執行第一個線程,循環了3次,分別取第1-3行數據;第二個線程,還是取第1-3行數據;A2,A3相同;B1從第1行數開始取,...)

 

 

總結:

 All threads : 不區分線程組,按照執行順序,每個線程、每次循環,都會取新一行數據

Current thread group : 線程組中,每個線程、每次循環都取新一行數據;不同線程組,都是從第一行開始取

 Current thread : 每一個請求的線程,都是從第一行開始,每個循環都取新一行數據

(線程數和循環數,是指線程組中配置“線程屬性”)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM