mablでは、ユーザーのWeb体験をカスタマイズするCookieを使用するテストをトレーニングできます。この記事では、mablトレーナーでCookieとCookie属性を操作するさまざまな方法について説明します:
Cookieの設定
「set cookie」ステップを使用すると、Webアプリの状態を素早く更新できます。ユースケースには次のようなものがあります:
- コンテンツバナーを閉じる
- テストするアプリのバージョンや機能を制御します。詳細については、A/Bバリアント間での自動化を参照してください。
- 後続のテストにログインセッションを復元します。完全なワークフローについては、テスト間での変数の共有を参照してください。
Trainerでcookieを設定するには、以下のステップを実行してください:
- 「set cookie」ステップを追加します:+ (ステップを追加) > Cookie > Cookieを設定する。
- 名前と値を入力します。既存の変数の値に名前または値を設定する場合は、mabl変数構文を使用してください:
{{@variable_name}}。 - オプション: 追加の属性を設定するには、詳細設定をオンに切り替えて、必要に応じてカスタマイズしてください。
- OK をクリックして Cookie を保存します。
ほとんどのWebアプリは、ページの読み込み時にのみCookieをチェックします。Cookieがセッションに適用されたことを確認するために、「set cookie」ステップを追加した後にページの更新を記録する必要がある場合があります。
API レスポンスから Cookie を設定する
Web アプリの基盤となる API に「Set-Cookie」ヘッダーを返すエンドポイントが含まれている場合、API ステップを使用して Cookie を設定できます。たとえば、API がサポートしている場合、API ステップを使用して認証 Cookie をブラウザセッションに適用したり、特定のブラウザ状態を素早く設定したりできます。
UIテストでのAPIステップに関する記事で詳細をご確認ください。
Cookie値の取得
Cookieの値を設定することに加えて、既存のCookieの値を抽出し、他の場所での検証のために共有することができます。たとえば、認証Cookieの値を取得し、共有変数ワークフローを使用して他のテストに渡すことができます。
トレーナーでcookie値を取得して他の場所で使用するには、以下のステップを実行してください:
- 新しい変数を作成します:{x}(変数)> 変数を作成。
- 「Cookie value」を使用して変数を設定します。
- Cookie を名前で選択し、その値を変数に使用します。
- 変数に名前を付けます。
- OK をクリックして保存します。
HTTP Only Cookie
選択可能なCookieのリストには、HTTP Only Cookieが含まれています。認証によく使用されるHTTP Only Cookieは、JavaScriptスニペットからアクセスできず、変数作成メニューからのみアクセスできます。
Cookieの検証
期待されるCookie値が存在することを確認するには、Cookieアサーションを追加します:
- 新しいアサーションを追加:✔︎ (Assert) > クッキー
- ドロップダウンメニューからCookieを選択して、その属性を表示します。トレーナーは、現在のページに関連付けられているすべてのCookieのリストを自動的にこのドロップダウンに入力します。
- OKをクリックします。
- タイプ、プロパティ、比較する値など、アサーションの詳細を設定します。
- OKをクリックして、アサーションステップを保存します。
Cookieの削除
ブラウザの状態をリセットしたい場合は、トレーナーですべてのcookieをクリアできます:+ (ステップを追加) > Cookie > 全ページのCookieを消去する。cookieをクリアすると、アプリケーションからユーザーがサインアウトされる可能性があることに注意してください。
特定のCookieを削除したい場合があります。たとえば、ログアウトシナリオをテストするために認証Cookieを削除したい場合などです。トレーナーで特定のCookieを削除するには、次のステップを実行してください:
- + (ステップを追加) > Cookie > Cookieを削除する。
- 削除したいCookieの名前を入力してください。
- OKをクリックします。