2016-03-23 81 views
2

enter image description here所有的HTTP請求在同一時間在JMeter中

在我的測試計劃登錄我之後點擊鏈接,該鏈接進行呼叫到10+不同的服務來顯示數據。根據目前的測試計劃,所有這些10+服務都採用順序格式,我不知道是否有一種方法可以同時呼叫所有這些服務。我可以創建多個線程來實現這一點,但由於我有更多的鏈接添加,它會創建更多的線程和更多的登錄實例。只是想獲得建議,如果我可以使用Jmeter中提供的邏輯控制器做些事情?

回答

3

不幸的是,每個線程總是按順序運行(唯一的例外是HTTP採樣器中的嵌入式資源的檢索,但現在對您的情況有用)。有幾個選項:

  1. 使用多線程以隨機順序控制器或隨機控制器

  2. 上並行運行使用線程組。而爲了不重複每一個線程組中的代碼,使用Module Controller

  3. 我看到jmeter-parellarel-request,但我與它沒有任何經驗,所以不建議

+0

謝謝。我正在嘗試3建議,但它只能執行一次。需要做更多的研究。 – Akshay

+0

我通常選擇2,因爲它離現實最近。還有一個選項4,但這個選項很複雜:選項是創建自己的採樣器,然後在那裏做任何你想做的事情。 –

+0

模塊選項又是不一樣的,我有8個不同的調用,我需要在同一時間,現在如果我認爲我創建了8個模塊,他們仍然不會並行運行嗎?如果我的理解錯誤,請告知我。 – Akshay

3

按照設計,JMeter的不支持同時爲單個用戶發送多個HTTP調用。它只會按順序發送它們!所以,你可能無法完全像瀏覽器一樣模擬AJAX請求。

但是JMeter有Beanshell採樣器/ JSR223採樣器,您可以通過它自己實現它。

請參閱this example

對於少數線程/用戶來說,這種方法可能沒問題。當我試圖按照類似的方法處理超過20個線程時,我得到了一個非常簡單的測試的內存不足錯誤,因爲它必須創建多個線程來模擬每個用戶的AJAX調用。

+0

感謝您的迴應,我認爲JSR223會有侷限性,我無法做參數化操作數據?如果我錯了,請糾正我的錯誤... – Akshay

相關問題