WinObject класса "Internet Explorer_Server"
#1
Отправлено 31 мая 2007 - 11:14
Такая проблема - в MMC вставлена страница с линками. QT Inspector линки не видит, при наведении мыши показывает только WinObject - Internet Explorer_server. Если записывать скрипт - при кликах на эти линки просто ничего не записывает.
Версия QT - 9.2, все Add-in-ы включены (Web, ActiveX, Visual Basic)
Вопрос - как работать с содержимым объекта "Internet Explorer_server"?
+7 903 726 02 79 (рабочие дни 10:00 - 18:30)
Denis.Kobychev@kaspersky.com
resume@kaspersky.com
http://www.kaspersky.ru
#2
Отправлено 31 мая 2007 - 11:19
Подробно в проблеме не разбиралась, но практика показала, что если запускать Internet Explorer после запуска QTP, то все объекты распознаются, как надо.
Если кто знает, в чём дело, будет очень интересно почитать.
#4
Отправлено 04 июня 2007 - 08:32
#5
Отправлено 04 июня 2007 - 09:37
Пробовал запускать MMC после QTP - не помогает. Пробовал выгружать все IE и даже explorer перед запуском QTP - не помогает.
+7 903 726 02 79 (рабочие дни 10:00 - 18:30)
Denis.Kobychev@kaspersky.com
resume@kaspersky.com
http://www.kaspersky.ru
#6
Отправлено 04 июня 2007 - 10:03
Function GetCountBrowser Set osa = CreateObject ("Shell.Application") If isObject(osa) Then ie_count = 0 Set ie_windows = osa.Windows For Each ie_window In ie_windows On Error Resume Next windows_type = "" windows_type = TypeName(ie_window.document) If UCase(windows_type) = "HTMLDOCUMENT" Then ie_count = ie_count + 1 End If Next Set ie_windows = Nothing End If Set osa = Nothing GetCountBrowser = ie_count End Function
Успехов!
p.s.: есть ли возможность тестировать контент в данном приложении через IE?
#7
Отправлено 04 июня 2007 - 12:03
Однако скрипт возвращает 0. Значит ли это, что контроллы внутри HTML-компонента в принципе недоступны для QTP?
Кстати, нашёл доступный всем пример такого объекта - правая часть оснастки Services (Службы) в режиме Extended имеет точно такой же тип - "Internet Explorer_Server" и нажатия на ссылки "Start/Stop/Pause service" не записываются QTP.
К сожалению в моём случае отдельно от приложения контент не имеет смысла, т.к. нажатие на ссылку - это всего лишь вспомогательное действие для доступа к остальному GUI, который уже нормальное MMC окно.
+7 903 726 02 79 (рабочие дни 10:00 - 18:30)
Denis.Kobychev@kaspersky.com
resume@kaspersky.com
http://www.kaspersky.ru
#8
Отправлено 04 июня 2007 - 12:37
#9
Отправлено 04 июня 2007 - 13:33
В качестве обходного манёвра можно попросить разработчиков скидывать в файл нужную инфу по горячей клавише - это позволит смотреть значения контролов.
А также справедливо потребовать реализации всей GUI-функциональности через клавиатуру - это позволит худо-бедно вслепую нажимать на ссылочки.
Однако чертовски интересно про JavaScript иньекции и про DOM! Где можно узнать об этом подробней?
Я находил в интернете кусок кода, который позволет получить доступ к DOM имея Hwnd окна. Однако тот код был на VB и попытка перевести его в QTP обломалась об описание структуры (в QTP ведь нет такого понятия?). Вот ссылочка на него: http://www.mvps.org/...vb6/iedom.shtml
+7 903 726 02 79 (рабочие дни 10:00 - 18:30)
Denis.Kobychev@kaspersky.com
resume@kaspersky.com
http://www.kaspersky.ru
#10
Отправлено 05 июня 2007 - 02:45
Вы можете попросить разработчиков, чтобы они специально для тестирования сделали non-GUI интерфейс, например COM.Приложение в начальной стадии разработки и неизвестно, чего туда добавят ещё ...
С COM будет работать всё что угодно, начиная с VBScript и кончая QTP.
Систематического описания я не нашёл, но если долго лазить по разным сайтам, то многому можно научиться.Однако чертовски интересно про JavaScript иньекции и про DOM! Где можно узнать об этом подробней?
Я находил в интернете кусок кода, который позволет получить доступ к DOM имея Hwnd окна. Однако тот код был на VB и попытка перевести его в QTP обломалась об описание структуры (в QTP ведь нет такого понятия?).
Например, в своём семинаре в похожем случае для изучения DOM я использую местную копию "Mouseover DOM inspector". Этот "Mouseover DOM inspector", вообще-то, является достаточно занятной штукой. Может быть он и Вам сможет помочь.
#11
Отправлено 05 июня 2007 - 08:28
Вы можете попросить разработчиков, чтобы они специально для тестирования сделали non-GUI интерфейс, например COM.
С COM будет работать всё что угодно, начиная с VBScript и кончая QTP.
Да, это первое о чём мы попросили разработчиков, однако ответ был такой: "MMC это настолько сложно, что встроить туда адекватный COM-объект займёт очень очень много времени". В принципе нет причин им не верить.
Mouseover DOM inspector - действительно очень интересный.
Однако для моих целей он бесполезен. Нету у меня броузера, в котором можно этот скрипт выполнить, есть только MMC окно.
Спасибо за поддержку!
Похоже, что придётся строить работу с этой частью GUI на костылях.
На всякий случай ещё раз поставлю задачу: "Есть MMC окно (например Services.msc в режиме Extended), в него встроен объект типа 'Internet Explorer_Server'. Как с помощью QTP нажать на ссылочки внутри этого объекта?"
+7 903 726 02 79 (рабочие дни 10:00 - 18:30)
Denis.Kobychev@kaspersky.com
resume@kaspersky.com
http://www.kaspersky.ru
#12
Отправлено 05 июня 2007 - 10:33
На всякий случай ещё раз поставлю задачу: "Есть MMC окно (например Services.msc в режиме Extended), в него встроен объект типа 'Internet Explorer_Server'. Как с помощью QTP нажать на ссылочки внутри этого объекта?"
Предлагаю сделать так, как написано в документации:
1) Включить ActiveX Add-in
2) Попробовать зарегистрировать браузер (Start>Quick Test Proffesional>Tools>Register New Browser Control)
Майк.
#13
Отправлено 05 июня 2007 - 11:13
Похоже, это как раз то, что нужно.
Он действительно стал распознавать его как HTML.
Правда сейчас если позаписывать работу с HTML, а потом закрыть окно MMC, то возникает ошибка "SherutRashiTitle_983720: mmc.exe | The memory could not be read". Но это уже мелочи :)
Спасибо!!!
+7 903 726 02 79 (рабочие дни 10:00 - 18:30)
Denis.Kobychev@kaspersky.com
resume@kaspersky.com
http://www.kaspersky.ru
#14
Отправлено 05 июня 2007 - 11:19
Майк.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных