Описание: MFC Applicationкодированный Ui WaitForControlReady (200) не нарушает тайм-аута
желательное действие - проверить, если дополнительное окно открыто. Определите вспомогательное окно с помощью уникальной кнопки, расположенной в окне.
Проблема: когда окно закрыто, следующий код вместо возврата false после 200 мс ждет 7 секунд = время ожидания не работает.
GeneralUIMap winwindow представляет собой кнопку, так как сама кнопка не имеет уникальные поисковые свойства, и могут быть однозначно определены только WinWindow обертку GeneralUIMap:
class x{
private UITestControl mainApplicationWindow; //main application window
private WinWindow GeneralUIMap;
private WinButton btnZoomAdd;
X(){
mainApplicationWindow = new WinWindow();
mainApplicationWindow.TechnologyName = "MSAA";
mainApplicationWindow.SearchProperties UITestControl.PropertyNames.Name] = " - Main Window - Welcome";
GeneralUIMap = new WinWindow(mainApplicationWindow);
GeneralUIMap.SearchProperties[WinWindow.PropertyNames.ControlId] = "8546";
btnZoomAdd = new WinButton(GeneralUIMap);
}
public bool isVisible()
{
WinWindow w = new WinWindow(mainApplicationWindow);
w.SearchProperties[WinWindow.PropertyNames.ControlId] = "8546";
try
{
w.WaitForControlReady(200);
}
catch (Exception e)
{
return false;
}
return true;
}