關於 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 : 每一個請求的線程,都是從第一行開始,每個循環都取新一行數據
(線程數和循環數,是指線程組中配置“線程屬性”)
