Testim では複数の方法で Cookie の設定(set)と取得(get)が可能です。Cookie を「設定」すると、属性値がブラウザに書き込まれます。「取得」すると、ブラウザ内の Cookie 値を取り出して変数に代入できます。
Cookie を扱う代表的な方法:
- Cookie ステップ — Cookie 用の専用ステップを利用します。選択肢は次のとおりです:
_Set Cookie – テストで使用する Cookie を定義する新規ステップ。HttpOnly や Secure Cookie の作成は Set Cookie ステップからが推奨されます。
- Get Cookie — AUT のブラウザから Cookie を取得してパラメーターに保存。以降のステップ(Set Cookie を含む)で参照可能。
- Setup ステップの「Test Data」プロパティ — 特定のテストでページ読込前に Cookie を読み込ませたい場合に使用。Cookie のドメイン追加はこの Test Data で行うのが推奨。
- カスタム JS(JavaScript)ステップ — テスト開始時でなくても良い場合に、任意の箇所で set/get を行う。
- 設定ファイル & 実行フック — CLI 実行時に設定ファイル経由で Cookie を設定。スイート全体で必要な場合に有効。注: CLI から Cookie を「取得」することはできません。
Cookie を設定する
Cookie の値は、手入力または Get Cookie で取得したパラメーターから設定できます。
Set Cookie ステップで設定
Set Cookie ステップは、テストの UI から直接 Cookie を設定します。属性を手入力するか、Get Cookie で取得したパラメーターを利用します。
属性を直接入力して Cookie を設定するには:
- 追加したい位置の (矢印)にカーソルを合わせます。

アクションオプションが表示されます。

- “M”(Testim predefined steps)をクリックします。
Predefined steps メニューが開きます。

- Actions をクリックします。
Actions メニューが展開されます。

- 下にスクロールして Set Cookie を選択します。
Set Cookie 画面が表示されます。

- Create new Cookie ラジオボタンが選択されていることを確認します(既定値)。
- 最初の 4 つの Cookie Info フィールドに値を入力します。
- Cookie name – Cookie 名(必須)。
- Cookie value – 設定したい値(必須)。
- Domain – Cookie を送信するホスト。空欄(既定)の場合はテストが実行されている Base URL が使用されます(任意)。
- Path – リクエスト URL に含まれている必要があるパス。空欄(既定)はルートディレクトリを意味します(任意)。
- Expires (Max-Age) フィールドで有効期限を選択します(既定値は session)。
- Cookie を HttpOnly にしたい場合は HttpOnly チェックボックスをオンにします。
- HTTPS 通信時のみ送信したい場合は Secure チェックボックスをオンにします。
- back arrow をクリックしてメインの Editor 画面に戻ります。

テストを実行すると、指定した属性で Cookie が設定されます。
パラメーターから Cookie を設定するには:
- Cookie を追加したい位置の (矢印)にカーソルを合わせます。

アクションオプションが表示されます。

- “M”(Testim predefined steps)をクリックします。
Predefined steps メニューが開きます。

- Actions をクリックします。
Actions メニューが展開されます。

- 下にスクロールして Set Cookie を選択します。
Set Cookie 画面が表示されます。

- Use cookie parameter ラジオボタンを選択します。
Parameter Name フィールドが表示されます。

- Parameter Name に、事前に作成した Cookie パラメーター/変数の名前を入力します。詳細は Getting Cookies using the Get Cookie step を参照してください。
- back arrow をクリックしてメインの Editor 画面に戻ります。

テスト実行時、その時点のパラメーター値を使って Cookie が設定されます。
Setup ステップの「Test Data」プロパティを使って Cookie を設定する
特定テストでのみ Cookie を読み込ませたい、あるいはページ読み込み前に Cookie を設定したい場合は、Setup ステップの Test Data プロパティを使います。
Test Data プロパティで Cookie を設定するには:
- テストの最初のステップである Setup ステップにカーソルを合わせ、Show Propertiesアイコンをクリックします。

右側に Test Configuration Properties パネルが表示されます。

- オプションをスクロールして Test Data をクリックします。
JavaScript エディターが開きます。

- エディターに Cookie を設定するコードを記述します。
return { cookies: [ { name: 'username', value: 'tomsmith', domain: 'http://google.com', }, { name: 'password', value: 'SuperSecretPassword!', }, ],};back arrow をクリックしてメインの Editor ウィンドウに戻ります。

テストを実行すると、ページ読み込み前に Cookie がロードされた状態でテストが開始されます。
カスタム JS(JavaScript)ステップを使って Cookie を設定する
特定のタイミングで Cookie を設定したいが、テスト開始直後である必要はない場合は、Custom JavaScript ステップ(custom action)を使って任意の位置で Cookie を設定できます。
カスタムアクションステップで JavaScript を使って Cookie を設定するには:
- Cookie を追加したい位置の (矢印)にカーソルを合わせます。

アクションオプションが表示されます。

- “M”(Testim predefined steps)をクリックします。
Predefined steps メニューが開きます。

- Actions をクリックします。
Actions メニューが展開されます。

- 下にスクロールして Add custom action を選択します。
Add Step ウィンドウが表示されます。

- Name the new step フィールドに、このステップの分かりやすい名前を入力します。
- 他のテストでも再利用できる共有ステップとして保存したい場合は、Shared step のチェックを維持し、保存先フォルダーを選択します(既定値)。このステップを共有したくない場合はチェックを外します。
- Create Step をクリックします。
JS Editor と右側の Custom Action Properties パネルが開きます。

