Форма состоит из 3х таблиц. При открытии формы все таблицы последовательно загружаются данными. Таблица, над которой необходимо производить действия загружается в последнюю очередь. Соответственно, чем больше данных тем дольше происходит подгрузка данных из БД. Сколько строк таблицы должно загрузиться заведомо неизвестно, поэтому использовать Delay нельзя (в данный момент время загрузки составляет от 30 секунд)
Каким методом можно узнать что грид полностью создался?
Сейчас стоит следующая проверка:
1. Ожидание создания WinForms объекта
obj.WaitWinFormsObject(name, timeout);2. Ожидание создания грида
while ((!NameMapping.Sys.MyApp.MyFrame.MdiClient.WaitNamedChild("dgvQueue", 3000).Exists) && (timeout-- > 0)) { Aliases.MyFrame.RefreshMappingInfo(); }
Проблема в том, что данная проверка срабатывает не всегда:
* Frame создается, но маппинг не подтягивается (RefreshMappingInfo() не помогает)
* при проверке №2 TC выдает ошибку "an error occured" с описанием:
Possible reasons:
1. The application stopped responding.
2. The application was compiled incorrectly (see the Open Applications topic in the help system).
3. An error occurred in TestComplete.
Technical information:
176 0x8001011f (Возврат из операции произошел из-за превышения времени ожидания.)
Sys.Process("MyApp").WinFormsObject("MyFrame").WinFormsObject("MdiClient").WinFormsObject("dgvQueue")