2013-07-23 3 views
1

Я пытаюсь получить все открытые объекты браузера с помощью QTP11. код я использую следующее:Двойное количество элементов, возвращаемых Desktop.ChildObjects

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

Set objChildren = Desktop.ChildObjects(descBrowser) 

Во время тестирования у меня есть два окна IE браузер открытым, но коллекция возвращаемый код показывает четыре найденных объектов. Я также проверил запущенные процессы, которые показывают правильное количество запущенных процессов.

Я также проверил с 3 открытыми браузерами, и в этом случае он показывает 6 объектов, соответствующих описанию.

Может кто-нибудь объяснить, почему это может произойти?

+0

Если вы. Выделите детей, может ли это быть для каждого браузера, вы получите два основных момента? Потому что браузер и его вкладка являются одним объектом браузера? – TheBlastOne

+0

Если я поочередно выделяю их, то да, я получаю два hightlights в браузере. Но странно, что он отлично работает на другой тестовой машине, там видно правильное количество браузеров. Обе машины - 64-разрядная версия Windows 7. – Mimi

+0

Не было какой-то темной настройки конфигурации ... не помню ... hmm .. – TheBlastOne

ответ

0

Я вижу то же поведение (только для IE, а не для Firefox).

Обходным путем для этого может быть отфильтровывать дубликаты. Для IE, если вы сравниваете objChildren(i).GetROProperty("hwnd"), вы можете отфильтровать те, у которых одинаковое значение, но это не сработает, если вы также используете Firefox, поскольку в Firefox, если у вас есть несколько вкладок, все они имеют одинаковые hwnd.

Если вы должны принять во внимание FF вы можете отфильтровать дубликаты с помощью CreationTime свойства (вместо HWND).

+1

Это то, что я сделал как обходной путь :) Но я все равно хотел бы знать, почему это происходит ... – Mimi

+1

Это ошибка, я думаю – TheBlastOne

0

У меня была такая же проблема, и мне пришлось отменить патч QTPWEB_00090, чтобы заставить его работать. Посмотрите, установлен ли этот патч QTP и отмените его.

0

Это фиксируется в QTPWEB_00107 - Web Browser Recognition управления в проводнике Windows

1

UFT 11.52 + Win7

Я пытался несколько стратегий, чтобы получить это сделано (ИДП, название, HWND, браузер (индекс)), и все еще не удался, я не уверен, что этот патч уже существует.

Что я могу представить, так это то, что для простой задачи закрытия UFT также имеет проблемы, поскольку он говорит «Объект невидим», когда я пытаюсь закрыть объект Browser(), сбрасывая тест случайным образом.

Лучший результат - это куча уже живых окон IExplorer (Tabs).

Может ли кто-нибудь предоставить меры для проверки установленных исправлений?