アプリケーションへのログイン

mablブラウザテストでアプリケーションにログインするためのベストプラクティス

多くのテストシナリオでは、ターゲットの機能を検証する前にアプリケーションにログインする必要があります。アプリケーションにログインするようにブラウザテストをトレーニングするには、mabl トレーナーでステップを記録します。

このプロセスを簡略化し、テストごとにログインステップを作成してメインテナンスする手間を省くため、ログインに関する複数のステップをまとめて1つのFlow(フロー)に変換した後、同じタイプのログインを必要とする他のテストでFLOWをインポートするという方法があります。

ログインFlowはクレデンシャル(ユーザー名とパスワード)を組み込んで、ログインの一連のステップをひとかたまりにまとめたもので、必要に応じてユーザーが他のブラウザテストでも適用できるようにするものです。

349

mablトレーナーのログインフローの例

👍

ログインのアサーション

ベストプラクティスとして、ログイン後にアサーションステップを追加して、ログインの成功を確認することをお勧めします。

このガイドでは、mablテストでログインフローを作成して管理するための次のベストプラクティスについて概説します。

  • テスト用クレデンシャルの利用
  • クレデンシャルのアプローチの判断
  • 命名規則の設定

テスト用クレデンシャルの使用

mablはデータを安全に保存するために、ワークスペース固有の暗号化キーでクレデンシャルを暗号化します。アプリケーションの安全性をさらに高めるために、次のことをお勧めします。

  • テストで利用するための、テスト用クレデンシャルをアプリケーションに作成する。
  • テストでは、個人を得的できるようなクレデンシャルを使用しない。

クレデンシャルを使用するテストの結果はワークスペースに保存されるため、そこでは他のチームメンバーも結果を確認できることに注意してください。この出力には次の内容が含まれます。

  • スクリーンショット
  • Chromeトレース
  • HARログ (HTTPアーカイブ)

クレデンシャル設定方法の検討

アプリケーションにログインする方法として、mablクレデンシャルを使用する方法があります。mablクレデンシャルはワークスペースレベルで設定でき、実行時にアプリケーションに渡される特殊な変数クラスです。

以下の理由から、mablクレデンシャルを使用するログインフローを作成することをお勧めします。

  • ワークスペースの所有者は、mablクレデンシャルへのアクセスをユーザーの役割で管理できる。
  • フローやテストにクレデンシャル情報が記載されることがない。
  • mablクレデンシャルはmabl内で特別な暗号化が施されて保存される。

テスト用のmablクレデンシャルの設定については、mablクレデンシャルに関するガイドを参照してください。

クレデンシャルのその他のアプローチ

mablクレデンシャルには下記の2つの制限事項があります。

  1. 環境ごとに異なるmablクレデンシャルを設定することはできない。
  2. 1つのプランはmablクレデンシャルを1セットしか使用できない。

環境ごとに異なるクレデンシャルが必要なプラン、あるいは複数のクレデンシャルが必要なプランの場合、代替手段として下記の表の方法を検討してください。

方法

制限事項

環境変数: クレデンシャルを環境変数として追加し、複数の環境で実行されるテストで使用する

  • ワークスペースのメンバーであれば、誰でもテスト結果内のクレデンシャルの値を見ることができます。

特定のログインフローの作成: ハードコードされたクレデンシャルを持つログインフローを作成し、必要に応じてテストで使用する

  • ワークスペースのメンバーであれば、誰でもテスト結果内のクレデンシャルの値を見ることができます。
  • mabl Trainerの外部でこれらの資格情報の値を更新することはできません。

DataTable: 毎回異なる複数のクレデンシャルでテストを複数回実行するには、各クレデンシャルをシナリオとしてもつDataTableを作成し、テストをこのDataTableに関連付けます。
DataTable内のそれぞれのクレデンシャルシナリオに対して、テストが1回づつ実行されます。

  • ワークスペースのメンバーであれば、誰でもテスト結果内のクレデンシャルの値を見ることができます。
  • テストの実行中、クレデンシャル以外のDataTable変数にアクセスする必要がある場合、それらの変数を。クレデンシャルと同じDataTableに追加する必要があります。
  • ローカル実行ですべてのDataTableシナリオを実行することはサポートされていません。

ログインフローの命名規則の設定

ログインFlowの命名規則を設定しておくと、チームの他のメンバーがFlowを再利用しやすくなり、二度手間を省くことができます。

命名に利用できる情報として、ユーザーの役割やアプリケーション名があります。例を示します。

  • User login - main app
  • Admin login
  • Employee login - HR portal

ログインの自動化に関する制限事項

mablは、以下のような自動化対策がとられたアプリケーションに対する自動ログインをサポートしていません。

  • 時間ベースのワンタイムパスワード (TOTP) を使用した2要素認証 (Google Authenticatorなど)
  • SMS を利用する 2要素認証
  • WebauthnまたはFIDO (USB Yubikeysなど)
  • reCAPTCHA
  • NTLM

自動化防止対策は、一般的にGoogle、Apple、Facebook、LinkedIn、GitHubなどのソーシャルIDプロバイダーによって使用されています。ソーシャルIDプロバイダーを使用するアプリケーションをテストするときには、アプリケーションにログインを公開するために、次のいずれかの代替手段を検討してください。

  • ユーザー名/パスワードによるログインを代わりに使用する。
  • テスト環境に自動化ユーザー専用のログインツールを公開する。
  • IDプロバイダーが提供するツール (サービスアカウント+Google IAPなど) をテストの自動化に使用する。

Related resources