Перейти к содержимому

Фотография

Есть ли в TC возможность ловить всплывающие окна?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 Cirrus

Cirrus

    Новый участник

  • Members
  • Pip
  • 65 сообщений

Отправлено 19 ноября 2007 - 15:54

Вопрос такой. Например есть текст какой-нибудь. После позиционирования на определенном месте текста, появляется впслывающее окно со списком методов которые можно применить, например, отформатировать и т.п. Я хочу проверять правильные ли опции подставляются. Если я записываю скрипт, а потом его выполняю, то TC не видит это окно почему то. Карректа позиционируется, popup меню появлятеся, но потом пишет что объект не найден. Если я например хочу записать свойства объекта то я тоже не могу этого сделать потому что пока я перевожу мышь на опцию TC "запись свойств объекта" меню пропадает. Есть какие-нибудь соображения на этот счет ?

P.S. В ObjectBrowser я тоже не могу посмотреть на этот объект, потому что, он пропадает сразу...типа ведь PopUp :^/
  • 0

#2 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 19 ноября 2007 - 16:57

Если я например хочу записать свойства объекта то я тоже не могу этого сделать потому что пока я перевожу мышь на опцию TC "запись свойств объекта" меню пропадает. Есть какие-нибудь соображения на этот счет ?


Tools -> Options -> Panels -> Object Browser -> uncheck "Capture mouse"
Открываешь Object Properties -> вызываешь своё меню -> выбираешь нужный тебе элемент -> жмёшь Shift+Ctrl+A и fix'ишь информацию.

Что касается твоего меню, то оно, скорее всего, формируется (не создаётся) динамически, но элементы этого меню могут быть определены. Например, если parent меню - главная форма, то в Fields главной формы ты сможешь найти свои элементы.
  • 0

#3 Cirrus

Cirrus

    Новый участник

  • Members
  • Pip
  • 65 сообщений

Отправлено 19 ноября 2007 - 17:33

Если я например хочу записать свойства объекта то я тоже не могу этого сделать потому что пока я перевожу мышь на опцию TC "запись свойств объекта" меню пропадает. Есть какие-нибудь соображения на этот счет ?


Tools -> Options -> Panels -> Object Browser -> uncheck "Capture mouse"
Открываешь Object Properties -> вызываешь своё меню -> выбираешь нужный тебе элемент -> жмёшь Shift+Ctrl+A и fix'ишь информацию.

Что касается твоего меню, то оно, скорее всего, формируется (не создаётся) динамически, но элементы этого меню могут быть определены. Например, если parent меню - главная форма, то в Fields главной формы ты сможешь найти свои элементы.


Чего-то не получилось зафиксить инфу. Т.е. я навожу на нужный элемент, свойства появляются, а как только я с него мышку убираю, то сразу все пропадает.

По поводу меню, то в том то и дело, что это просто отдельное меню всплывающее не положенное ни на какую форму, а я так понимаю, что объект созадющийся в зависимости от действий пользователя. Т.е. позиционировался на тексте - создаем его и показываем. ПОэтому то и не знаю как его зацепить.
  • 0

#4 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 20 ноября 2007 - 04:32

Здравствуйте

Чего-то не получилось зафиксить инфу. Т.е. я навожу на нужный элемент, свойства появляются, а как только я с него мышку убираю, то сразу все пропадает.

А мышку убирать не надо. Надо жать Ctrl-Shift-A.

Ещё вариант -- записать скрипт, который дождётся появления этого окна, обновит дерево объектов, а потом запостит имена всех дочерних объектов процесса (или главной формы) в лог.
  • 0
С уважением,
Дмитрий

#5 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 20 ноября 2007 - 07:20

По поводу меню, то в том то и дело, что это просто отдельное меню всплывающее не положенное ни на какую форму, а я так понимаю, что объект созадющийся в зависимости от действий пользователя. Т.е. позиционировался на тексте - создаем его и показываем. ПОэтому то и не знаю как его зацепить.


