Получения названия текущего окна
#1
Отправлено 27 августа 2009 - 04:06
С помощью какой функции можно получать Caption текущего окна?
Т.е. я хочу сделать скрипт, который будет поочереди запускать все юзкейсы и если вдруг появится окно с названием "Ошибка", то я сделаю соответствую запись об ошибке.
(В Ration Robot можно было активировать текущее окно и получить указанное свойство:
Window SetContext, "CurrentWindow", ""
Res=SQAGetProperty ("CurrentWindow","Caption",value)
если кто пользовался может знает аналог?)
#2
Отправлено 31 августа 2009 - 08:35
STRING sRes2 = WINDOW.GetCaption ()
где WINDOW = нужное окно
#3
Отправлено 01 сентября 2009 - 06:23
где WINDOW = нужное окно
Я так поняла, что в Силке, чтобы применить какой-нибудь метод или узнать свойство, я должна написать Имя_окна.Свойство(). Я верно понимаю?
Ну так если я не знаю имени окна, как я могу воспользоваться этим свойством окна?
Я хочу узнать имя окна об ошибке, которое неизвестно когда может появиться.
Алгоритм такой:
1) Цикл по i по номерам существующих юзкейсов
2)) Запускаю i-ый Юз кейс.
3) Читаю Имя_всплывшего_окно
4) Если Имя = ошибка, то
4.1) записываю в лог
Иначе
4.2) переход на шаг 1)
#4
Отправлено 01 сентября 2009 - 14:57
создайте окно с тегом "~ActiveApp" - этотег, обозначающий любое активное окно.
#5
Отправлено 04 сентября 2009 - 04:12
имя_окна.свойство или имя_окна.метод()
создайте окно с тегом "~ActiveApp" - этотег, обозначающий любое активное окно.
Не получилось у меня так сделать, либо я неправильно что-то сделала :(.
#6
Отправлено 04 сентября 2009 - 11:28
гм. это было очень информативноимя_окна.свойство или имя_окна.метод()
создайте окно с тегом "~ActiveApp" - этотег, обозначающий любое активное окно.
Не получилось у меня так сделать, либо я неправильно что-то сделала :(.
пойдём медленным путём :
у вас "окно, которое всплывает" - это главное окно или это маленькое сообщение об ошибке над главным окном ?
можете его распознать и закинуть сюда его фрейм ? (разумеется, с обфускацией)
#7
Отправлено 08 сентября 2009 - 03:22
пойдём медленным путём :
у вас "окно, которое всплывает" - это главное окно или это маленькое сообщение об ошибке над главным окном ?
можете его распознать и закинуть сюда его фрейм ? (разумеется, с обфускацией)
Если запуск юзкейса прошёл удачно, то всплывает окно, например, со справочником, если нет, то маленькое сообщение.
Например я в программе запустила Справочник Мужские имена и в основной программе запустилась окно, но оно не плавающее
_________.JPG 71,99К 41 Количество загрузок:
Фрейм такой:
[-] window MainWin ИСОООАстраФармВерсия02 [-] multitag "ИС ООО:ASTRA?15800??*" [ ] "*?Мужские имена?" [ ] "$D:\app.exe" [+] Menu Menu1 ... [+] Menu Menu12 [+] Menu Menu13 [+] MenuItem MenuItem14 [+] CustomWin TNotifierWindow1 [-] CustomWin TAdvOfficeMDITabSet1 [ ] tag "[TAdvOfficeMDITabSet]$14549646"
У всплывающей ошибке фрейм такой:
[-] window DialogBox App [ ] tag "app" [-] CustomWin OK [-] multitag "[TButton]OK" [ ] "[TButton]$95092898"
либо (другой тип всплывающих ошибок):
[-] window DialogBox Ошибка [ ] tag "Ошибка..." [-] CustomWin TAdvPanel1 [ ] tag "[TAdvPanel]$95223970" [-] CustomWin TPanel1 [ ] tag "[TPanel]$33489836" [-] CustomWin TPanel1 [ ] tag "[TPanel]$17761266" [-] CustomWin OK [-] multitag "[TAdvGlowButton]OK" [ ] "[TAdvGlowButton]$15598274"
Вот мне и надо во время работы Тесткейса, если всплыло не окно Справочника, то записать название окна с ошибкой.
#8
Отправлено 10 сентября 2009 - 13:22
[-] window DialogBox dError [ ] tag "app[1]|Ошибка*[1]" [-] PushButton OK1 [ ] tag "[TButton]OK" [-] PushButton OK2 [ ] tag "[TAdvPanel]#1/[TPanel]#1/[TAdvGlowButton]OK" [ ] [-] STRING GetCaptionAndClose () [ ] STRING sResult = '' [ ] [-] if this.Exists (0.1) [ ] sResult = this.GetCaption () [-] if this.OK1.Exists (0.1) [ ] OK1.Click () [-] else [ ] OK1.Click () [ ] [ ] return sResultи используйте dError.GetCaptionAndClose () ;)
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных