MFAログインのサポート

mabl TrainerのMFAログインの自動化

多要素認証 (MFA) は認証の階層的アプローチであり、ユーザーはアプリケーションにログインするために識別情報を複数の形式で提供する必要があります。たとえば、ログインに成功するには、パスワードを入力するだけでなく、スマートフォンの認証アプリケーションから生成されたワンタイムコードを入力しなければならない場合があります。
mablは次のタイプのMFAを使用するアプリケーションのテストの自動化をサポートしています。

  • 時間ベースのワンタイムパスワード認証
  • 電子メールワンタイムパスワード (OTP) 認証

各タイプのMFAと、mablテストでこれらを自動化する方法について説明します。

時間ベースのワンタイムパスワード認証

時間ベースのワンタイムパスワード (TOTP) 認証を使用するアプリケーションでは、ユーザーは認証情報を次の2つの形式で提供します。

  • 通常のパスワード
  • Google Authenticator、Microsoft Authenticator、AuthyなどのTOTP認証アプリーションで生成された追加の一時コード

認証アプリケーションの一時コードは、30秒間など、一定の時間に限り有効です。コードが時間切れになると、認証アプリケーションは新しい一時コードを生成します。

📘

早期アクセスプログラム

TOTP認証は、現在早期アクセスプログラムとしてサポートされています。ワークスペースでこの機能を有効化するには、[Labs] ページ ([Settings] > [LABS]) で (`[Settings] > [LAB をオンに切り替えます。

機能は一般提供の前に変更される可能性があります。早期アクセスにご参加の皆様は、ぜひカスタマーサクセスマネージャーまたはmabl Product Portalを通じてフィードバックをお寄せください。

TOTP認証を使用するアプリケーションをテストするには、mablクレデンシャルを作成し、ブラウザーテストに [MFA Authenticator code] ステップを追加して一時コードを挿入します。その仕組みを以下に示します。

クレデンシャルの新規作成

📘

権限

Mablクレデンシャルを作成できるのは、ワークスペースの所有者と編集者だけです。

MFA用のmablクレデンシャルを作成する前に、アプリケーションでMFAを有効化し、テスト対象のアプリケーションからQRコードのスクリーンショットを取得してください。あるいは、シークレットキーを使用する方法もあります。

準備が整った段階で、次の手順を実行します。

  1. [Credentials] ページを開きます ([Configuration] > [CREDENTIALS])。
  2. [+ New credentials] をクリックします。
  3. クレデンシャルの名前を指定します。オプションとして、説明を追加することもできます。

👍

説明の追加

説明を追加すると、クレデンシャルに関する詳細なコンテキストをチームに提供できるため、コラボレーションが容易になります。

  1. ユーザー名とパスワードを入力します。
  2. 次のいずれかの方法でMFAコードを設定します。
    1. [MFA Authenticator secret code] フィールドにシークレットテキストコードを入力します。
    2. [Authenticator QR Code] ボタンをクリックし、QRコードのスクリーンショットまたはイメージをアップロードします。
MFAクレデンシャルの追加

MFAクレデンシャルの追加

  1. [Save] をクリックすると、クレデンシャルが作成されます。

新しいクレデンシャルのタイプは "basic with MFA" です。以降、これらのクレデンシャルを「MFAクレデンシャル」と呼びます。

MFAクレデンシャルは [Configuration] > [CREDENTIALS] で表示できます。MFA (TOTP) 認証コードは30秒ごとに更新されます。

MFAクレデンシャルの表示

MFAクレデンシャルの表示

mabl Trainerの起動

MFAクレデンシャルを作成したため、TrainerでMFAログインをトレーニングする準備が整いました。次の方法で、作成したMFAクレデンシャルにブラウザーテストを関連付けてください。

新しいブラウザーテスト: ブラウザーテスト作成フォームで [Show advanced options] をオンに切り替え、使用するMFAクレデンシャルを選択します。あるいは、これらのクレデンシャルに関連付けられたプランにテストを関連付けます。

新しいテストへのクレデンシャルの追加

新しいテストへのクレデンシャルの追加

既存のブラウザーテスト: [Edit test] ボタンをクリックし、[Launch Trainer] を選択します。[Edit test configuration] モーダルで、使用するMFAクレデンシャルを選択します。

既存のテストのクレデンシャルの設定

既存のテストのクレデンシャルの設定

MFAログインのトレーニング

mabl Trainerでアプリケーションのログインページを開き、[Rec] ボタンをオンにして、次の手順を実行します。

  1. ユーザー名フィールドに変数app.defaults.usernameを入力します。この変数はMFAクレデンシャルのユーザー名です。
  2. パスワードフィールドに変数app.defaults.passwordを入力します。この変数はMFAクレデンシャルのパスワードです。
  3. アプリケーションからMFAコードの入力を求められたら、プラス記号 (+) をクリックしてステップを追加します。
ステップの追加

ステップの追加

  1. [MFA Authenticator code] を選択します。Trainerから、ブラウザーウィンドウでの入力の選択を求められます。
  2. 認証コードを挿入する入力フィールドをクリックします。Trainerが入力フィールドに認証コードを挿入します。
一時コードの入力

一時コードの入力

  1. ログインを送信します。ログインを成功させるために、MFA認証ステップの直後に、ログインを完了させるステップを記録します。30秒が経過すると、認証コードは無効になります。

📘

Unified Runnerのサポート

MFA認証コードステップは、Unified Runnerを実行するテストでのみサポートされます。

電子メールワンタイムパスワード認証

電子メールワンタイムパスワード (OTP) を使用するアプリケーションでは、ユーザーがユーザー名とパスワードを入力し、検証コードを要求します。アプリケーションは、ユーザーが登録した電子メールアドレスに検証コードを送信します。ユーザーがアプリケーションにその検証コードを入力すると、ログインは完了します。

電子メールOTPによるログインを使用するアプリケーションは、mabl Mailboxの電子メールアドレスでテストできます。

📘

mabl Mailboxの電子メールアドレスはテスト間で保持されないため、同じテストであってもアカウントを登録して、アプリケーションにログインする必要があります。

mabl Trainerで電子メールOTPログインを自動化するには、次の手順を実行します。

  1. 新しい変数を作成します ([{x}] > [Create a new variable])。
  2. 変数のソースを [mabl mailbox address] に設定します。
mabl Mailboxアドレスの作成

mabl Mailboxアドレスの作成

  1. 変数名を指定し、保存します。
  2. 作成したmabl Mailbox電子メールアドレスを使用して、アプリケーションに新しいユーザーを登録します。
    • 電子メールのフィールドにmabl Mailbox変数を挿入します ([{x}] > [Use an existing variable])。
    • パスワードを作成します。
    • 登録します。
  3. mabl Mailboxの電子メールアドレスを使用して再度アプリケーションにログインします。
  4. mabl Mailboxを開きます ([+ (Add step)] > [Mailbox])。
  5. アプリケーションから送信された、検証コードに関するメールを開きます。
mabl Mailboxでの電子メールの表示

mabl Mailboxでの電子メールの表示

  1. 新しい変数を作成します ([{x}] > [Create a new variable])。
  2. 変数のソースを [Element property] に設定します。
  3. 電子メール内の検証コードのエレメントをクリックします。
検証コードの抽出

検証コードの抽出

  1. 変数名をverification_codeなどのように指定し、保存します。
  2. アプリケーションに変数verification_codeを入力します。
  3. ログインが完了します。

📘

MFAの制限事項

WebauthnまたはFIDO (USB Yubikeysなど) を使用するアプリケーションに対して、mablは自動ログインをサポートしていません。

SMS 2FAはサポートされていませんが、JavaScriptスニペットの作成と保守に精通している場合は、mablのスニペットリポジトリからこの対処法を試して、SMS 2FA (getLatestTwilioSms.js) を実装することもできます。