Если я правильно понял, то речь идёт о "фитче" аля стандартный VS или ReSharper: после ввода части кода, появляется список методов, свойств и т.д. Так вот, никто не будет (по крайней мере, обычно так не делают) создавать контрол - контейнер (в твоём случае - это окно с элементами, что-то вроде listbox'а) динамически. Динамически может (и должна) формироваться коллекция! Осталось определить, как коллекция формируется, а это проще всего выяснить у разработчиков. Самый благоприятный вариант - формирование основной коллекции (с последующим скрытием не нужных элементов) + динамическое добавление некоторых элементов. Это значит, что найдя свой контрол - контейнер, ты сможешь посмотреть свойства отдельных item'ов. Но мне это вариант кажется маловероятным. В любом случае, нужно "плясать" от контрола - контейнера.
  • 0

#6 Cirrus

Cirrus

    Новый участник

  • Members
  • Pip
  • 65 сообщений

Отправлено 20 ноября 2007 - 08:22

Здравствуйте

Чего-то не получилось зафиксить инфу. Т.е. я навожу на нужный элемент, свойства появляются, а как только я с него мышку убираю, то сразу все пропадает.

А мышку убирать не надо. Надо жать Ctrl-Shift-A.

Ещё вариант -- записать скрипт, который дождётся появления этого окна, обновит дерево объектов, а потом запостит имена всех дочерних объектов процесса (или главной формы) в лог.


Чего-то не получилось зафиксить инфу. Т.е. я навожу на нужный элемент, свойства появляются, а как только я с него мышку убираю, то сразу все пропадает.

А мышку убирать не надо. Надо жать Ctrl-Shift-A.

Хм..странно. Я нажимаю что надо ну и ничего не происходит. Т.е. я так понимаю, должна появиться возможность внизу окна поставить чекБокс (Fix the ...) , но я не могу.

А свойства, методы и т.п. как мне сохранить ? Мне же надо будет потом использовать методы, а какие доступны я же не знаю...
  • 0

#7 Cirrus

Cirrus

    Новый участник

  • Members
  • Pip
  • 65 сообщений

Отправлено 20 ноября 2007 - 08:25

По поводу меню, то в том то и дело, что это просто отдельное меню всплывающее не положенное ни на какую форму, а я так понимаю, что объект созадющийся в зависимости от действий пользователя. Т.е. позиционировался на тексте - создаем его и показываем. ПОэтому то и не знаю как его зацепить.


Если я правильно понял, то речь идёт о "фитче" аля стандартный VS или ReSharper: после ввода части кода, появляется список методов, свойств и т.д. Так вот, никто не будет (по крайней мере, обычно так не делают) создавать контрол - контейнер (в твоём случае - это окно с элементами, что-то вроде listbox'а) динамически. Динамически может (и должна) формироваться коллекция! Осталось определить, как коллекция формируется, а это проще всего выяснить у разработчиков. Самый благоприятный вариант - формирование основной коллекции (с последующим скрытием не нужных элементов) + динамическое добавление некоторых элементов. Это значит, что найдя свой контрол - контейнер, ты сможешь посмотреть свойства отдельных item'ов. Но мне это вариант кажется маловероятным. В любом случае, нужно "плясать" от контрола - контейнера.


Это понятно (наверное) =)) , вопрос в том, как мне найти этот контрол, если он пропадает, и после исчезает из дерева процессов ?...или...может он там постоянно висит, а я просто найти его никак не могу ? Например другие окна, создаются только после их активации (я про обычные диалоги), а после, например, Cancel, закрываются и из дерева пропадают.
  • 0

#8 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 20 ноября 2007 - 08:48

вопрос в том, как мне найти этот контрол, если он пропадает, и после исчезает из дерева процессов ?...или...может он там постоянно висит, а я просто найти его никак не могу ? Например другие окна, создаются только после их активации (я про обычные диалоги), а после, например, Cancel, закрываются и из дерева пропадают.


