![Фотография](https://secure.gravatar.com/avatar/e844567ae7896b1387d8253f6d496853?s=100&d=https%3A%2F%2Fsoftware-testing.ru%2Fforum%2Fpublic%2Fstyle_images%2Fmaster%2Fprofile%2Fdefault_large.png)
Как найти контекстное меню
#1
Отправлено 21 января 2012 - 18:53
#2
Отправлено 21 января 2012 - 20:20
Контекстное меню вызывается правым кликом мыши по иконке, находящейся в главном окне. Как можно сделать выбор в этом меню из скрипта? В свойствах иконки его нет. Судя по имени (WinFormsObject("cmsImStatus")), оно принадлежит самому процессу - Sys.Process("MyProcess").WinFormsObject("cmsImStatus"). Хотелось бы добраться до него так, как например, до существующего главного меню. С ним проще, оно является потомком главного окна программы и отображается в его свойствах. Поэтому, поступаю так Sys.Process("MyProcess").WinFormsObject("MainWindow").StripMainMenu.Click("Tools|Reconnect IM"). А как же можно добраться до контекстного?
На моем примере это делалось примерно так:
w.ClickItemR(1,true); w.PopupMenu.Click("Close")
#3
Отправлено 22 января 2012 - 08:08
w.ClickItemR(1,true); w.PopupMenu.Click("Close")[/quote]
Ну так в том то и дело. Во-первых у w нет объекта PopupMenu. Во-вторых окно этого самого PopupMenu является child-ом непосредственно процесса, а не какого-нибудь из его окон (см. мой пример).
#4
Отправлено 22 января 2012 - 10:50
#5
Отправлено 22 января 2012 - 12:26
Какой скрипт получается, если сделать Record ?
Получается простая запись кликов и никаких меню. Примерно так:
Правый клик по иконке: Sys.Process("МойПроцесс").WinFormsObject("ГлавноеОкно").WinFormsObject("Иконка").ClickR(13, 6);
Клик по опции появившегося контекстного меню: Sys.Process("МойПроцесс").WinFormsObject("КонтекстноеМеню").Click(39, 81);
#6
Отправлено 23 января 2012 - 06:59
Set p1 = Sys.Proccess("мой процесс") Call p1.MainForm.wiNDS.ClickR p1.Popup("Context").MenuItem("с НДС").Click ' - тут как раз и указываем значениеВарианты есть, главное поймать object spy всплывающую менюшку и успеть изучить её :)
#7
Отправлено 24 января 2012 - 12:03
столкнулась с той же проблемой...решения пока нет, но я в поискахКонтекстное меню вызывается правым кликом мыши по иконке, находящейся в главном окне. Как можно сделать выбор в этом меню из скрипта? В свойствах иконки его нет. Судя по имени (WinFormsObject("cmsImStatus")), оно принадлежит самому процессу - Sys.Process("MyProcess").WinFormsObject("cmsImStatus"). Хотелось бы добраться до него так, как например, до существующего главного меню. С ним проще, оно является потомком главного окна программы и отображается в его свойствах. Поэтому, поступаю так Sys.Process("MyProcess").WinFormsObject("MainWindow").StripMainMenu.Click("Tools|Reconnect IM"). А как же можно добраться до контекстного?
![:yes:](http://software-testing.ru/forum/public/style_emoticons/default/yes.gif)
#8
Отправлено 28 января 2012 - 06:46
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных