多くのテストシナリオでは、目標とする機能を検証する前にアプリケーションにログインする必要があります。あなたのアプリケーションにログインするためのブラウザテストやモバイルテストをトレーニングするには、mablトレーナーでステップを記録します。
このプロセスを簡略化し、テストごとにログインステップを作成してメインテナンスする手間を省くため、ログインに関する複数のステップをまとめて1つのFlow(フロー)に変換した後、同じタイプのログインを必要とする他のテストでFLOWをインポートするという方法があります。
ログインフローは、ユーザー名とパスワードというクレデンシャルを取り入れ、再利用可能なステップのパッケージに組み込み、テストに必要に応じて適用できます。
ベストプラクティスとして、ログイン後にアサーションステップを追加して、ログインの成功を確認することをお勧めします。
このガイドでは、mablテストでログインフローを作成して管理するための次のベストプラクティスについて概説します。
- テスト用クレデンシャルの利用
- クレデンシャルのアプローチの判断
- 命名規則の設定
テスト用クレデンシャルの使用
mablはデータを安全に保存するために、ワークスペース固有の暗号化キーでクレデンシャルを暗号化します。アプリケーションの安全性をさらに高めるために、次のことをお勧めします。
- テストで利用するための、テスト用クレデンシャルをアプリケーションに作成する。
- テストでは、個人を得的できるようなクレデンシャルを使用しない。
- テスト環境に秘密データをアクセスするための、クラウドクレデンシャルを作成
クレデンシャルを使用するテストの結果はワークスペースに保存されるため、そこでは他のチームメンバーも結果を確認できることに注意してください。この出力には次の内容が含まれます。
- スクリーンショット
- Chromeトレース
- HARログ (HTTPアーカイブ)
クレデンシャル設定方法の検討
アプリケーションにログインする方法として、mablクレデンシャルを使用する方法があります。mablクレデンシャルはワークスペースレベルで設定でき、実行時にアプリケーションに渡される特殊な変数クラスです。
以下の理由から、mablクレデンシャルを使用するログインフローを作成することをお勧めします。
- ワークスペースの所有者は、mablクレデンシャルへのアクセスをユーザーの役割で管理できる。
- フローやテストにクレデンシャル情報が記載されることがない。
- mablクレデンシャルはmabl内で特別な暗号化が施されて保存される。
- セキュリティ強化のため、mablのクレデンシャルはクラウドのクレデンシャルとして保存することができます。
テスト用のmablクレデンシャルの設定については、mablクレデンシャルに関するガイドを参照してください。
アプリケーションでMFA(多要素認証)を使用する場合は、MFAログインのサポートに関するガイドをご覧ください。
クレデンシャルのその他のアプローチ
mablクレデンシャルには下記の2つの制限事項があります。
- 環境ごとに異なるmablクレデンシャルを設定することはできない。
- 1つのプランはmablクレデンシャルを1セットしか使用できない。
環境ごとに異なるクレデンシャルが必要なプラン、あるいは複数のクレデンシャルが必要なプランの場合、代替手段として下記の表の方法を検討してください。
方法 |
制限事項 |
---|---|
環境変数: クレデンシャルを環境変数として追加し、複数の環境で実行されるテストで使用する |
|
特定のログインフローの作成: ハードコードされたクレデンシャルを持つログインフローを作成し、必要に応じてテストで使用する |
|
DataTable: 毎回異なる複数のクレデンシャルでテストを複数回実行するには、各クレデンシャルをシナリオとしてもつDataTableを作成し、テストをこのDataTableに関連付けます。DataTable内のそれぞれのクレデンシャルシナリオに対して、テストが1回づつ実行されます。 |
|
ログインフローの命名規則の設定
ログインFlowの命名規則を設定しておくと、チームの他のメンバーがFlowを再利用しやすくなり、二度手間を省くことができます。
命名に利用できる情報として、ユーザーの役割やアプリケーション名があります。例を示します。
- User login - main app
- Admin login
- Employee login - HR portal
ログインの自動化に関する制限事項
mablは、以下のような自動化対策がとられたアプリケーションに対する自動ログインをサポートしていません。
- reCAPTCHA または CAPTCHA
- NTLM
自動化防止対策は、一般的にGoogle、Apple、Facebook、LinkedIn、GitHubなどのソーシャルIDプロバイダーによって使用されています。ソーシャルIDプロバイダーを使用するアプリケーションをテストするときには、アプリケーションにログインを公開するために、次のいずれかの代替手段を検討してください。
- ユーザー名/パスワードによるログインを代わりに使用する。
- テスト環境に自動化ユーザー専用のログインツールを公開する。
- IDプロバイダーが提供するツール (サービスアカウント+Google IAPなど) をテストの自動化に使用する。
mablトレーナーは、Googleアカウントへの自動ログインをサポートしていません