JMeterのロジック・コントローラは、サンプラの実行の順序を決定します。右のスレッドグループ - >追加 - >ロジックコントローラを。
シンプルコントローラ
単純なコントローラは、サンプラに加え方法JMeterのプロセスに影響を及ぼしません。ちょうど私達がグループ名を行うのに役立ちます。
例:
次のプログラムでは、最初は簡単なコントローラの2つの要求を追加するには:「ロード製品検索ページ」と「商品Aを検索」、およびコントローラは、名前の「商品の選択」され、第2のシンプルコントローラに別の2を追加しますリクエスト:「カートに入れる」と「支払う」とコントローラ名「支払業務。」実行結果は、それが単にサンプラーを加え、コントローラには影響しない、見ることができます。
第二に、ループコントローラ
サンプラーループコントローラ又はロジックコントローラに追加された場合、スレッド群を循環させるための指定された値に加えて、JMeterはそのサイクルの特定の数になります。例えば、HTTP要求がコントローラ2のサイクルのサイクル・カウントに追加され、スレッドグループは3サイクル、合計送信のJMeter 2 * 3 = 6 HTTPリクエストに設定されています。
例:
ログイン要求スレッドをセットアップするための追加、及びサイクル数を設定するスレッドグループは1です。そして、充電要求別のサイクルコントローラを追加します。私たちは、サイクルコントローラは、5回に設定されます。
ログイン、再充電、充電、充電、充電や充電:次の順序でJMeterの送信要求
第三に、一つだけのコントローラ
唯一つのコントローラは、あろう常にループ任意の親コントローラの最初の反復中に実行すること。
1)ループコントローラのサイクルの指定された数の数字は、コントローラは、ループ・コントローラを介して、最初の反復中に1回だけ実行される場合。
2)スレッドのみ一度だけ実行される実行の最初の反復中に、どんなに多くのサイクルスレッドグループの設定、グループに配置されていない場合。
例:
1)スレッドグループは、コントローラの1サイクルのみがコントローラに配置され、一度だけ、コントローラにログイン要求を追加し、サイクルのセット数であり、コントローラの別のサイクルを追加するための充電要求、5サイクルに設定されています
ログイン、再充電、充電、充電、充電や充電:次の順序でJMeterの送信要求
2)一つだけスレッドグループ内のコントローラは、コントローラへのログイン要求は、一度だけ、別のスレッドグループを追加するための充電要求を添加し、サイクル数は、スレッドグループ5に設定されています
第四に、交互にコントローラ
あなたは、または代替コントローラにサンプラ・ロジック・コントローラを追加した場合、各コントローラは、各ループ反復の下で実行する間、JMeterは交互になります。
忽略子控制器块及跨线程交替默认不选中,若选中,参见以下说明:
示例:
交替控制器置于线程组下,向线程组添加一个”加载商品搜索页面“请求,线程组循环次数设为4;向交替控制器添加两个请求:“搜索A商品”、“搜索B商品”
五、随机控制器
随机控制器的作用类似于交替控制器,不同在于它不是通过其子控制器和采样器按顺序排列,而是在随机选取一个。
示例:
随机控制器置于线程组下,向线程组添加一个”加载商品搜索页面“请求,线程组循环次数设为4;向随机控制器添加两个请求:“搜索A商品”、“搜索B商品”
运行之后,可以看到跟交替控制器的区别,每次通过该随机控制器下请求时随机取。
六、随机顺序控制器
随机顺序控制器类似简单控制器,区别在于该控制器下的节点请求执行顺序是随机的。
示例:
向随机顺序控制器中添加以下4个HTTP请求,运行后,可以看到该控制器下的4个HTTP请求顺序是随机的。
七:吞吐量控制器
吞吐量控制器作用:控制用户执行的频率。
有两种模式:
总执行次数(Total Executions): 设置运行次数
执行百分比(Percent Executions): 设置运行比例(1~100之间)
该控制器的其他元素说明,见下:
示例:
1)将吞吐量控制器1、吞吐量控制器2置于线程组下,线程组循环次数设置为5
2)吞吐量控制器1下选择Total Executions,吞吐量设为2;该控制器下的节点执行次数为2
3)吞吐量控制器2下选择Percent Executions,吞吐量设为60;该控制器下的节点执行次数=60%*线程组循环次数5=3次
运行结果:
八、Runtime Controller
控制其子节点运行多长时间。控制器将运行其子项,直到超出配置的运行时间。runtime为0时表示没有运行。
示例:
Runtime Controller置于线程组下,线程组循环次数默认1,Runtime Controller的runtime设为3s
只运行了3s停止了。