Jmeter-functions

提供:Dev Guides
移動先:案内検索

jMeter-関数

JMeterの関数とユーザー変数

JMeter関数は、任意のサンプラーまたはテストツリー内の他の要素のフィールドに入力できる特別な値です。

  • 関数呼び出しは次のようになります-
${__functionName(var1,var2,var3)}
  • functionName_は、関数の名前と一致します。 たとえば、 $ \ { threadNum}
  • 関数のパラメータにカンマが含まれている場合、以下に示すように「\」でエスケープするようにしてください-
${__time(EEE\, d MMM yyyy)}
  • 変数は次のように参照されます-
${VARIABLE}

機能一覧

次の表は、大まかに型にグループ化された関数のグループを示しています-

Function Type Name Comment
Information threadNum Get thread number.
Information samplerName Get the sampler name (label).
Information machineIP Get the local machine IP address.
Information machineName Get the local machine name.
Information time Return current time in various formats.
Information log Log (or display) a message (and return the value).
Information logn Log (or display) a message (empty return value).
Input StringFromFile Read a line from a file.
Input FileToString Read an entire file.
Input CSVRead Read from CSV delimited file.
Input XPath Use an XPath expression to read from a file.
Calculation counter Generate an incrementing number.
Calculation intSum Add int numbers.
Calculation longSum Add long numbers.
Calculation Random Generate a random number.
Calculation RandomString Generate a random string.
Calculation UUID Generate a random type 4 UUID.
Scripting BeanShell Run a BeanShell script.
Scripting javaScript Process JavaScript (Mozilla Rhino).
Scripting jexl, jexl2 Evaluate a Commons Jexl expression.
Properties property Read a property.
Properties P Read a property (shorthand method).
Properties setProperty Set a JMeter property.
Variables split Split a string into variables.
Variables V Evaluate a variable name.
Variables eval Evaluate a variable expression.
Variables evalVar Evaluate an expression stored in a variable.
String regexFunction Parse previous response using a regular expression.
String escapeOroRegexpChars Quote meta chars used by ORO regular expression.
String char Generate Unicode char values from a list of numbers.
String unescape Process strings containing Java escapes (e.g. \n & \t).
String unescapeHtml Decode HTML-encoded strings.
String escapeHtml Encode strings using HTML encoding.
String TestPlanName Return name of current test plan.
  • 2種類の機能があります-
  • ユーザー定義の静的な値(または変数)
  • 組み込み関数
  • ユーザー定義の静的な値を使用すると、テストツリーをコンパイルして実行するために送信するときに、静的な値に置き換える変数を定義できます。
  • 変数はネストできません。つまり、 $ \ {Var $ \ {N}} は機能しません。
  • V(変数)関数(2.2以降のバージョン)を使用してこれを行うことができます-$ \ { V(Var $ \ {N})}。
  • このタイプの置換は機能なしでも可能ですが、あまり便利ではなく、直感的でもありません。

関数と変数を使用する場所

関数と変数は、任意のテストコンポーネントの任意のフィールドに書き込むことができます。

次の機能は、テスト計画でうまく機能するはずです-

  • intSum
  • longSum
  • machineName
  • BeanShell
  • javaScript
  • jexl
  • ランダム
  • time
  • プロパティ関数
  • ログ機能

テスト計画で使用される機能には、いくつかの制限があります。 JMeterスレッド変数は、関数の処理時に完全には設定されていないため、パラメーターとして渡された変数名は設定されず、変数参照は機能しません。 したがって、_split()_および_regex()_および変数評価関数は機能しません。 _threadNum()_関数は機能せず、テスト計画レベルでは意味がありません。

変数と関数の参照

  • テスト要素内の変数の参照は、変数名を「$ \ {」および「}」で囲んで行います。
  • 関数は同じ方法で参照されますが、慣例により、ユーザー名の名前との競合を避けるために、関数の名前は「__」で始まります。
  • 一部の関数は、引数を設定するために引数を取ります。これらは、カンマ区切りの括弧で囲みます。 関数が引数を取らない場合、括弧は省略できます。 たとえば-
${__BeanShell(vars.put("name"\,"value"))}
  • または、スクリプトを変数として定義できます。 テスト計画-
SCRIPT     vars.put("name","value")
  • スクリプトは次のように参照できます-
${__BeanShell(${SCRIPT})}

関数ヘルパーダイアログ

関数ヘルパーダイアログは、JMeterの[オプション]タブから利用できます。

  • 関数ヘルパーを使用して、プルダウンから関数を選択し、その引数に値を割り当てることができます。 表の左の列は引数の簡単な説明を提供し、右の列はその引数の値を書き込む場所です。 異なる関数は異なる引数を取ります。
  • これが完了したら、「生成」ボタンをクリックすると、適切な文字列が生成されます。必要な場所にテストプランにコピーアンドペーストできます。

事前定義された変数

一部の変数は、JMeterによって内部的に定義されています。 彼らは-

  • COOKIE_cookiename-Cookie値が含まれています。
  • JMeterThread.last_sample_ok-最後のサンプルがOKであったかどうか-true/false。 注-これは、ポストプロセッサとアサーションが実行された後に更新されます。
  • START変数。

定義済みのプロパティ

一部の組み込みプロパティは、JMeterによって定義されます。 これらは以下にリストされています。 便宜上、STARTプロパティも同じ名前の変数にコピーされます。

  • START.MS-ミリ秒単位のJMeter開始時間。
  • START.YMD-yyyyMMddとしてのJMeterの開始時間。
  • START.HMS-HHmmssとしてのJMeterの開始時間。
  • TESTSTART.MS-ミリ秒単位のテスト開始時間。

START変数/プロパティは、テストの開始時間ではなく、JMeterの開始時間を表すことに注意してください。 主にファイル名などでの使用を目的としています。