変数は、テストのテスト変数セクションで宣言されます。ただし変数は、そのテスト全体において、置換可能な任意のフィールドの参照として使用できます。 テスト変数のデータの置換は、「テスト・データ・ソース」ビューの「テスト変数」ページを使用して行います。 変数の宣言時には、デフォルト値が設定されます。 Set Variable ステートメントを使用して、このデフォルト値を変更することもできます。 Set Variable ステートメントを作成するには、テスト・エディターの「追加」メニューと「挿入」メニューを使用します。 変数には、ハードコーディングされた値、またはデータ・ソース (データプールまたは Set ステートメントの前に配置される参照など) から取得した値を設定できます。
2 つのテストで変数を共用するには、両方のテストに変数が同じ名前で含まれており、この両方の変数の「可視の対象」オプションが「このユーザーのすべてのテスト」に設定されている必要があります。 これらの条件が満たされており、かつ 1 つのスケジュール内に複数のテストが配置されている場合、1 つのテストで変数に設定されているデータを、他のテストで使用できます。
テスト間でデータを共用する一般的な理由として、データ相関の実行があります。 データ相関により、1 つのテストにおける要求に対する応答が変数に設定され、この変数が、他のテストで実行される要求で使用されます。 例えば従業員データベースをテストするとします。 従業員作成テストでは従業員レコードが作成され、従業員変更テストでは従業員レコードが変更されるとします。 作成される新規レコードには、レコード ID が割り当てられます。 この場合、変数を使用して、従業員作成テストの応答のレコード ID を、従業員変更テストに渡すことができます。
複数の仮想ユーザー間では、ユーザー定義変数は共用されません。 この変数は、同一仮想ユーザーの複数のテスト間でのみ共用されます。 また、「可視の対象」に「このテストのみ」を設定すると、両方のテストに同名の変数が含まれている場合でも、1 つのテストで設定されるデータは他のテストでは使用できません。
すべてのテストにおいてデータプールのデータを共用するように変数を定義できます。 このように定義するには、Set Variable ステートメントの値フィールドをデータプールの値に置換します。 このようにして、スケジュールの最初のテストで変数をデータプールから設定し、この変数をスケジュール内の他のテストと共用することができます。
データプールのユーザー ID を使用してアプリケーションにログインする 2 つのテストがあるとします。 1 番目のテストで変数にデータプールの値を設定し、両方のテストで、データプールを直接使用する代わりにこの変数を使用できます。 この場合、両方のテストでデータプールの同一レコードが使用されます。 これは、データプールの各ユーザーにつき 1 回だけ取り出す動作に似ています。 ただし、1 回だけ取り出す動作の場合、再生中に仮想ユーザーはデータプールからレコードを 1 つだけ取得します。 この 1 レコード制限は、テストがループしており、仮想ユーザーによってテストが数回実行される場合でも適用されます。 仮想ユーザーはユーザー定義変数を使用して、ループを繰り返すたびに新規レコードを取得します。また、両方のテストで同じレコードを使用できます。
配列変数を作成して、複数の値を変数に追加します。2 次 HTTP 要求を作成した場合は、プレイバック中にカスタム・コードで使用できる配列変数に要求の絶対パスを追加します。