2012-04-30 71 views
3

我需要一些幫助來使用JMeter。我想記錄兩個不同的場景,例如點擊2個不同的按鈕。如果我嘗試運行2個用戶,一個用戶應該打第一個按鈕,另一個應該同時打另一個按鈕。吞吐量控制器的用途?

我知道這是基本問題。但我是這個新手。那就是爲什麼問這裏。我試圖象下面這樣:


Thread Group 
-Throughput Controller 
     --Login 
     --Clicking 1st button 
-Throughput controller 
     --Login 
     --Clicking 2nd button 

當我使用CSV數據集配置2個用戶運行,無論是登錄時相同的用戶。

而且我還需要測試併發性。我不知道如何正確執行這一個。任何人都可以幫助我嗎?

+0

您對吞吐量控制器使用了什麼設置? –

+0

執行百分比是50.我希望2個用戶應該執行2個不同的操作。如何執行此操作? – user28

+0

我喜歡[jmeter手冊](http://jmeter.apache.org/usermanual/component_reference.html#Throughput_Controller):_「這個控制器命名錯誤,因爲它不控制吞吐量。」_ .. 。但是你試圖用它來達到它的正確目的 – KCD

回答

7
  1. 吞吐量控制器將工作正確,如果你有多個單一的迭代。
    I.e.您應該有N個循環(使用循環控制器,例如)子流水控制器設置X百分比(X是整數,0 < = X < = 100) - 因此N循環中的X%也是整數值。
    您可以查看this discussion以獲得更好的示例和解釋。

  2. 對於你的情況,你可以嘗試使用建築像下面這樣:


Thread Group 
Number of Threads = 2 
Loop Count = 1 
+- While Controller 
    Condition = ${__javaScript("${login}"!="<EOF>",)} 
    +- CSV Data Set Config 
     Filename = users.csv 
     Variable Names = login,pwd 
     Delimiter = , 
    +- Loop Controller 
     Loop Count = 10 
     +- Login 
     +- Throughput Controller 
     Percent Execution 
     Throughput = 50.0 
     +- Clicking 1st button 
     +- Throughput Controller 
     Percent Execution 
     Throughput = 50.0 
     +- Clicking 2nd button 
     +- Logout 

其中
- 有2個線程(Thread組:線= 2號)同時開始每從csv文件中提取的唯一憑證(用於登錄的Controller + CSV數據集配置);
- 整個測試流程 - 登錄>單擊按鈕(第一或第二)>註銷 - 將使用循環控制器重複N次,這使得吞吐量控制器可以正常工作。

+0

謝謝Alies。 1.問題是,它又需要2個相同的用戶。我已經根據你的回覆進行了嘗試。 2.並且登錄採樣器在單獨運行時工作正常。但是併發性不起作用。它的要求就像在響應數據中輸入你的密碼一樣。但是,對於所有用戶來說都很好。你能告訴我該怎麼辦? – user28

+0

嗯。這個例子對我來說工作得很好(唯一的區別是我從csv中提取URL並將請求發送到提取的URL而不是點擊按鈕1/2)。確保從csv正確提取證書並通過登錄請求發送 - 對每個用戶都是唯一的(發送檢查請求以及可以使用Debug Sampler查看變量值),至少檢查jmeter.log是否有錯誤。仔細檢查控制器/採樣器中的字段值和參數。 –

+0

我沒有看到任何需要與每個吞吐量控制器分別登錄的情況 - 所使用的構造將爲單一登錄採樣器使用唯一值。但這是微不足道的。 –