このページでは、Basic認証によって保護されているウェブサイトやページをテストする方法についてご説明します。
Basic認証が設定されたページに対してテストを実行するには、シナリオに認証情報(ユーザー名とパスワード)を渡す必要があります。Autifyでは、いくつかの方法で認証情報を設定することができます。
方法1:URLに認証情報を含める
最も簡単で一般的な方法は、シナリオのURL自体に認証情報を含めることです。この方法は、シナリオの開始URLや、「ページ遷移」ステップで利用できます。
手順
シナリオを編集、または新規作成します。
認証が必要なページのURLを、以下の形式で指定してください。
https://<ユーザー名>:<パスワード>@<ドメイン名>/<パス><ユーザー名>と<パスワード>を、実際の認証情報に置き換えてください。
記載例
例えば、ユーザー名が taro、パスワードが hunter2 で、アクセスしたいURLが https://website.example.com/some/page の場合は、以下のようにURLを設定します。
https://taro:hunter2@website.example.com/some/page
方法2:「Playwrightコードステップ」を利用する (非推奨)
「Playwrightコードステップ」を使用して、Basic認証を通過することもできます。
この方法は、主に以下のような特殊なケースで有効です。
URLへ直接移動するのではなく、リンクやボタンのクリックによってBasic認証が要求されるページへ遷移する場合
1つのシナリオ内で、異なる認証情報が必要な複数のサイトをテストする場合
手順
Basic認証が要求される操作(例:「ページ遷移」ステップ)の 直前 に、「Playwrightコードステップ」を追加してください。
以下のコードを入力欄に貼り付け、認証情報を編集します。
await context.setHTTPCredentials({
username: "<ユーザー名>",
password: "<パスワード>"
});
<ユーザー名>と<パスワード>を、実際の認証情報に置き換えてください。
注意: この setHTTPCredentials を利用する方法は、Playwrightによって非推奨 (Deprecated) とされています。特別な理由がない限り、「方法1」または「方法3」の利用を推奨します。
方法3:テストプランの高度なオプションで設定する
テストプラン単位でBasic認証情報を一括設定することも可能です。この方法を利用すると、テストプランに含まれるすべてのシナリオに対し、同じ認証情報が適用されます。
手順
対象のテストプランを開いてください。
「高度なオプション」をクリックします。
以下のJSONコードをコピーし、入力欄に貼り付けてください。
{ "httpCredentials": { "username": "<ユーザー名>", "password": "<パスワード>" } }<ユーザー名>と<パスワード>を、実際の認証情報に置き換えてください。
「完了」ボタンをクリックして、設定を保存します。
詳細は、Playwrightの公式ドキュメントも併せてご確認ください。 Playwright - testOptions.httpCredentials
ご不明な点がございましたら、お気軽にサポートまでお問い合わせください。