QTP如何计算浏览器中Window对象的数量

时间:2013-01-10 12:27:48

标签: vbscript qtp

我有一个可以打开几个窗口的Web应用程序,而不是新的浏览器窗口,但是窗口与主窗口重叠,就像弹出窗口一样。在一个地方,我必须验证我是否在主应用程序窗口。我的第一个想法是在浏览器中获取窗口数量,如果这是0,那么我就回家了,但我找不到如何计算这些对象的解决方案。

主页面如下:

Browser().Page()

如果我打开一个新窗口(弹出窗口),它看起来像这样:

Browser().Window().Page()

如果我从前一个打开另一个,它看起来像这样:

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

问题是如何获取Window元素的数量?

1 个答案:

答案 0 :(得分: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