0

新しいブラウザウィンドウではなく、ポップアップウィンドウのようにメインウィンドウと重なるウィンドウを開くことができるWebアプリがあります。ある場所で、アプリのメインウィンドウを表示しているかどうかを確認する必要があります。私の最初のアイデアは、ブラウザのウィンドウ数を取得することでした。これが0の場合、私は家にいますが、それらのオブジェクトをカウントする方法の解決策を見つけることができません。

メインページは次のようになります:

Browser().Page()

新しいウィンドウ(ポップアップ)を開くと、次のようになります。

Browser().Window().Page()

そして、前のものから別のものを開くと、次のようになります:

Browser().Window().Window().Page()

問題は、どうすればウィンドウ要素の数を取得できるかということです。

4

1 に答える 1

0

開いたウィンドウはポップアップウィンドウだったので、ポップアップがなくなるまで待つ関数を書きました。おそらく少し複雑すぎますが、機能します。

Function waitForNoWindows(ByVal vSeconds)
   blnDone = False
   counter = 1
   While Not blnDone
       Wait 1
       If objBrowser.Window("ispopupwindow:=true").Exist(0) Then
           blnDone = False
        Else
            blnDone = True
       End If
       counter = counter + 1
       If counter = vSeconds Then
           blnDone = True
           reporter.ReportEvent micFail, "Waiting for all pop up windows to close", "Canot close all pop up windows and/or timeout reached"
           ExitTestIteration
       End If
   Wend
End Function
于 2013-01-14T08:26:39.010 に答える