テストスイートでブラウザテストジャーニーを再利用する
概要
1 つのジャーニーをいくつか異なるテストで再利用したい場合があります。たとえば、
- アプリケーションの機能がログイン後にある場合、 各テストの始めにログインのステップを再利用できます。
- アプリケーションの機能をいくつかの異なる環境で監視したい場合、prod 環境用のテストを作り、dev や staging など他の環境用のサブテストとして再利用できます。
- テストの実行によりデータベースオブジェクトが作られる場合、テスト環境をクリーンアップするテストを作成し、それをサブテストとして使い、テストの開始時や終了時に体系的にクリーンアップを実行できます。
ブラウザテストのサブテストは、次の場合、テストスイート間でジャーニーの再利用ができます。
- テストの作成に費やす時間を節約できます。 ログインテストがある場合、テストごとに同じログインステップを記録するのではなく、テストスイートの最初にサブテストとして呼び出します。
- 他の人がテストを見た時に意味のあるブロックを作ることができるので、理解しやすりテストにできます。
- フローが変更されても、更新はテストごとではなく 1 度で済むので、メンテナンス性が向上します。
ログインサブテストの作成と再利用
アプリケーションの監視する際、最初にログインする必要がある場合、ベストプラクティスとして、すべてのログインステップを含む単一のテストを作成し、他のテストがそのログインテストをサブテストとして再利用できるようにします。
ログインテストを作成して、残りのテストスイートでサブテストとして再利用するには、
- アプリケーションにログインするだけのテストを作成します。テストの開始 URL をログイン前の URL に設定します。
- アプリケーションのログイン後の機能を監視する 2 番目のテストを作成します。以下の例では、この 2 番目のテストはダッシュボードの作成を監視します。テストの開始 URL もまたログイン前の URL に設定します。
- 2 番目のテストを記録する際、サブテストをクリックし、ステップ 1 で作成したログインテストを選択します。
このサブテストのステップを設定すると、(ステップ 1 で作成した) 最初のテストのすべてのステップが、親テストの冒頭で実行されます。また、サブテストの変数は 2 番目のテストの親テストにインポートされます。デフォルトでは、サブテストはメインタブで実行されます。つまり、サブテストのステップは前後のステップと同じタブで実行されます。サブテストは親テストで設定された URL (この例ではログイン前の URL) を使い実行され、サブテストのすべてのステップが実行されると、ブラウザテストは、サブテストが最後に表示されていたページから親のサブテストではない最初のステップを実行します。まだ親ステップは作成されません。
注: サブテストの高度なオプションを使用して、サブテストを実行するタブを選択できます。
- 親テストのステップの記録を始める前に、記録画面で専用の資格情報を使いアカウントにログインします。これにより、親テストはサブテストのステップを終えた後に、ブラウザテストと同じ状態から開始されます。
- ログイン後、Start recording をクリックして親テストのログイン後のステップを記録し始めます。終了したら、 Save をクリックします。
上記の例では、ログインのサブテストにより、Datadog のテストアカウントにログインした後、ユーザーがタイムボードを作成できることを保証しています。そのタイムボードは、そのユーザーに関連付けられます。
その他の参考資料