Нет, постоянно он там не висит, то есть до его активации в object browser'е ты его не увидишь. Тут нужно смотреть, кому принадлежит этот котрол, скорее всего нужно искать в поле Fields главной формы. Опять же, очень желательна интеграция с разработчиками, если они тебе не могут за 10 мин. "накидать" тестовую форму, то пусть хоть на словах объяснят:
1) как называется контрол-контейнер (что за класс используется)
2) как формируется для него коллекция
  • 0

#9 Cirrus

Cirrus

    Новый участник

  • Members
  • Pip
  • 65 сообщений

Отправлено 20 ноября 2007 - 09:08

вопрос в том, как мне найти этот контрол, если он пропадает, и после исчезает из дерева процессов ?...или...может он там постоянно висит, а я просто найти его никак не могу ? Например другие окна, создаются только после их активации (я про обычные диалоги), а после, например, Cancel, закрываются и из дерева пропадают.


Нет, постоянно он там не висит, то есть да его активации в object browser'е ты его не увидишь. Тут нужно смотреть, кому принадлежит этот котрол, скорее всего нужно искать в поле Fields главной формы. Опять же, очень желательна интеграция с разработчиками, если они тебе не могут за 10 мин. "накидать" тестовую форму, то пусть хоть на словах объяснят:
1) как называется контрол-контейнер (что за класс используется)
2) как формируется для него коллекция


Спасиб! Будем искать :)))) напишу об результатах по мере выполнения :)
  • 0

#10 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 20 ноября 2007 - 12:12

Здравствуйте.

Хм..странно. Я нажимаю что надо ну и ничего не происходит. Т.е. я так понимаю, должна появиться возможность внизу окна поставить чекБокс (Fix the ...) , но я не могу. 



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

Если настройка 'Capture mouse' выключена, то внизу окна Object Properties должна быть надпись вроде 'Press Ctrl-Shift-A to fix information' и рядом с ней чекбокс. Как только вы нажмёте Ctrl-Shift-A, чекбокс чекается, а информация об объекте под мышкой фиксируется в окне. После этого вы можете посмотреть свойства и методы этого объекта, даже если он уже уничтожен и его нет в дереве объектов.


Если шорткат не работает, то, вернее всего, какое-то приложение в вашей системе перехватывает его и не передаёт соответствующее сообщение TestComplete'у. Надо найти приложение, которое может обрабатывать глобальные шорткаты, и закрыть его.
  • 0
С уважением,
Дмитрий

#11 Distortion

Distortion

    Новый участник

  • Members
  • Pip
  • 22 сообщений
  • ФИО:Алексей Ксенофонтов
  • Город:Тула

Отправлено 20 ноября 2007 - 12:27

Здравствуйте

Чего-то не получилось зафиксить инфу. Т.е. я навожу на нужный элемент, свойства появляются, а как только я с него мышку убираю, то сразу все пропадает.

А мышку убирать не надо. Надо жать Ctrl-Shift-A.

Ещё вариант -- записать скрипт, который дождётся появления этого окна, обновит дерево объектов, а потом запостит имена всех дочерних объектов процесса (или главной формы) в лог.


В лог??? Я бы порекомендомал использовать Objects.Save(FullNameOfObject, StoredName), если уж известны имена дочерних объектов. Из них убить всё лишнее и оставить только нужный popup. Тут уже можно будет посмотреть и свойства этого popup'a.
  • 0

Здесь когда-то была нормальная человеческая подпись, но я её протестировал...


#12 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 20 ноября 2007 - 12:43

Если шорткат не работает, то, вернее всего, какое-то приложение в вашей системе перехватывает его и не передаёт соответствующее сообщение TestComplete'у. Надо найти приложение, которое может обрабатывать глобальные шорткаты, и закрыть его.


есть 2 подозрения:
1) ICQ 5 иногда блокирует этот хоткей

2) Предыдущая версия ТестКомплита не удалена
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных