ベストプラクティス

mablは、機械学習によってサポートされる堅牢な自動テストを作成できるため、テストが誤った理由で失敗することを心配する必要がありません。
mablを最大限に活用するために、以下の共通プラクティスをまとめました。

mablは、機械学習によってサポートされる堅牢な自動テストを作成できるため、テストが誤った理由で失敗することを心配する必要がありません。

mablを最大限に活用するために、以下の共通プラクティスをまとめました。

📘

日本向けベストプラクティス

このページのベストプラクティスも考慮した、日本向けのベストプラクティスもウェビナーで紹介させていただきました。動画も公開していますので、お時間があればぜひ以下もご確認ください。

E2Eテスト自動化成功のための10のベストプラクティス!

1. ページ変更時のアサーション追加

新しいページに移動したら、目的のページに到達したことを確認するアサーションを追加します。

2. 複数の環境で同じテストを実行する

どのアプリケーション環境でも実行可能なようにテストのトレーニングを開始します。プランを作成し、テストする新しいURLを入力するだけで、そのテストをQA、ステージング、プロダクションなどの別々のプランに含めることができ、複数の環境で同じテストを実行できます。

3. プロンプトが表示されたら、より多くの文脈を提供する

テストを記録する際、トレーナーから文脈を詳しく説明するように促されることがあります。これは、より正確で一貫性のあるテストを行うために必要なことです。また、特定のユースケースに合わせて、自動回復をオプトアウトするオプションも用意されています。

4. 変数を使用して、各ランで一意のデータを生成する

  • トレーナー内のツールバーから、変数を定義して使用することができます。
  • 例えば、あるフィールドに常にランダムな文字列を挿入する変数を使用することができます。
  • これは、テスト実行の間にテスト環境を常に原状に戻していない場合、アプリケーションの一意性要件を回避するのに役立ちます。
  • 詳しくは、Using Variablesのドキュメントを参照してください。

5. mablの自動ログイン機能を活用する

クレデンシャルを確保し、維持するのは大変です。mablの自動ログイン機能を利用すれば、エンタープライズグレードの鍵管理サービスを利用でき、テスト間で簡単にクレデンシャルを更新できます。
自動ログインを使用する場合、トレーニングセッション中にログインしないように注意してください。この場合、ログインを2回試みることになり、2回目 のログインはテストに失敗します。
この機能を使用する場合、Plan の URL をログイン ページに設定すると便利です。これにより、mabl がログイン フォームを検索する必要がなくなるため、最初のテスト実行時間が大幅に短縮されます。

6. ホバーがテストに含まれる場合はキャプチャするが、控えめに使用しましょう

mablトレーナーで、「hoverを記録」を有効にできます。
この機能を有効にすると、マウスを要素の上に置くたびに、ホバーステップが追加されます。
この機能は多くのステップを追加する可能性があるため(その結果、テストの実行時間が大幅に増加します)、ホバーイベントを明示的にキャプチャしようとしない限り、有効にしない方がよいでしょう。
マウスがmablトレーナーの上にある場合、hoverは記録されません。トレーナーをhoverしたい要素の上に部分的に移動し、トレーナーからマウスを離すと、目的のhoverステップのみが記録されます。
CSSセレクタやXPathを使用して、特定の要素にhoverを送れます。

7. 必要に応じて「Use strict URL prefix」パラメータを使用して、リンククローラーを制限してください。

これは、マーケティングサイト、ドキュメント、etc.のテストを回避する方法です。
Visit all linked pages" テストを含むどのプランでも、このパラメータを設定できます

8. mablをデリバリーパイプラインと統合する

デプロイメントイベントの送信やプランの結果の取得は、mabl APIを利用すれば簡単に行えます。
Settings → APIs から情報を入手できます。
これは、デプロイ時に実行するようにスケジュールされているすべての計画をトリガーします。
mablは、Jenkinsのネイティブプラグインも維持しています。

9. 本番テストを行う場合、以下のフィルターを使用して、サイト分析から mabl UI テストを除外してください。

mablからのリクエストすべてに X-Mabl-Agent ヘッダーがつきます。 例: X-Mabl-Agent: Mabl/0.1
全てのユーザーエージェント文字列は、カスタムオペレーティングシステムプロパティに mabl という文字列を含むようになっています。 例: Mozilla/5.0 (X11; Linux mabl) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
プラン環境がmabl Linkを使用しない限り、すべてのトラフィックはmablの固定IPアドレスブロックからのアクセスになります。

10. テスト環境のセキュリティ確保

ここでは、テスト対象のアプリケーションへのアクセスを制限する方法を紹介します。

  • ユーザー名とパスワードを使ってアプリケーションにログインできます(HTTP Basic認証)。
  • カスタム http ヘッダーおよび/または固定 IP アドレスを使用して、mabl から発信されるトラフィックを識別し、それに応じてファイアウォールルールを更新できます。
  • カスタムユーザーエージェントヘッダー(x-mabl-agent)は、デフォルトですべてのmabl HTTPリクエストに含まれます。このヘッダーを使用して、mablから発信されたトラフィックを識別できます。
  • ファイアウォールの内側に配置されたアプリケーションでは、mabl Linkを使用して、mablへの安全なアクセスを提供できます。

Did this page help you?