public void SqlBulkInsertTest_OpenQuickVariableInputAndCloseItImmediately_ReturnsToSmallView() { // Create the workflow RibbonUIMap.CreateNewWorkflow(); var theTab = TabManagerUIMap.GetActiveTab(); // Get some variables var startPoint = WorkflowDesignerUIMap.GetStartNodeBottomAutoConnectorPoint(theTab); var point = new Point(startPoint.X, startPoint.Y + 200); // Drag the tool onto the workflow ToolboxUIMap.DragControlToWorkflowDesigner(ToolType.SqlBulkInsert, point, "Sql Bulk"); //Open the quick variable input view var toggleButton = GetControlByFriendlyName("Open Quick Variable Input"); MouseCommands.ClickControlAtPoint(toggleButton, new Point(5, 5)); WaitForControlLoad(); var quickVarInputContent = GetControlByFriendlyName("QuickVariableInputContent"); Assert.IsNotNull(quickVarInputContent); //Close the quick variable input view toggleButton = GetControlByFriendlyName("Close Quick Variable Input"); MouseCommands.ClickControlAtPoint(toggleButton, new Point(5, 5)); WaitForControlLoad(); var smallDataGrid = GetControlById("SmallDataGrid", theTab); Assert.IsNotNull(smallDataGrid); }
// 05/11 - Failure is Intermittent - Problems finding LargeView button ;) public void SqlBulkInsertTest_SelectDatabaseAndTableName_GridHasColumnnames() { // Create the workflow RibbonUIMap.CreateNewWorkflow(); var theTab = TabManagerUIMap.GetActiveTab(); var startPoint = WorkflowDesignerUIMap.GetStartNodeBottomAutoConnectorPoint(theTab); var point = new Point(startPoint.X, startPoint.Y + 200); // Drag the tool onto the workflow ToolboxUIMap.DragControlToWorkflowDesigner(ToolType.SqlBulkInsert, point, "Sql Bulk"); //Select a database var dbDropDown = GetControlById("UI__Database_AutoID", theTab) as WpfComboBox; MouseCommands.ClickControlAtPoint(dbDropDown, new Point(10, 10)); WaitForControlLoad(15000); if (dbDropDown != null) { var listOfDbNames = dbDropDown.Items.Select(i => i as WpfListItem).ToList(); var databaseName = listOfDbNames.SingleOrDefault(i => i.DisplayText.Contains(TestingDb)); MouseCommands.ClickControlAtPoint(databaseName, new Point(5, 5)); } //Select a table var tableDropDown = GetControlById("UI__TableName_AutoID", theTab) as WpfComboBox; MouseCommands.ClickControlAtPoint(tableDropDown, new Point(10, 10)); WaitForControlLoad(15000); if (tableDropDown != null) { var listOfTableNames = tableDropDown.Items.Select(i => i as WpfListItem).ToList(); WaitForControlLoad(2500); MouseCommands.ClickControlAtPoint(listOfTableNames[TableIndex], new Point(5, 5)); } WaitForControlLoad(3000); //Assert that grid is not empty var smallDataGrid = GetControlById("SmallDataGrid", theTab); Assert.IsTrue(smallDataGrid.GetChildren().Count > 0); }
public void SqlBulkInsertTest_OpenLargeViewAndEnterAnInvalidBatchAndTimeoutSizeAndClickDone_CorrectingErrorsAndClickDoneWillReturnToSmallView() { // Open the Explorer ExplorerUIMap.EnterExplorerSearchText("Sql Bulk Insert Large View"); // Open the Workflow ExplorerUIMap.DoubleClickOpenProject("localhost", "UI TEST", "Sql Bulk Insert Large View"); var theTab = TabManagerUIMap.GetActiveTab(); //Select a database var dbDropDown = GetControlById("UI__Database_AutoID", theTab) as WpfComboBox; Mouse.Click(dbDropDown, new Point(10, 10)); WaitForControlLoad(); if (dbDropDown != null) { var listOfDbNames = dbDropDown.Items.Select(i => i as WpfListItem).ToList(); var databaseName = listOfDbNames.SingleOrDefault(i => i.DisplayText.Contains(TestingDb)); Mouse.Click(databaseName, new Point(5, 5)); } WaitForControlLoad(5000); //Select a table var tableDropDown = GetControlById("UI__TableName_AutoID", theTab) as WpfComboBox; Mouse.Click(tableDropDown, new Point(10, 10)); WaitForControlLoad(10000); if (tableDropDown != null) { var listOfTableNames = tableDropDown.Items.Select(i => i as WpfListItem).ToList(); WaitForControlLoad(); Mouse.Click(listOfTableNames[TableIndex], new Point(5, 5)); } WaitForControlLoad(5000); UITestControl controlOnWorkflow = WorkflowDesignerUIMap.FindControlByAutomationId(theTab, "DsfSqlBulkInsertActivity"); //Open the large view using context menu WorkflowDesignerUIMap.OpenCloseLargeViewUsingContextMenu(theTab, "DsfSqlBulkInsertActivity"); WaitForControlLoad(5000); //Enter a few mappings // THIS IS FAULTY LOGIC!!!! var getFirstTextbox = WorkflowDesignerUIMap.GetSqlBulkInsertLargeViewFirstInputTextbox(controlOnWorkflow); if (getFirstTextbox == null) { throw new Exception("Failed to Locate Text Box"); } Mouse.Click(getFirstTextbox); KeyboardCommands.SendKey("^a^xrecord().id"); KeyboardCommands.SendTab(); KeyboardCommands.SendKey("^a^xrecord().name"); KeyboardCommands.SendTab(); KeyboardCommands.SendKey("^a^xrecord().mail"); KeyboardCommands.SendTab(); WaitForControlLoad(); var batchSize = GetControlById("UI__BatchSize_AutoID", theTab); MouseCommands.ClickControlAtPoint(batchSize, new Point(5, 5)); KeyboardCommands.SendKey("^a^x-2"); var timeout = GetControlById("UI__Timeout_AutoID", theTab); MouseCommands.ClickControlAtPoint(timeout, new Point(5, 5)); KeyboardCommands.SendKey("^a^x-2"); var result = GetControlById("UI__Result_AutoID", theTab); MouseCommands.ClickControlAtPoint(result, new Point(5, 5)); KeyboardCommands.SendKey("^a^x-2"); var done = GetControlById("DoneButton", theTab); MouseCommands.ClickControlAtPoint(done, new Point(5, 5)); WaitForControlLoad(); var batchErrorMessage = WorkflowDesignerUIMap.FindControlByAutomationId(theTab, "Batch size must be a number"); MouseCommands.MoveAndClick(new Point(batchErrorMessage.GetChildren()[0].BoundingRectangle.X + 5, batchErrorMessage.GetChildren()[0].BoundingRectangle.Y + 5)); KeyboardCommands.SendKey("^a^x200"); var timeoutErrorMessage = WorkflowDesignerUIMap.FindControlByAutomationId(theTab, "Timeout must be a number"); MouseCommands.MoveAndClick(new Point(timeoutErrorMessage.GetChildren()[0].BoundingRectangle.X + 5, timeoutErrorMessage.GetChildren()[0].BoundingRectangle.Y + 5)); KeyboardCommands.SendKey("^a^x200"); MouseCommands.ClickControlAtPoint(done, new Point(5, 5)); batchErrorMessage = WorkflowDesignerUIMap.FindControlByAutomationId(theTab, "Batch size must be a number"); timeoutErrorMessage = WorkflowDesignerUIMap.FindControlByAutomationId(theTab, "Timeout must be a number"); Assert.IsNull(batchErrorMessage); Assert.IsNull(timeoutErrorMessage); }