mablを使ってテストの自動化を進める中で、「Basic認証」 の壁にぶつかったことはありませんか?
テスト対象の環境(例えばステージング環境など)にBasic認証がかかっているのはよくあることですが、mablでテストを作ろうとすると、ログインダイアログが表示されてしまい、毎回 ID と パスワード を手で入力しないといけない。テストを自動化したいのに、テスト作成時のログインが手動になってしまう...。
ヘルプを探しても「クラウド実行」での設定は見つかるものの、ローカルでのテスト作成時の設定が見当たらず、「mablではBasic認証のテストはできないのでは?」と諦めてしまう方も少なくありません。
実は、mablでBasic認証を突破してテストを行うことは可能です。
多くのユーザーが混乱してしまう最大の原因は、「ローカル実行(テスト作成時を含む)」 と 「クラウド実行」 で、Basic認証の突破方法が全く異なるという点にあります。
この記事では、この「分かりにくいポイント」を整理し、セキュアかつ確実にBasic認証環境をテストするための設定方法を徹底解説します。
アンチパターン: URLにIDとパスワードを埋め込むのはNG!
設定方法の前に、よくやってしまいがちな「アンチパターン」について触れておきます。
Basic認証を回避する手軽な方法として、アクセスするURLを以下のように指定する方法があります。
https://ユーザーID:パスワード@example.com
確かにこれならIDとパスワードの入力はスキップされ、テストを作成することは可能です。しかし、この方法は アクセスログにBasic認証のIDとパスワードがそのまま平文で記録されてしまう という致命的なセキュリティ上の問題があります。
本番環境はもちろんのこと、テスト環境であっても、クレデンシャル情報がログに残る運用は避けるべきです。mablにはより安全な機能が用意されていますので、以下の正しい手順を活用しましょう。
解決策1: ローカルでのテスト作成・実行時の設定(デスクトップアプリ)
まず、mabl Trainerを開いてテストを「作成・編集」する時や、自PCのChromeブラウザを使って「ローカル実行」する時の設定です。
ヘルプには「トレーニング時は、Basic認証のクレデンシャルを手動で入力する必要があります」といった情報しか見当たらず不安になってしまいますが、実はmablデスクトップアプリの「Preferences(設定)」からHTTPヘッダーを直接追加することで自動ログインが可能になります。
設定手順
-
HTTPヘッダー設定画面へ
表示されたPreferencesダイアログの左側のメニューからHTTPヘッダーを選択します。

-
ヘッダー値の追加
「追加のブラウザHTTPヘッダー」画面が表示されるので、以下のように設定します。
キー:Authorization(※Authenticationではないので注意!)
値:Basic {Base64変換した ID:パスワード の文字列}

-
テストの作成
この設定をした状態でmabl Trainerを起動し、テスト対象サイトにアクセスします。Basic認証のダイアログは表示されず、スムーズにテスト作成を進めることができます。
解決策2: クラウド実行時の設定(mablクラウド)
テストの作成が終わり、いざmablのクラウド上でテスト(プラン)を実行する際の設定です。
クラウド実行の場合、解決策1で設定したローカルの「Preferences」の設定は反映されません。代わりに、mablの標準機能である 「クレデンシャル」 機能を使用して、安全に認証情報を渡します。
設定手順
-
Basic認証用クレデンシャルの作成
mablの左メニューから、テスト環境設定→クレデンシャルを開き、新規クレデンシャルを作成します。

-
プラン(またはテスト実行)でのクレデンシャル設定
テストを実行する際、またはプランの設定画面において、「クラウド実行」を選択します。 -
HTTPベーシック認証クレデンシャルの割り当て
実行設定の中に「HTTPベーシック認証クレデンシャル」を選択するドロップダウンがあるので、手順1で作成したクレデンシャルを指定します。

-
フォームログインとの併用も可能!
クラウド実行の際には、Basic認証のクレデンシャルとは別に、Webアプリの「ログインクレデンシャル」も設定できます。これにより、「Basic認証を通過した後に、Webアプリのログイン画面で別のID/パスワードを使ってログインする」というシナリオも、コードを書くことなく簡単に実現できます。
まとめ
mablでBasic認証を突破するための設定は、実行環境によって以下のように分かれています。
| 実行環境 | いつ使うか | 認証の突破方法 |
|---|---|---|
| ローカル | テストの作成・編集時,ローカル実行時 | mablデスクトップのPreferencesから Authorizationヘッダー を追加 |
| クラウド | クラウドでのテスト実行時 | 実行/プラン設定画面からHTTPベーシック認証クレデンシャルを指定 |
この「ローカルとクラウドでの設定の違い」さえ理解してしまえば、mablでのBasic認証テストは決して難しくありません。
URLへのパスワード埋め込みといった危険な方法を避け、mablの機能を正しく活用して、セキュアで信頼性の高い自動テストを構築していきましょう!
追記
Base64変換時の注意点: ダブルクオートはNG, シングルクオートを使う
Basic 認証で使用する username:password を Base64 に変換する際、
ダブルクォートを使うと誤変換が起きる場合があります。
特に $ や % などの記号を含むパスワードの場合、
シェルが 変数展開 として解釈してしまい、意図しない文字列が Base64 化されてしまいます。
ダブルクオートは危険(誤変換の例)
echo -n "user:foobar$u" | base64
この方法では、パスワード中の $u が「変数 u」として扱われ、
実際には "user:foobar" だけがエンコードされてしまいます。
正しく変換するにはシングルクオートを使う
echo -n 'user:foobar$u' | base64
シングルクォートで囲むことで、
特殊文字をすべて“そのまま”扱うため、正しい Base64 が得られます。
デコードして確認する方法
echo -n '<Base64文字列>' | base64 --decode
元の username:password に戻れば成功です。


