簡體   English   中英

Desktop.ChildObjects返回的項目數的兩倍

[英]Double number of items returned by Desktop.ChildObjects

我正在嘗試使用QTP11獲取所有打開的瀏覽器對象。 我使用的代碼如下:

Set descBrowser = Description.Create
descBrowser("micClass").Value = "Browser"

Set objChildren = Desktop.ChildObjects( descBrowser )

在測試期間,我打開了兩個IE瀏覽器窗口,但是代碼返回的集合顯示了四個找到的項目。 我還檢查了正在運行的進程,這些進程顯示正確數量的2個正在運行的進程。

我還檢查了3個瀏覽器是否打開,在這種情況下,它顯示了6個與描述匹配的對象。

誰能解釋為什么會這樣?

UFT 11.52 + Win7

我嘗試了幾種策略來完成此操作(PID,標題,HWND,瀏覽器(索引)),但仍然沒有成功,我不確定該補丁是否已經存在。

我能想象的是,對於一個簡單的關閉任務,當我嘗試關閉以隨機方式使測試崩潰的Browser()對象時,UFT也會顯示“對象不可見”的問題。

最好的結果是取消了一堆已經存在的IExplorer Windows(Tabs)窗口。

有人可以提供檢查已安裝補丁程序的步驟嗎?

我看到相同的行為(僅適用於IE,而不適用於Firefox)。

一種解決方法是過濾掉重復項。 對於IE,如果您比較objChildren(i).GetROProperty("hwnd") ,則可以過濾出具有相同值的值,但是如果您還使用Firefox,則無法使用,因為在Firefox中,如果您有多個選項卡,它們都具有相同的hwnd

如果必須考慮FF,則可以使用CreationTime屬性(而不是hwnd )過濾出重復項。

我遇到了同樣的問題,必須退出補丁QTPWEB_00090才能使它工作。 查看是否已安裝該QTP補丁並將其撤消。

QTPWEB_00107 -Windows資源管理器中的Web瀏覽器控件識別已解決此問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM