/// <summary> /// Returns the tab control in the main window of the application. /// </summary> /// <param name="application">The application.</param> /// <param name="log">The log object.</param> /// <returns>The tab control in the main window of the application.</returns> public static Tab GetMainTab(Application application, Log log) { const string prefix = "Tabs - Get main tab control"; var mainWindow = DialogProxies.MainWindow(application, log); if (mainWindow == null) { return(null); } var tabSearchCriteria = SearchCriteria .ByAutomationId(ShellAutomationIds.Tabs); return(Retry.Times( () => { log.Debug(prefix, "Trying to get the main tab control."); var tab = (Tab)mainWindow.Get(tabSearchCriteria); if (tab == null) { log.Error(prefix, "Failed to get the main tab control."); } return tab; })); }
/// <summary> /// Returns the main menu of the application. /// </summary> /// <param name="application">The application.</param> /// <param name="log">The log object.</param> /// <returns>The main menu of the application.</returns> public static MenuBar GetMainMenu(Application application, Log log) { const string prefix = "Menus - Get main menu"; var mainWindow = DialogProxies.MainWindow(application, log); if (mainWindow == null) { return(null); } var menuSearchCriteria = SearchCriteria .ByAutomationId(MainMenuAutomationIds.Menu) .AndControlType(ControlType.Menu); return(Retry.Times( () => { log.Debug(prefix, "Trying to get main menu."); var menu = (MenuBar)mainWindow.Get(menuSearchCriteria); if (menu == null) { log.Error(prefix, "Failed to get the main menu."); } return menu; })); }