- エディターに Cookie を設定するコードを記述します。下記は一例です。
document.cookie = 'password=SuperSecretPassword!';document.cookie = 'username=tomsmith';- 必要に応じて Custom Action Properties パネルのプロパティを設定します。
- Step name – ステップ名(既定値は手順 5 で入力した名前)。
Description – ステップの説明(既定値 = Run action)。
- Share step – ステップを共有ステップとして保存するかどうか。
- + Params – JavaScript / HTML パラメーターの追加。詳細は Parameters in custom JavaScript steps を参照してください。
- When this step fails – ステップ失敗時の挙動。
- When to run step – ステップ実行条件。詳細は Conditions を参照してください。
- Override timeout – 既定のタイムアウト時間(ステップ失敗までの時間)をミリ秒単位で上書きします。
テストを実行すると、Custom Action ステップの位置で Cookie 設定処理が実行されます。
設定ファイルを使って Cookie を設定する
CLI からテストスイートを実行する場合、設定ファイル(Configuration file)を使ってスイート全体に共通の Cookie を設定することもできます。設定ファイルはテスト/スイート実行に必要なパラメーターや実行フック(run hooks)を定義する JavaScript ファイルで、バックエンドの初期化などにも利用されます。
設定ファイルを使って Cookie を設定するには:
- JavaScript の設定ファイルを作成します。詳細は Configuration file & run hooks を参照してください。
beforeSuiteセクションに Cookie を設定するコードを追加します。以下は例です。
beforeSuite: function (suite) { return { "cookies":[ { "name": "username", "value": "tomsmith", }, { "name": "password", "value": "SuperSecretPassword!" }] };}Cookie を取得する
Testim では、Cookie の値を変数に代入することで Cookie を「取得」し、テスト内で属性を再利用することができます。
Get Cookie ステップを使って Cookie を取得する {#getting-cookies-using-the-get-cookie-step}
Get Cookie ステップを使うと、テスト中の UI から直接 Cookie を読み取り、その値を変数に保存できます。
Get Cookie ステップで Cookie を取得するには:

- Cookie を取得したい位置の (矢印)にカーソルを合わせます。

アクションオプションが表示されます。

- “M”(Testim predefined steps)をクリックします。
Predefined steps メニューが開きます。

- Actions をクリックします。
Actions メニューが展開されます。

- 下にスクロールして Get Cookie を選択します。
Editor 内に “Get Cookie” ステップが追加されます。
- 追加されたステップにカーソルを合わせ、Show Properties アイコンをクリックします。

右側に Properties パネルが表示されます。

- 次のプロパティを設定します。
Description – ステップの説明(既定値 = Get Cookie)。
- Cookie name – 取得したい Cookie 名。文字列はシングル/ダブルクォートで囲む必要があります。
Variable name – Cookie 情報を保存する変数名(既定値 = myCookie)。
- Variable scope – 変数をどの範囲で参照できるか:
- Local: 同一スコープ内のステップ間で共有
- Test: 同一テスト内のステップ/グループ間で共有
- Suite: 同じテストスイート内のテスト間で共有
- When this step fails – ステップ失敗時の挙動。
- When to run step – ステップ実行条件。詳細は Conditions を参照してください。
- Override timeout – 既定のタイムアウト時間を上書き(ミリ秒)。
テスト実行時、指定した Cookie の情報が変数に保存されます。
カスタム JS(JavaScript)ステップを使って Cookie を取得する
Get Cookie ステップを使わなくても、custom action ステップ内の JavaScript で Cookie の値を取得することもできます。
カスタムアクションステップで Cookie を取得するには:
- Cookie を取得したい位置の (矢印)にカーソルを合わせます。

アクションオプションが表示されます。

- “M”(Testim predefined steps)をクリックします。
Predefined steps メニューが開きます。

- Actions をクリックします。
Actions メニューが展開されます。

- 下にスクロールして Add custom action を選択します。
Add Step ウィンドウが表示されます。

- Name the new step フィールドに、このステップの分かりやすい名前を入力します。
- 他のテストでも再利用できる共有ステップとして保存したい場合は、Shared step のチェックを維持し、保存先フォルダーを選択します(既定値)。共有不要ならチェックを外します。
- Create Step をクリックします。
JS Editor と Custom Action Properties パネルが開きます。

- エディターに Cookie を取得するコードを記述します。以下は、
usernameとpasswordという Cookie の値を取得してログ出力する例です。
//create an array of the site cookieslet cookieArray = document.cookie.split('; ');var name = 'username=';for (var i = 0; i < cookieArray.length; i++) { var c = cookieArray[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { console.log('username = ' + c.substring(name.length, c.length)); }}
var name = 'password=';for (var i = 0; i < cookieArray.length; i++) { var c = cookieArray[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { console.log('password = ' + c.substring(name.length, c.length)); }}- 必要に応じて Custom Action Properties パネルのプロパティを設定します。
- Step name – ステップ名(既定値は手順 5 で入力した名前)。
Description – ステップの説明(既定値 = Run action)。
- Share step – ステップを共有ステップとして保存するかどうか。
- + Params – JavaScript / HTML パラメーターの追加。詳細は Parameters in custom JavaScript steps を参照してください。
- When this step fails – ステップ失敗時の挙動。
- When to run step – ステップ実行条件。詳細は Conditions を参照してください。
- Override timeout – 既定のタイムアウト時間を上書き(ミリ秒)。
テストを実行すると、Custom Action ステップ内で定義した Cookie 取得処理が実行されます。