1

在JMeter中,我有一個要求,在所有其他線程組完成其運行後,我想要運行特定線程組,我知道tearDown線程組具有類似的行爲,但不幸的是,邏輯必須是我的常規線程的一部分。Jmeter:是否有可能在所有其他線程組完成後運行特定線程組

假設我的測試計劃中有4個線程組A,B,C & D,並且我希望線程組D只在A之後執行,B & C將完成其運行。

我們是否可以在不使用「setup,teardown &一次運行一組」的情況下實現此目的?

問題截圖:

enter image description here

+1

這是某種形式的面試問題的? – vins

回答

1

我可以建議2種選擇:

  1. 使用Inter-Thread Communication Plugin。有關詳細信息,請參閱example test plan
  2. 如果由於某種原因,你是不是在位置使用JMeter的插件就可以實現同樣的使用JMeter的性能,如:

    • 當一個線程組完設置JMeter的屬性,即ThreadGroupADone=true使用__setProperty()功能像

      ${__setProperty(ThreadGroupADone,true,)} 
      
    • 在d線程組:

      • 在線程組的開頭添加While Controller並使用以下條件:

        ${__javaScript("${__P(ThreadGroupADone,)}"=="false",)} 
        
      • 添加Test Action採樣作爲在控制器的一個孩子,將其配置爲暫停幾秒鐘的合理數量,即5所以每個5秒雖然控制器將檢查ThreadGroupADone屬性值,如果它仍然是false - 再睡5秒。當屬性值將變爲true - 線程組D將繼續。
相關問題