Наше волшебное приложение (.NET) позволяет открывать одинаковые скрины по нескольку раз.
Однако QTP 9.0, видя такое безобразие, выдает ошибку -у вас открыто несколько таких окон.
Можно ли обойти это особенность QTP 9.0 какой-нибудь настройкой, или просто не лениться и каждый раз закрывать скрин?
Или я снова много хочу? ;)
QTP 9.0: Ругается на 2 открытых одинаковых окна
Автор Tanya, 22 авг 2006 08:13
Сообщений в теме: 6
#1
Отправлено 22 августа 2006 - 08:13
#2
Отправлено 22 августа 2006 - 08:41
Если Вы хотите работать с первым попавшимся окном, то просто добавьте в свойства распознавания окна (в Object Repository), index:=0. Но даже если это сработает, советую, всё-же закрывать окна - замучаетесь отлаживать.
Best regards,
Майк.
Майк.
#3
Отправлено 22 августа 2006 - 12:39
Ок, будем учиться закрывать за собой окна. Спасибо.
#4
Отправлено 23 августа 2006 - 16:03
A razve po Window id oni ne razlichajutsja?
#5
Отправлено 16 января 2008 - 18:57
окна можно закрывать множеством способов, например перед скриптом вставить строчку
' Close all projects opened by QTP
SystemUtil.CloseDescendentProcesses
' Close all projects opened by QTP
SystemUtil.CloseDescendentProcesses
#6
Отправлено 17 января 2008 - 13:12
Да, проще всего доработать скрипт так, чтобы перед открытием нового окна он закрывал старое.
Еще можно попробовать средствами Object Repository изучить все доступные свойства открытых окон на предмет различий, и в дальнейшем обращаться к нужному окну по тем свойствам которые у них различаются.
Еще можно попробовать средствами Object Repository изучить все доступные свойства открытых окон на предмет различий, и в дальнейшем обращаться к нужному окну по тем свойствам которые у них различаются.
#7
Отправлено 21 января 2008 - 22:15
При работе с WR я решаю эту проблему следующим образом:
- перед выполнением какого-либо действия получается коллекция HANDLE'ов окон (HANDLE - это единственный уникальный описатель любого окна), отвечающих определенному требованию (например: окон, имеющих указанный класс) или всех окон;
- выполняется действие;
- снова получается коллекция HANDLE'ов окон;
- в результате сравнения коллекций определяется HANDLE нового окна.
Теперь можно работать с новым окном, используя только его HANDLE.
В этом случае отпадает необходимость закрытия любых других окон.
- перед выполнением какого-либо действия получается коллекция HANDLE'ов окон (HANDLE - это единственный уникальный описатель любого окна), отвечающих определенному требованию (например: окон, имеющих указанный класс) или всех окон;
- выполняется действие;
- снова получается коллекция HANDLE'ов окон;
- в результате сравнения коллекций определяется HANDLE нового окна.
Теперь можно работать с новым окном, используя только его HANDLE.
В этом случае отпадает необходимость закрытия любых других окон.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных