我目前使用JMeter來每隔40秒模擬5個用戶觸發請求。我創建了100個不同的請求,但每隔40秒之後,每個用戶發出全部100個請求。我想這樣做,即每隔40秒後,每個用戶只會觸發1個請求,並且該請求必須與先前的請求不同。我想知道使用什麼樣的控制器(或其他)來實現這種情況。JMeter - 在每次迭代中觸發不同的請求
感謝
我目前使用JMeter來每隔40秒模擬5個用戶觸發請求。我創建了100個不同的請求,但每隔40秒之後,每個用戶發出全部100個請求。我想這樣做,即每隔40秒後,每個用戶只會觸發1個請求,並且該請求必須與先前的請求不同。我想知道使用什麼樣的控制器(或其他)來實現這種情況。JMeter - 在每次迭代中觸發不同的請求
感謝
嘗試使用Random Controller。
最簡單的方法來實現您的方案:
Thread Group Number of Threads = 5 Loop Count = N . . . Random Controller HTTP Request 001 HTTP Request 002 HTTP Request 003 . . . . . . HTTP Request 100 Test Action Target = Current Thread Action = Pause Duration = 40000 . . .
這會遍歷5個線程N倍。
隨機控制器將隨機接收來自「請求池」的每一步http請求 - 所有采樣器都作爲子任務添加到隨機控制器中。
測試動作將暫停線程40秒。
更新:對於上述方案
工作說明:
Thread Group Number of Threads = 5 Ramp-Up Period = 0 Loop Count = 10 Constant Timer Thread Delay (in ms) = 40000
你可以從這裏下載工作示例用於描述的方案:rc-plan.jmx。
這個工作方式(至少對於我來說,Jmeter 2.5.1):它爲每個用戶(這裏是5個用戶)在每個步驟中隨機選擇一個來自請求池的請求(例如 - 10個請求) 10個循環)並暫停每個線程40秒(恆定時間)。
你也可以看看這個郵件存檔:Is their a way to randomize URL selection?。
類似於你的情況似乎被描述爲here。
...根據官方文檔「多個控制器之間的交互會產生複雜的行爲,這對於隨機控制器尤其如此。」
您的另一種選擇可能是提前爲您的請求創建帶有參數的CSV文件,並使用CSV Data Set Config來對單個http請求進行參數化。
這當然取決於你的HTTP請求是多麼的不同,但如果它適合你的要求有在您的測試計劃與維護1個http請求100
的其他細節將是相同的一些潛在的獎金正如@Alies Belik所展示的那樣 - 爲您所需的線程和循環數配置一個線程組,並在最後暫停40秒時使用一個常量計時器。
上述設置是否會使每個線程每40秒觸發一次請求(從請求池中隨機選取一個請求)或每隔40秒觸發一次100個請求?我試了一下,它仍然每40秒發射100次。你能否寄給我一個適合你的樣本測試計劃?非常感謝您的幫助Alies – user1066568
試試這個:http://www.filehat.com/en/file/27104/rc-plan-jmx.html。對我來說工作得很好(Jmeter 2.5.1)。 –
非常感謝你的那個Alies。 – user1066568