変数は、柔軟なシナリオを作成するための仕組みです。例えば、仮想ユーザそれぞれに異なるID/パスワードの組み合わせを割り当てたり、レスポンス内容のJSONデータを保存しておき、後続のリクエストに利用するなど、変数を利用することでさまざまなシナリオの作成が可能になります。変数には、全仮想ユーザで同じ値を共有する「シナリオ変数」と仮想ユーザ毎の値を管理・利用できる「セッション変数」があります。
シナリオ変数
シナリオ変数は全ての仮想ユーザで共通の値を利用するためのものです。シナリオ編集画面の左メニューの「シナリオ変数」から定義できます。
追加ボタンを押下すると変数名と値を入力できるフォームが追加されます。変数名は定義した値を参照するための名前です。2~20文字の半角英数とアンダースコアが利用でき、先頭文字は半角英字のみ使えます。変数利用時にはここで決めた変数名を利用するのでわかりやすい名前にしておきましょう。例として変数名login_id、値testと変数名password、値secretの2つを定義します。
これでシナリオで定義した2つの変数login_idとpasswordが使えるようになりました。POSTリクエストを作成し、フォームを選んで「追加」ボタンからパラメータを追加し、一番左のセレクトボックスから「変数」を選択してください。一番右のセレクトボックスでさきほど定義した変数login_id, passwordが選択できます。
上記はあくまでも例としての使い方ですが、使いどころとしては、
・すべてのユーザで同じパラメータを利用する。
・一部のパラメータのみ異なる、同様のシナリオが複数必要な場合、異なるパラメータ部分のみを変数化しておければ、コピーして変数だけ書き換えれば簡単に複数のシナリオに対応できます。
・同じ値をいろんな箇所に埋め込む必要があり、それらが一気に変更される場合がある。
セッション変数
前述の通り、セッション変数は仮想ユーザ毎に異なる値を管理するための仕組みです。仮想ユーザにどの値を割り当てるかは、CSVファイルで設定します。ページ左端のメニューにある「セッション変数」を開いてください。すでにサンプルデータを登録していますので、「サンプル: ユーザデータ.csv」の右端のダウンロードボタンからCSVをダウンロードして内容を確認します。
ダウンロードしたCSVをエクセルで開いた中身が以下になります。
フォーマットは、1行目が変数名、2行目以降がデータです。これを実際にシナリオから読み込みます。シナリオ編集画面の左メニューの一番下にある「セッション変数」からです。左側のセレクトボックスでは読み込むCSVファイルの名前を選択し、右側のセレクトボックスでは変数の割り当て方式を選択します。
「昇順」を選択した場合は、CSVの2行目から順番に変数が割り当てられます。例えば、CSVのデータ100行、仮想ユーザ10人でテストを実行すると最初の10行分のみ割り当てられ、11行目~100行目までの変数は利用されません。逆に変数データよりも仮想ユーザの方が多い場合は、再度1行目から割り当てを行います。データ100行、仮想ユーザ110人であれば、先頭100仮想ユーザには1~100行目までの変数が割り当てられ、101~110番目の仮想ユーザには1~10行目の変数が割り当てられます。「ランダム」を選択した場合は、変数の割り当てがランダムになります。
以上の設定で、シナリオからセッション変数を利用できるようになります。