/// <summary> /// Verifies that the 'View' menu works as expected. /// </summary> /// <param name="application">The application.</param> /// <param name="log">The log object.</param> /// <returns>The test result for the current test case.</returns> public TestResult VerifyViewMenu(Application application, Log log) { const string prefix = "View menu"; var result = new TestResult(); var assert = new Assert(result, log); try { var startPage = TabProxies.GetStartPageTabItem(application, log); if (startPage != null) { log.Info(prefix, "Closing start page."); TabProxies.CloseStartPageTab(application, log); } // Make sure we don't close the welcome tab upon opening the project page WelcomePageControlProxies.UncheckCloseWelcomePageOnProjectOpen(application, log); var projectPage = TabProxies.GetProjectPageTabItem(application, log); if (projectPage != null) { log.Info(prefix, "Closing project page."); TabProxies.CloseProjectPageTab(application, log); } // Open start page via view menu MenuProxies.SwitchToStartPageViaViewStartPageMenuItem(application, log); startPage = TabProxies.GetStartPageTabItem(application, log); assert.IsNotNull(startPage, prefix + " - Check start page exists after clicking start page menu item"); assert.IsTrue(startPage.IsSelected, prefix + " - Check start page is focussed after clicking start page menu item"); } catch (RegressionTestFailedException e) { var message = string.Format( CultureInfo.InvariantCulture, "Failed with exception. Error: {0}", e); log.Error(prefix, message); result.AddError(prefix + " - " + message); } return(result); }
public TestResult VerifyWelcomeTab(Application application, Log log) { const string prefix = "Welcome tab"; var result = new TestResult(); var assert = new Assert(result, log); try { var startPage = TabProxies.GetStartPageTabItem(application, log); if (startPage == null) { log.Info(prefix, "Opening start page."); MenuProxies.SwitchToStartPageViaViewStartPageMenuItem(application, log); } startPage = TabProxies.GetStartPageTabItem(application, log); if (startPage == null) { var message = "Failed to get the start page."; log.Error(prefix, message); result.AddError(prefix + " - " + message); return(result); } try { if (!startPage.IsSelected) { log.Info(prefix, "Setting focus to start page."); startPage.Select(); } } catch (Exception e) { var message = string.Format( CultureInfo.InvariantCulture, "Failed to select the start page tab. Error was: {0}", e); log.Error(prefix, message); result.AddError(prefix + " - " + message); return(result); } var applicationNameSearchCiteria = SearchCriteria .ByAutomationId(WelcomeViewAutomationIds.ApplicationName); var nameLabel = Retry.Times( () => { log.Debug(prefix, "Trying to get the application name label."); var label = (Label)startPage.Get(applicationNameSearchCiteria); if (label == null) { log.Error(prefix, "Failed to find the application name label."); } return(label); }); if (nameLabel == null) { var message = "Failed to get the application name label."; log.Error(prefix, message); result.AddError(prefix + " - " + message); return(result); } var nameText = nameLabel.Text; assert.AreEqual(ProductInformation.ProductName, nameText, prefix + " - Product Name"); } catch (RegressionTestFailedException e) { var message = string.Format( CultureInfo.InvariantCulture, "Failed with exception. Error: {0}", e); log.Error(prefix, message); result.AddError(prefix + " - " + message); } return(result); }
public TestResult VerifyCloseOnProjectOpenCheckbox(Application application, Log log) { const string prefix = "Close welcome tab on project open"; var result = new TestResult(); var assert = new Assert(result, log); try { var startPage = TabProxies.GetStartPageTabItem(application, log); if (startPage == null) { log.Info(prefix, "Opening start page."); MenuProxies.SwitchToStartPageViaViewStartPageMenuItem(application, log); } startPage = TabProxies.GetStartPageTabItem(application, log); if (startPage == null) { var message = "Failed to get the start page."; log.Error(prefix, message); result.AddError(prefix + " - " + message); return(result); } try { if (!startPage.IsSelected) { log.Info(prefix, "Setting focus to start page."); startPage.Select(); } } catch (Exception e) { var message = string.Format( CultureInfo.InvariantCulture, "Failed to select the start page tab. Error was: {0}", e); log.Error(prefix, message); result.AddError(prefix + " - " + message); return(result); } // Check 'keep open' flag WelcomePageControlProxies.UncheckCloseWelcomePageOnProjectOpen(application, log); // New button var newProjectSearchCriteria = SearchCriteria .ByAutomationId(WelcomeViewAutomationIds.NewProject); var newProjectButton = (Button)startPage.Get(newProjectSearchCriteria); if (newProjectButton == null) { var message = "Failed to get the 'New Project' button."; log.Error(prefix, message); result.AddError(prefix + " - " + message); return(result); } newProjectButton.Click(); // Check that the start page hasn't been closed var currentStartPage = TabProxies.GetStartPageTabItem(application, log); assert.IsNotNull(currentStartPage, prefix + " - Start page does not exist after opening project"); assert.IsFalse(currentStartPage.IsSelected, prefix + " - Start page is selected after opening project"); var currentProjectPage = TabProxies.GetProjectPageTabItem(application, log); assert.IsNotNull(currentProjectPage, prefix + " - Project page does not exist after opening project"); assert.IsTrue(currentProjectPage.IsSelected, prefix + " - Project page is not selected after opening project"); // Check that File - close has been enabled var fileCloseMenu = MenuProxies.GetFileCloseMenuItem(application, log); assert.IsTrue(fileCloseMenu.Enabled, prefix + " - File - Close menu is not enabled"); // HACK: It seems that the File menu stays open when we check the File - close menu item var fileMenu = MenuProxies.GetFileMenuItem(application, log); if (fileMenu == null) { var message = "Failed to get the file menu."; log.Error(prefix, message); result.AddError(prefix + " - " + message); return(result); } if (fileMenu.IsFocussed) { fileMenu.Click(); } // Close the project via the close button on the tab page TabProxies.CloseProjectPageTab(application, log); WelcomePageControlProxies.CheckCloseWelcomePageOnProjectOpen(application, log); // New button newProjectButton.Click(); // Check that the start page has been closed currentStartPage = TabProxies.GetStartPageTabItem(application, log); assert.IsNull(currentStartPage, prefix + " - Start page exists after opening project"); // Close the project via the close button on the tab page TabProxies.CloseProjectPageTab(application, log); WelcomePageControlProxies.UncheckCloseWelcomePageOnProjectOpen(application, log); } catch (RegressionTestFailedException e) { var message = string.Format( CultureInfo.InvariantCulture, "Failed with exception. Error: {0}", e); log.Error(prefix, message); result.AddError(prefix + " - " + message); } return(result); }
private TestResult VerifyTabBehaviour(Application application, Log log) { const string prefix = "Tabs"; var result = new TestResult(); var assert = new Assert(result, log); try { var startPage = TabProxies.GetStartPageTabItem(application, log); if (startPage == null) { log.Info(prefix, "Opening start page."); MenuProxies.SwitchToStartPageViaViewStartPageMenuItem(application, log); } // Make sure we don't close the welcome tab upon opening the project page WelcomePageControlProxies.UncheckCloseWelcomePageOnProjectOpen(application, log); var projectPage = TabProxies.GetProjectPageTabItem(application, log); if (projectPage == null) { log.Info(prefix, "Opening project page."); WelcomePageControlProxies.OpenProjectPageViaWelcomePageButton(application, log); } startPage = TabProxies.GetStartPageTabItem(application, log); if (startPage == null) { var message = "Failed to open the start page."; log.Error(prefix, message); result.AddError(prefix + " - " + message); return(result); } projectPage = TabProxies.GetProjectPageTabItem(application, log); if (projectPage == null) { var message = "Failed to open the project page."; log.Error(prefix, message); result.AddError(prefix + " - " + message); return(result); } try { if (!startPage.IsSelected) { log.Info(prefix, "Setting focus to start page."); startPage.Select(); } } catch (Exception e) { var message = string.Format( CultureInfo.InvariantCulture, "Failed to select the start page tab. Error was: {0}", e); log.Error(prefix, message); result.AddError(prefix + " - " + message); return(result); } assert.IsTrue(startPage.IsSelected, prefix + " - Start is selected"); assert.IsFalse(projectPage.IsSelected, prefix + " - Project is not selected"); MenuProxies.SwitchToProjectPageViaViewStartPageMenuItem(application, log); assert.IsFalse(startPage.IsSelected, prefix + " - Start is not selected"); assert.IsTrue(projectPage.IsSelected, prefix + " - Project is selected"); MenuProxies.SwitchToStartPageViaViewStartPageMenuItem(application, log); assert.IsTrue(startPage.IsSelected, prefix + " - Start is selected"); assert.IsFalse(projectPage.IsSelected, prefix + " - Project is not selected"); TabProxies.CloseProjectPageTab(application, log); } catch (RegressionTestFailedException e) { var message = string.Format( CultureInfo.InvariantCulture, "Failed with exception. Error: {0}", e); log.Error(prefix, message); result.AddError(prefix + " - " + message); } return(result); }