Есть ли в TC возможность ловить всплывающие окна?
#1
Отправлено 19 ноября 2007 - 15:54
P.S. В ObjectBrowser я тоже не могу посмотреть на этот объект, потому что, он пропадает сразу...типа ведь PopUp :^/
#2
Отправлено 19 ноября 2007 - 16:57
Если я например хочу записать свойства объекта то я тоже не могу этого сделать потому что пока я перевожу мышь на опцию TC "запись свойств объекта" меню пропадает. Есть какие-нибудь соображения на этот счет ?
Tools -> Options -> Panels -> Object Browser -> uncheck "Capture mouse"
Открываешь Object Properties -> вызываешь своё меню -> выбираешь нужный тебе элемент -> жмёшь Shift+Ctrl+A и fix'ишь информацию.
Что касается твоего меню, то оно, скорее всего, формируется (не создаётся) динамически, но элементы этого меню могут быть определены. Например, если parent меню - главная форма, то в Fields главной формы ты сможешь найти свои элементы.
#3
Отправлено 19 ноября 2007 - 17:33
Если я например хочу записать свойства объекта то я тоже не могу этого сделать потому что пока я перевожу мышь на опцию TC "запись свойств объекта" меню пропадает. Есть какие-нибудь соображения на этот счет ?
Tools -> Options -> Panels -> Object Browser -> uncheck "Capture mouse"
Открываешь Object Properties -> вызываешь своё меню -> выбираешь нужный тебе элемент -> жмёшь Shift+Ctrl+A и fix'ишь информацию.
Что касается твоего меню, то оно, скорее всего, формируется (не создаётся) динамически, но элементы этого меню могут быть определены. Например, если parent меню - главная форма, то в Fields главной формы ты сможешь найти свои элементы.
Чего-то не получилось зафиксить инфу. Т.е. я навожу на нужный элемент, свойства появляются, а как только я с него мышку убираю, то сразу все пропадает.
По поводу меню, то в том то и дело, что это просто отдельное меню всплывающее не положенное ни на какую форму, а я так понимаю, что объект созадющийся в зависимости от действий пользователя. Т.е. позиционировался на тексте - создаем его и показываем. ПОэтому то и не знаю как его зацепить.
#4
Отправлено 20 ноября 2007 - 04:32
А мышку убирать не надо. Надо жать Ctrl-Shift-A.Чего-то не получилось зафиксить инфу. Т.е. я навожу на нужный элемент, свойства появляются, а как только я с него мышку убираю, то сразу все пропадает.
Ещё вариант -- записать скрипт, который дождётся появления этого окна, обновит дерево объектов, а потом запостит имена всех дочерних объектов процесса (или главной формы) в лог.
Дмитрий
#5
Отправлено 20 ноября 2007 - 07:20
По поводу меню, то в том то и дело, что это просто отдельное меню всплывающее не положенное ни на какую форму, а я так понимаю, что объект созадющийся в зависимости от действий пользователя. Т.е. позиционировался на тексте - создаем его и показываем. ПОэтому то и не знаю как его зацепить.
Если я правильно понял, то речь идёт о "фитче" аля стандартный VS или ReSharper: после ввода части кода, появляется список методов, свойств и т.д. Так вот, никто не будет (по крайней мере, обычно так не делают) создавать контрол - контейнер (в твоём случае - это окно с элементами, что-то вроде listbox'а) динамически. Динамически может (и должна) формироваться коллекция! Осталось определить, как коллекция формируется, а это проще всего выяснить у разработчиков. Самый благоприятный вариант - формирование основной коллекции (с последующим скрытием не нужных элементов) + динамическое добавление некоторых элементов. Это значит, что найдя свой контрол - контейнер, ты сможешь посмотреть свойства отдельных item'ов. Но мне это вариант кажется маловероятным. В любом случае, нужно "плясать" от контрола - контейнера.
#6
Отправлено 20 ноября 2007 - 08:22
Здравствуйте
А мышку убирать не надо. Надо жать Ctrl-Shift-A.Чего-то не получилось зафиксить инфу. Т.е. я навожу на нужный элемент, свойства появляются, а как только я с него мышку убираю, то сразу все пропадает.
Ещё вариант -- записать скрипт, который дождётся появления этого окна, обновит дерево объектов, а потом запостит имена всех дочерних объектов процесса (или главной формы) в лог.
Хм..странно. Я нажимаю что надо ну и ничего не происходит. Т.е. я так понимаю, должна появиться возможность внизу окна поставить чекБокс (Fix the ...) , но я не могу.А мышку убирать не надо. Надо жать Ctrl-Shift-A.Чего-то не получилось зафиксить инфу. Т.е. я навожу на нужный элемент, свойства появляются, а как только я с него мышку убираю, то сразу все пропадает.
А свойства, методы и т.п. как мне сохранить ? Мне же надо будет потом использовать методы, а какие доступны я же не знаю...
#7
Отправлено 20 ноября 2007 - 08:25
По поводу меню, то в том то и дело, что это просто отдельное меню всплывающее не положенное ни на какую форму, а я так понимаю, что объект созадющийся в зависимости от действий пользователя. Т.е. позиционировался на тексте - создаем его и показываем. ПОэтому то и не знаю как его зацепить.
Если я правильно понял, то речь идёт о "фитче" аля стандартный VS или ReSharper: после ввода части кода, появляется список методов, свойств и т.д. Так вот, никто не будет (по крайней мере, обычно так не делают) создавать контрол - контейнер (в твоём случае - это окно с элементами, что-то вроде listbox'а) динамически. Динамически может (и должна) формироваться коллекция! Осталось определить, как коллекция формируется, а это проще всего выяснить у разработчиков. Самый благоприятный вариант - формирование основной коллекции (с последующим скрытием не нужных элементов) + динамическое добавление некоторых элементов. Это значит, что найдя свой контрол - контейнер, ты сможешь посмотреть свойства отдельных item'ов. Но мне это вариант кажется маловероятным. В любом случае, нужно "плясать" от контрола - контейнера.
Это понятно (наверное) =)) , вопрос в том, как мне найти этот контрол, если он пропадает, и после исчезает из дерева процессов ?...или...может он там постоянно висит, а я просто найти его никак не могу ? Например другие окна, создаются только после их активации (я про обычные диалоги), а после, например, Cancel, закрываются и из дерева пропадают.
#8
Отправлено 20 ноября 2007 - 08:48
вопрос в том, как мне найти этот контрол, если он пропадает, и после исчезает из дерева процессов ?...или...может он там постоянно висит, а я просто найти его никак не могу ? Например другие окна, создаются только после их активации (я про обычные диалоги), а после, например, Cancel, закрываются и из дерева пропадают.
Нет, постоянно он там не висит, то есть до его активации в object browser'е ты его не увидишь. Тут нужно смотреть, кому принадлежит этот котрол, скорее всего нужно искать в поле Fields главной формы. Опять же, очень желательна интеграция с разработчиками, если они тебе не могут за 10 мин. "накидать" тестовую форму, то пусть хоть на словах объяснят:
1) как называется контрол-контейнер (что за класс используется)
2) как формируется для него коллекция
#9
Отправлено 20 ноября 2007 - 09:08
вопрос в том, как мне найти этот контрол, если он пропадает, и после исчезает из дерева процессов ?...или...может он там постоянно висит, а я просто найти его никак не могу ? Например другие окна, создаются только после их активации (я про обычные диалоги), а после, например, Cancel, закрываются и из дерева пропадают.
Нет, постоянно он там не висит, то есть да его активации в object browser'е ты его не увидишь. Тут нужно смотреть, кому принадлежит этот котрол, скорее всего нужно искать в поле Fields главной формы. Опять же, очень желательна интеграция с разработчиками, если они тебе не могут за 10 мин. "накидать" тестовую форму, то пусть хоть на словах объяснят:
1) как называется контрол-контейнер (что за класс используется)
2) как формируется для него коллекция
Спасиб! Будем искать :)))) напишу об результатах по мере выполнения :)
#10
Отправлено 20 ноября 2007 - 12:12
Если настройка 'Capture mouse' выключена, то внизу окна Object Properties должна быть надпись вроде 'Press Ctrl-Shift-A to fix information' и рядом с ней чекбокс. Как только вы нажмёте Ctrl-Shift-A, чекбокс чекается, а информация об объекте под мышкой фиксируется в окне. После этого вы можете посмотреть свойства и методы этого объекта, даже если он уже уничтожен и его нет в дереве объектов.Хм..странно. Я нажимаю что надо ну и ничего не происходит. Т.е. я так понимаю, должна появиться возможность внизу окна поставить чекБокс (Fix the ...) , но я не могу.
А свойства, методы и т.п. как мне сохранить ? Мне же надо будет потом использовать методы, а какие доступны я же не знаю...
Если шорткат не работает, то, вернее всего, какое-то приложение в вашей системе перехватывает его и не передаёт соответствующее сообщение TestComplete'у. Надо найти приложение, которое может обрабатывать глобальные шорткаты, и закрыть его.
Дмитрий
#11
Отправлено 20 ноября 2007 - 12:27
Здравствуйте
А мышку убирать не надо. Надо жать Ctrl-Shift-A.Чего-то не получилось зафиксить инфу. Т.е. я навожу на нужный элемент, свойства появляются, а как только я с него мышку убираю, то сразу все пропадает.
Ещё вариант -- записать скрипт, который дождётся появления этого окна, обновит дерево объектов, а потом запостит имена всех дочерних объектов процесса (или главной формы) в лог.
В лог??? Я бы порекомендомал использовать Objects.Save(FullNameOfObject, StoredName), если уж известны имена дочерних объектов. Из них убить всё лишнее и оставить только нужный popup. Тут уже можно будет посмотреть и свойства этого popup'a.
Здесь когда-то была нормальная человеческая подпись, но я её протестировал...
#12
Отправлено 20 ноября 2007 - 12:43
Если шорткат не работает, то, вернее всего, какое-то приложение в вашей системе перехватывает его и не передаёт соответствующее сообщение TestComplete'у. Надо найти приложение, которое может обрабатывать глобальные шорткаты, и закрыть его.
есть 2 подозрения:
1) ICQ 5 иногда блокирует этот хоткей
2) Предыдущая версия ТестКомплита не удалена
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных