Как в TestComplete можно добраться до меню???
Нужно например в Ворде нажать File->SendTo->Microsoft PowerPoint
пробовал и MainMenu и PopupMenu ниче не получаеться
делал как в примере токо для ворда
Set p = Sys.Process("notepad")
Set w = p.Window("Notepad", "Untitled - Notepad")
w.MainMenu.Select "File|Open..."
но вворде меню это тулбар
добрался донего так
MsWord.CommandBars("Main Menu").Controls(1).Execute();
меню выпадает, но как дальше выбрать в нем нужный пункт???
п.с. если чето я вообще не то делаю прошу сильно не пинать
бо я этот TestComplete токо первый раз юзаю
Здравствуйте, 2bas, Вы писали:
2>Привет
2>Как в TestComplete можно добраться до меню??? 2>Нужно например в Ворде нажать File->SendTo->Microsoft PowerPoint 2>пробовал и MainMenu и PopupMenu ниче не получаеться 2> ...............................................
2>п.с. если чето я вообще не то делаю прошу сильно не пинать 2>бо я этот TestComplete токо первый раз юзаю
А записать действия не пробовали? Может сгенерированный код поможет решить проблему?
Здравствуйте, Marduk, Вы писали:
M>А записать действия не пробовали? Может сгенерированный код поможет решить проблему?
При записи действий записывается код типа Click(5,10);
Идет клик по координатам, а проблема в том что на разных машинах
в офисе в меню Send разное количество пунктов меню да и порядок их может не совпадать
Мне бы как то добраться до меню именно по названию пункта.
Здравствуйте, 2bas, Вы писали:
2>Здравствуйте, Marduk, Вы писали:
M>>А записать действия не пробовали? Может сгенерированный код поможет решить проблему?
2>При записи действий записывается код типа Click(5,10); 2>Идет клик по координатам, а проблема в том что на разных машинах 2>в офисе в меню Send разное количество пунктов меню да и порядок их может не совпадать 2>Мне бы как то добраться до меню именно по названию пункта.
Да, плохо дело. В таких меню пункты могут восприниматься как кнопки. В частности такое встречалось в некоторых нестандартных контекстных меню. Может как-то попробовать поработать с проблемным пунктом как с кнопкой?
M>Да, плохо дело. В таких меню пункты могут восприниматься как кнопки. В частности такое встречалось в некоторых нестандартных контекстных меню. Может как-то попробовать поработать с проблемным пунктом как с кнопкой?
сделал так, правда больше ИМХО это похоже на програмирование чам на тестирование
ну я и не тестер
может кому нибудь понадобиться
var MsWord = Sys["GetOleObject"]("Word.Application") ;
var menu_file = MsWord.CommandBars("Menu Bar").Controls(1);
var br = 0;
var count = 0;
while ( count < menu_file.accChildCount )
{
count++;
if ( menu_file.Controls(count).Caption == "Sen&d To" )
{
var sendto = menu_file.Controls(count);
var i = 0;
while ( i < sendto.accChildCount )
{
i++;
if ( sendto.Controls(i).Caption == "Skype" )
{
sendto.Controls(i).Execute();
br = 1;
break;
}
}
}
if ( br == 1 ) break;
}
if ( br == 0 )
{
Win32API.MessageBox(0,"Can`t Find File->Send To->Skype menu" ,"Error",MB_OK | MB_SYSTEMMODAL | MB_ICONERROR);
return 0;
}
Здравствуйте, 2bas, Вы писали:
2>Здравствуйте, Marduk, Вы писали:
M>>Да, плохо дело. В таких меню пункты могут восприниматься как кнопки. В частности такое встречалось в некоторых нестандартных контекстных меню. Может как-то попробовать поработать с проблемным пунктом как с кнопкой?
2>сделал так,
Прикольное решение. Кстати, его удобно завернуть в некоторую функцию. Таких пунктов меню может быть очень много и для каждого из них такую "каракатицу" воротить нехорошо, а вот функция будет весьма кстати.
2>правда больше ИМХО это похоже на програмирование чам на тестирование 2>ну я и не тестер
А на это заморачиваться не надо. Автотестер во многих конторах (в частности в Украине) числится как программист (и зарабатывает на уровне с ними),да и тестированием такие люди занимаются весьма посредственно. А зачем, если тестирует машина, а не человек?
Здравствуйте, 2bas, Вы писали:
2>Привет
2>Как в TestComplete можно добраться до меню??? 2>Нужно например в Ворде нажать File->SendTo->Microsoft PowerPoint
а так простым рекордом почему не сделать?
function Test1()
{
var p, w
p = Sys.Process("WINWORD")
w = p.Window("OpusApp", "* Microsoft Word")
w.Activate()
w.Window("MsoCommandBar", "Menu Bar").mi_File.Click()
p.Window("MsoCommandBarPopup", "File").mi_Send_To.Click()
p.Window("MsoCommandBarPopup", "Send To").mi_Microsoft_Office_PowerPoint.Click()
}
ps: если нажатие на кнопку записывается как
w.Window("Button", "ButtonName").Click(x, y)
то легко можно выкинуть координаты, будет кликать именно кнопку