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

Фотография

Page.Wait() убивает всех Child-ов у Page


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

#1 antone

antone

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

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

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

Привет всем...

Есть метод который должен кликнуть кнопочку, дождаться завершения загрузки появившего окна, проверить что на нем есть нужная таблички и закрыть откно. Кусочек из кода:

pagePopUp = Sys.WaitProcess("iexplore",TimeOut).WaitWindow("*",WindCaption,0,TimeOut).
WaitWindow("Internet Explorer_Server", "*", 0, TimeOut).WaitPage("*",TimeOut);
pagePopUp.Wait();
Delay(5);

На последней строчке Delay(5); ставлю точку останова. Скрипт тормозит именно тогда когда появившееся окно полностью загружено (т.е. когда нада).
НО ПОСЛЕ этого pagePopUp типа page не будет иметь Childoв. Мало того, в Object Browser-е у Page нет даже плюсика, чтобы поглядеть на ее чайлдов. Так же ChildCount = 0 (в Object Browser-е и через Ctrl + F7).
НИКАКИЕ Refresh() не помогают. В Object Browser-е тоже рефрешил все родительские ноды. ВСЕ.

НО: если закрыть TC, открыть сново, поглядеть в Object Browser-е - все чайлд объекты видны - без проблемм..

Если закомментить строчкку pagePopUp.Wait(); и выдержать таймаут пока страничка не загрузиться - тоже все ок... Но расставлять Delay - имхо извращения...

Помогите плиз....

Еще раз уточню: в Object Browser-е страничка эта тоже без чайлд объектов in fact...

Спасибо

PS да... еще забыл... Если навести волшебную мешеньку на нужный объект а потом в появившемся окне кликнуть "показать его в дереве" - он развернет всех чайлдов у Page...
  • 0

#2 Dmitry N

Dmitry N

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

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

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

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

Версия TestComplete? Можете работающий c доступной страницей пример предоставить?
  • 0
С уважением,
Дмитрий

#3 antone

antone

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

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

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

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

Версия TestComplete? Можете работающий c доступной страницей пример предоставить?


5.11.432.7
Приобретенная версия.
Страничку предоставить к сожалению не могу :(
  • 0

#4 antone

antone

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

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

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

проблема решилась вставкой mainpage.Wait() для основной странички после клика на кнопку, которая открывает PopUp...
Это правило такое? если страничка отрывается с другой странички, то для базовой страницы нужно ставитьWait() ?
хм....
  • 0

#5 Dmitry N

Dmitry N

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

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

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

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

То есть, проблема в том, что ваша страница открывает другую страницу в отдельном окне, и ТС не может работать с этой новой страницей? Как конкретно создаётся эта страница (запостите кусочек скрипта со страницы)? Попробую у себя пример сделать.
  • 0
С уважением,
Дмитрий

#6 antone

antone

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

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

Отправлено 21 ноября 2007 - 10:30

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

То есть, проблема в том, что ваша страница открывает другую страницу в отдельном окне, и ТС не может работать с этой новой страницей? Как конкретно создаётся эта страница (запостите кусочек скрипта со страницы)? Попробую у себя пример сделать.


Да .Кнопочка, которая открывает PopUp (в том же процессе)

pDefault.INPUT.WaitChild(btnBrowseName,0).Click();
pDefault.Wait();
WindCaption = "*Dest*";
parentControl = "INPUT";
ChildControl = "ctl00_cphMain_ccDB_tbSearchDestination";
break;
Sys.WaitProcess("iexplore",TimeOut).WaitWindow("*",WindCaption,0,TimeOut).
WaitWindow("Internet Explorer_Server", "*", 0, TimeOut).WaitPage("*",TimeOut).Wait();
pagePopUp = Sys.Process("iexplore").Window("*",WindCaption,0).
Window("Internet Explorer_Server", "*", 0).Page("*");
pagePopUp.Wait();

Если закоментить вторую строчку - НЕ работает.
Note: главная страничка pDefault НЕ перегружается после открытия PopUp окна...
  • 0

#7 Dmitry N

Dmitry N

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

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

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

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

Сделал простой пример ASP.NET странички, работает без проблем. По всей видимости, надо разбираться как ТС работает непосредственно с вашим приложением. Но с этим уже в службу поддержки (support@automatedqa.com).
  • 0
С уважением,
Дмитрий

#8 antone

antone

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

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

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

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

Сделал простой пример ASP.NET странички, работает без проблем. По всей видимости, надо разбираться как ТС работает непосредственно с вашим приложением. Но с этим уже в службу поддержки (support@automatedqa.com).


спасибо и за это :)
  • 0


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

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