Jmeter之利用IF控制器讓取樣器按順序分組執行

2022-09-22 08:36:59 字數 1352 閱讀 1539

先看一下效果:

思路:利用2個if控制器(ifa和ifb)判斷允許執行的sampler組(取樣a組和取樣b組)

設定使用者定義變數2個(flaga=0,flagb=1;其中0表示執行,1表示不執行),分別給2個if控制器的做判斷條件。

ifa中的sampler組執行了n次之後,使用beanshell的後置處理器將flaga=1,flagb=0;(取樣a組不在執行,取樣b組執行)

詳細說明:

配置1、執行緒組,記得勾選排程器,用持續時間控制整體測試周期

配置2、使用者自定義變數,定義flaga和flagb

一、a組

1、如果(if)控制器1

2、迴圈控制器1,迴圈5次,然後執行beanshellpostprocessor

3、beanshellpostprocessor指令碼

vars.put("project01flag","1");   //讓a組停止執行

vars.put("project02flag","0");   //讓b組開始執行

二、b組

1、如果(if)控制器2

2、迴圈控制器2,迴圈8次,然後執行beanshellpostprocessor

3、beanshellpostprocessor指令碼

vars.put("project02flag","1");  //讓b組停止執行

綜上所述:

已經可以控制線執行a組中的取樣組5次(實際測試中可以多放入幾個取樣器用於完成一個場景1),然後a組停止開始執行b組中的取樣組8次,儘管時間還沒有到30秒,但是此時控制a和控制b都停止執行(flaga=1,flagb=1),則此次jmeter壓力測試也結束了。