概要

Synthetic のブラウザテストで、モーダルやアプリケーションウィンドウなどのポップアップを管理する方法について説明します。

モーダル

JavaScript

Synthetic ブラウザテストは自動的に JavaScript モーダルを処理します。

  • alert モーダルは閉じています。
  • promptconfirm モーダルは Lorem Ipsum で回答されます。

基本認証

基本認証ポップアップの場合、ブラウザテストコンフィギュレーションの高度なオプション > HTTP 認証で関連する資格情報を指定します。

基本認証ポップアップ

アプリケーションポップアップ

固定ポップアップ

ユーザージャーニーの特定の時点でポップアップが表示された場合、閉じるためのステップを記録し、対応するオプションを使いそのステップを失敗させることができます。それにより、テストはポップアップが表示された際の対応を学ぶことができます。ポップアップが表示されない場合、ステップは失敗しますが、テスト全体が失敗に終わることはありません。

ステップの失敗を許可しポップアップを処理する

ポップアップの移動

セッション中にポップアップが表示される時間を予測できない場合は、ブラウザテストの実行中にポップアップが表示されないようにするルールを作成してもらえないか、ポップアップを出すサードパーティーに確認してください。たとえばテストの専用 高度なオプションの下に挿入できるクッキーなどがあるかもしれません。

または、次のいずれかの方法でポップアップが閉じたままテストが続行できるようにします。

  • ブラウザテストの開始時に JavaScript アサーションを作成し、ポップアップを定期的に閉じるようにします。

    if (document.querySelector("<ELEMENT>")) {
      return true;
    } else {
      return new Promise((resolve, reject) => {
        const isPopupDisplayed = () => {
          if (document.querySelector("<ELEMENT>")) {
            clearInterval(popup);
            resolve(true);
          }
        };
        let popup = setInterval(isPopupDisplayed, 500);
      });
    }
    
  • ポップアップを閉じるためのステップを記録し、他のブラウザテストのステップの間に追加し、それぞれに対しこのステップの失敗を許可 オプションを選択します。

その他の参考資料