Форум: "Система";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизПоиск объектов на экране Найти похожие ветки
← →
kingdom © (2004-03-29 12:29) [0]Есть такая задача по тестированию софта и web-страниц...
нужно находить объекты на экране, например:
- окно
- меню
- кнопка
- текст
- гипер текст
и получать о них информацию, например:
- цвет
- название кнопки/меню/окна
- содержимое текста
а также выполнять с ними действия, например:
- нажиметь на кнопки и меню
- перетаскивать окна
Как пример, могу назвать SnagIt, который умеет распозновать ОБЪЕКТЫ на экране, даже в IE, это для меня важно.
Вопрос в том как НАЙТИ эти объекты?
Для окон и кнопок подходит EnumWinows, хотя внутрь IE оно не попадает =(, а как найти остальные объекты, как это делает snagIt?
← →
Семен Сорокин © (2004-03-29 12:30) [1]Spy++ из поставки VS
← →
kingdom © (2004-03-29 13:14) [2]>Семен Сорокин
Спасибо за ответ!
Но Spy почему-то не может пролезть внуть web-страницы =(
он находит окно Internet Explorer_Server и все
но SnagIt это как-то делает! как?
← →
Algol (2004-03-29 15:30) [3]
> но SnagIt это как-то делает! как?
Возможно через COM интерфейс...
← →
kingdom © (2004-03-29 17:34) [4]>Algol
Я конечно посмотрю, но скорее всего это не поможет
← →
kingdom © (2004-03-30 12:06) [5]Сильные программисты!
Есть какие-нибудь идеи?
← →
TUser © (2004-03-30 13:02) [6]Вот например, распознать текст и отличить его от гипертекста - это та еще задачка. Непросто это, я думаю.
← →
kingdom © (2004-03-31 11:10) [7]Я конечно не исключаю, что SnagIt может просто сканировать экран и распознавать текст, но есть такие факты:
- как я уже говорил, он понимает гипертекст, т.е. может извлечь ссылку
- если html содержит картинку, то он понимает ее как картинку, а не как часть экрана, т.е. текст на картинке он прочитать не может
← →
Anatoly Podgoretsky © (2004-03-31 12:08) [8]На экране нет объектов, только точки, объекты ищи в окнах.
← →
хамло ) (2004-03-31 12:20) [9]MSHTML.pas - для разбора веб-страниц.
очень хорошо работает. сам когда-то разбирал страницы. строил приложения для автозаполнения веб-форм.
← →
kingdom © (2004-03-31 16:03) [10]>Anatoly Podgoretsky
А как их искать в окнах? И как их искать внутри IE?
Например, кнопку на форме можно найти через EnumWindows, а вот кнопку на странице в IE не понятно как искать...
>хамло )
В MSHTML нет информации о координатах объектов => где это берет SngIt, хотя ссылки для гипертекста он извлекает возможно через MSHTML
← →
BiN © (2004-03-31 16:14) [11]в посте [3] тебе дан правильный ответ
нужно использовать объекты Shell.Application и .Windows иже с ним
← →
kingdom © (2004-03-31 21:19) [12]>BiN
Ответ может и правильный, только не понятный )))
Если описалово есть в MSDN, укажите раздел или какой-нить ключ
← →
Anatoly Podgoretsky © (2004-04-01 10:41) [13]kingdom © (31.03.04 16:03) [10]
IE является сом сервером.
← →
BiN © (2004-04-01 11:42) [14]Если описалово есть в MSDN, укажите раздел или какой-нить ключ
Shell Object
ShellWindows object
InternetExplorer object
← →
kingdom © (2004-04-02 14:04) [15]>Anatoly Podgoretsky
>IE является сом сервером.
это понятно, а что делать-то?
>BiN
это тоже самое что MSHTML и DHTML, но он не дает информации о местоположении объектов!!!
Спасибо всем за советы, но вы по сути предлагаете "парсить" документ через COM, а мне надо протестировать страницу отображаемую IE.
Например, вы сейчас читаете эту страницу, а мой тест должен проверить, что:
- внизу страницы находиться три поля для ввода (имя, мыло и сообщение)
- у последнего есть полоса прокрутки
- есть кнопки "Ж", "К", "Ч", "КОД" и ">" (если это текст, а не картинки)
- есть кнопка "Добавить"
- есть рекламный банер
и т.д.
Я предполагаю, что перечисленные объекты рисуются на экране с помощью стандартных WinApi"шных функций, т.е. содержимое окна, не есть литая картинка, которая рисуется по событию WM_PAINT. А используются вмндовые button, checkbox и т.д.
Первый вопрос, действительно ли это так? А второй как пролезть внутрь окна? Влоб через EnumWindowChild не получается. А вот SnagIt прекрасно распознает объекты!
← →
BiN © (2004-04-02 14:37) [16]Первый вопрос, действительно ли это так?
Врятли было бы разумно использовать в качестве активных элементов страницы объекты ядра, коими и являются окна (вмндовые button, checkbox и т.д).
← →
kingdom © (2004-04-02 14:40) [17]>BiN
Сошласен это вопрос спорный, но в очередной раз сошлюсь на SnagIt, как он объекты распознает?
← →
BiN © (2004-04-02 15:03) [18]... вы по сути предлагаете "парсить" документ через COM, а мне надо протестировать страницу отображаемую IE
Не через COM, думаю, это сделать будет затруднительно. И твой SnagIt, по-видимому, работает именно так.
Получив объект Document в свое распоряжение, ты можешь через Forms и их Elements получить всю интересующую тебя информацию.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.036 c