JMeter的執行順序是按照線程組中的控制器依次執行的。
在同一線程中,JMeter按照以下順序執行測試元素:
- 首先,執行線程組的配置元素,例如用戶定義的變量、CSV數據文件配置等。
- 然后,執行線程組中的所有前置處理器(Pre-Processor),例如正則表達式提取器、BeanShell前置處理器等。
- 接下來,執行線程組中的所有控制器,例如if控制器、循環控制器、事務控制器等。控制器決定測試元素的執行次數和順序。
- 在控制器之后,執行線程組中的所有取樣器(Sampler),例如HTTP請求、FTP請求等。
- 然后,執行線程組中的所有斷言器(Assertion),例如響應斷言、HTML斷言等。斷言器用于驗證取樣器的響應是否符合預期。
- 最后,執行線程組中的所有后置處理器(Post-Processor),例如正則表達式提取器、BeanShell后置處理器等。
需要注意的是,JMeter在同一線程中按照控制器的順序依次執行測試元素,但是在實際執行過程中,可能會有并發操作發生。例如,在循環控制器中設置了多個線程,并發執行多個取樣器。這種情況下,實際執行的順序可能與控制器中的順序不一致。