テスト対象のアプリ・Webサイトで二要素認証が必要な場合、MagicPodに認証用のキーを保存することで認証を行うことができます。
対応している認証方法
Google AuthenticatorやAuthyなどの認証用アプリでQRコードを読み取ることで、アプリに表示されるパスコードを入力するとログインできるタイプの認証であればOKです。
メールを使用した認証は、送信されたメールからコードを取得することで自動化できます。 メールテストの自動化を設定するには、このページを参照してください。
SMSの認証には対応していません。
利用方法
認証用のキーの登録(初回のみ)
対象のアプリ・Webサイトで認証用のキーを登録し、手元に保存します。キーの生成・登録方法はアプリ・サイトごとに異なりますが、ここではGitHub(https://github.com)を例にして説明します。それぞれ対象に合わせて読み替えてご利用ください。
GitHubの設定画面の「Account Security」から、「Enable two-factor authentication」をクリックして二要素認証の設定を行う画面を開きます。
続いて、「Set up using an app」をクリックしてアプリを用いた認証を選びます。
下図のようなQRコードが表示されたら、「enter this text code」のリンクをクリックして登録用の文字列を表示させます。これはQRコードを読み取った結果の文字列と同じです。大抵のサイトではQRコードと共にこういったリンクが表示されていますが、リンクがない場合にはバーコードリーダーでQRコードを読み取ると同じ文字列を取得することができます。
GitHubの場合はこのような文字列が表示されます。これがMagicPodで二要素認証を通すためのキーとなりますので、コピーして保管しておいてください。
このキーの値を知っていれば誰でも二要素認証のコードを計算して突破できるようになってしまうので、取り扱いには注意してください。
最後に、通常の二要素認証の設定と同じように認証用アプリでQRコードを読み込み、表示された認証用のパスコードを入力して二要素認証の登録を終えてください。認証用アプリに登録した情報は削除しても構いません。認証する側のアプリ・Webサイト(この場合はGitHub)に連携情報が残っていればOKです。
テストケース内でのパスコードの生成と利用
二要素認証用のパスコードは一定時間ごとに更新されるため、テスト実行時に毎回作り直す必要があります。そのために専用のコマンド「二要素認証用のパスコードを生成して保存」を使います。
このコマンドには「変数」「キー」という2つのパラメータがあります。「キー」には先程設定時にコピー(またはQRコードから取得)した文字列を設定し、「変数」には任意の変数名を設定します。すると、キーから生成された6桁のパスコードが設定した変数に保存されます。下の例では、PASSCODEという変数に「123456」のようなコードが保存されますので、画面上で必要な入力欄にそのコードを入力しています。
このときキーを直接入力するとテストケース上やログ上に残ってしまうので、シークレット共有変数に設定するなどして直接は見えないようにしておくと良いでしょう。