2013-01-10 78 views
0

我有一個web應用程序可以打開多個窗口,而不是新的瀏覽器窗口,但窗口與主窗口重疊,如彈出窗口。在一個地方,我必須驗證我是否在主應用程序窗口。我的第一個想法是獲得瀏覽器中的窗口數量,如果這是0,那麼我在家,但我找不到如何計算這些對象的解決方案。QTP如何計算瀏覽器中窗口對象的數量

首頁看起來是這樣的:

Browser().Page() 

如果我打開一個新窗口(彈出式),它看起來像這樣:

Browser().Window().Page() 

如果我打開另一個與前一個樣子這個:

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

問題是我怎樣才能得到Window元素的數量?

回答

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 
相關問題