テスト対象のアプリ・Webサイトで二要素認証が必要な場合、MagicPodに認証用のキーを保存することで認証を行うことができます。
対応している認証方法
Google AuthenticatorやAuthyなどの認証用アプリでQRコードを読み取ることで、アプリに表示されるパスコードを入力するとログインできるタイプの認証であればOKです。
メールを使用した認証は、送信されたメールからコードを取得することで自動化できます。 メールテストの自動化を設定するには、このページを参照してください。
SMSの認証には対応していませんが、モバイル実機を組み合わせれば自動化することができます。
詳しくはこちらの記事をご確認ください:SMS認証テストを自動化してみた(iPhoneのショートカットアプリ編)
利用方法
認証用キーの取得・登録(初回のみ)
テスト対象アプリ・Webサイトで二要素認証の設定を開始し、以下のようなQRコードのスキャンを求める画面を表示させます。このとき、「スキャンできない場合」のようなリンクをクリックすると、QRコードの代わりに表示される文字列を確認できます。これが認証用のキーとなります。
テスト対象の画面にこうしたリンクがない場合は、スマートフォンなどでQRコードを読み取ることで、同様の文字列(認証用のキー)を取得できます。
この認証用キーを第三者に知られると、パスコードを生成され認証を突破される可能性があります。取り扱いには十分ご注意ください。
最後に、通常の二要素認証と同様に、認証アプリでQRコードを読み取り、表示されたパスコードを入力して設定を完了してください。認証アプリに登録された情報は、後で削除しても問題ありません。認証先のアプリ・Webサイト側に連携情報が保持されていれば、認証に影響はありません。
テストケース内でのパスコードの生成と利用
二要素認証のパスコードは一定時間ごとに更新されるため、テスト実行時に毎回生成する必要があります。そのために専用のコマンド「二要素認証用のパスコードを生成して保存」を使います。
このコマンドには「変数」「キー」という2つのパラメータがあります。「キー」には前述の認証用キーの取得・登録で取得した文字列を指定します。「変数」には生成されたパスコードを格納するための任意の変数名を指定します。
すると、キーから生成された6桁のパスコードが設定した変数に保存されます。下の例では、PASSCODEという変数に「123456」のようなコードが保存されますので、画面上で必要な入力欄にそのコードを入力しています。
このときキーを直接入力するとテストケース上やログ上に残ってしまうので、シークレット共有変数に設定するなどして直接は見えないようにしておくと良いでしょう。