public static void SwitchToAdvancedSettings(AutomationRunner testRunner, AutomationTesterHarness resultsHarness) { if (testRunner.NameExists("SettingsAndControls")) { testRunner.ClickByName("SettingsAndControls", 1); testRunner.Wait(.5); } resultsHarness.AddTestResult(testRunner.ClickByName("User Level Dropdown", 1), "Click Settings Mode dropdown"); resultsHarness.AddTestResult(testRunner.ClickByName("Advanced Menu Item", 1), "Click 'Advanced' settings"); testRunner.Wait(.5); }
public void EditButtonTurnsOnOffEditMode() { //Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); /* * Tests that when the edit button is clicked we go into editmode (print queue items have checkboxes on them) * 1. After Edit button is clicked print queue items have check boxes * 2. Selecting multiple queue itema and then clicking the Remove button removes the item * 3. Selecting multiple queue items and then clicking the Remove button decreases the queue tab count by one */ bool checkboxExists = testRunner.WaitForName("Queue Item Checkbox", 2); resultsHarness.AddTestResult(checkboxExists == false); resultsHarness.AddTestResult(QueueData.Instance.Count == 4); SystemWindow systemWindow; string itemName = "Queue Item " + "2013-01-25_Mouthpiece_v2"; GuiWidget queueItem = testRunner.GetWidgetByName(itemName, out systemWindow, 3); SearchRegion queueItemRegion = testRunner.GetRegionByName(itemName, 3); { testRunner.ClickByName("Queue Edit Button", 2); SystemWindow containingWindow; GuiWidget foundWidget = testRunner.GetWidgetByName("Queue Item Checkbox", out containingWindow, 3, searchRegion: queueItemRegion); resultsHarness.AddTestResult(foundWidget != null, "We should have an actual checkbox"); } { testRunner.ClickByName("Queue Done Button", 2); testRunner.Wait(.5); SystemWindow containingWindow; GuiWidget foundWidget = testRunner.GetWidgetByName("Queue Item Checkbox", out containingWindow, 1, searchRegion: queueItemRegion); resultsHarness.AddTestResult(foundWidget == null, "We should not have an actual checkbox"); } MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, queueItemFolderToAdd: QueueTemplate.Three_Queue_Items, overrideWidth: 600); Assert.IsTrue(testHarness.AllTestsPassed(4)); }
public void DownloadsAddButtonAddsZipFiles() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { string firstItemName = "Row Item " + "Chinese Dragon"; string secondItemName = "Row Item " + "chichen-itza pyramid"; string thirdItemName = "Row Item " + "Circle Calibration"; //Navigate to Downloads Library Provider testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Downloads Row Item Collection"); testRunner.ClickByName("Library Add Button"); testRunner.Wait(3); //Get parts to add string rowItemPath = MatterControlUtilities.PathToQueueItemsFolder("Test.zip"); //Get files to delete from Downloads once each test has completed and then add them to List string firstFileToDelete = Path.Combine(MatterControlUtilities.PathToDownloadsFolder, "Circle Calibration.stl"); string secondFileToDelete = Path.Combine(MatterControlUtilities.PathToDownloadsFolder, "Chinese Dragon.stl"); string thirdFileToDelete = Path.Combine(MatterControlUtilities.PathToDownloadsFolder, "chichen-itza_pyramid.stl"); addedFiles.Add(firstFileToDelete); addedFiles.Add(secondFileToDelete); addedFiles.Add(thirdFileToDelete); //Add AMF part items to Downloads and then type paths into file dialogues testRunner.Wait(2); testRunner.Type(rowItemPath); testRunner.Wait(1); testRunner.Type("{Enter}"); //Get test results bool firstRowItemWasAdded = testRunner.WaitForName(firstItemName, 2); resultsHarness.AddTestResult(firstRowItemWasAdded == true); bool secondRowItemWasAdded = testRunner.WaitForName(secondItemName, 2); resultsHarness.AddTestResult(secondRowItemWasAdded == true); bool thirdRowItemWasAdded = testRunner.WaitForName(thirdItemName, 2); resultsHarness.AddTestResult(thirdRowItemWasAdded == true); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); MatterControlUtilities.CleanUpDownloadsDirectoryAfterTest(addedFiles); Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 3); // make sure we ran all our tests }
public void AddToQueueFromLibraryButtonAddsItemToQueue() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); //Navigate to Local Library testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection"); testRunner.Wait(1); testRunner.ClickByName("Library Edit Button"); testRunner.Wait(1); //Select Library Item string rowItemOne = "Row Item " + "Calibration - Box"; testRunner.ClickByName(rowItemOne); testRunner.Wait(1); int queueCountBeforeAdd = QueueData.Instance.Count; //Add Library Item to the Print Queue MatterControlUtilities.LibraryAddSelectionToQueue(testRunner); testRunner.Wait(2); //Make sure that the Queue Count increases by one int queueCountAfterAdd = QueueData.Instance.Count; resultsHarness.AddTestResult(queueCountAfterAdd == queueCountBeforeAdd + 1); //Navigate to Queue testRunner.ClickByName("Queue Tab"); testRunner.Wait(1); //Make sure that the Print Item was added string queueItem = "Queue Item " + "Calibration - Box"; bool queueItemWasAdded = testRunner.WaitForName(queueItem, 2); resultsHarness.AddTestResult(queueItemWasAdded == true); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); Assert.IsTrue(testHarness.AllTestsPassed(2)); }
public void ExportAsGcode() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.SelectAndAddPrinter(testRunner, "Airwolf 3D", "HD", true); string firstItemName = "Row Item Batman"; //Navigate to Downloads Library Provider testRunner.ClickByName("Queue Tab"); testRunner.ClickByName("Queue Add Button", 2); //Get parts to add string rowItemPath = MatterControlUtilities.GetTestItemPath("Batman.stl"); //Add STL part items to Downloads and then type paths into file dialogue testRunner.Wait(1); testRunner.Type(MatterControlUtilities.GetTestItemPath("Batman.stl")); testRunner.Wait(1); testRunner.Type("{Enter}"); //Get test results resultsHarness.AddTestResult(testRunner.WaitForName(firstItemName, 2) == true); testRunner.ClickByName("Queue Edit Button"); testRunner.ClickByName(firstItemName); testRunner.ClickByName("Queue Export Button"); testRunner.Wait(2); testRunner.WaitForName("Export Item Window", 2); testRunner.ClickByName("Export as GCode Button", 2); testRunner.Wait(2); string gcodeExportPath = MatterControlUtilities.PathToExportGcodeFolder; testRunner.Type(gcodeExportPath); testRunner.Type("{Enter}"); testRunner.Wait(2); Console.WriteLine(gcodeExportPath); resultsHarness.AddTestResult(File.Exists(gcodeExportPath) == true); Debugger.Break(); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 2); }
public void LibraryQueueViewRefreshesOnAddItem() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); testRunner.ClickByName("Library Tab", 5); MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection"); testRunner.Wait(1); testRunner.ClickByName("Row Item Calibration - Box"); testRunner.ClickByName("Row Item Calibration - Box View Button"); testRunner.Wait(1); SystemWindow systemWindow; GuiWidget partPreview = testRunner.GetWidgetByName("View3DWidget", out systemWindow, 3); View3DWidget view3D = partPreview as View3DWidget; resultsHarness.AddTestResult(testRunner.ClickByName("3D View Edit", 3)); resultsHarness.AddTestResult(testRunner.ClickByName("3D View Copy", 3), "Click Copy"); // wait for the copy to finish testRunner.Wait(.1); resultsHarness.AddTestResult(testRunner.ClickByName("3D View Remove", 3), "Click Delete"); resultsHarness.AddTestResult(testRunner.ClickByName("Save As Menu", 3), "Click Save As Menu"); resultsHarness.AddTestResult(testRunner.ClickByName("Save As Menu Item", 3), "Click Save As"); testRunner.Wait(1); testRunner.Type("0Test Part"); resultsHarness.AddTestResult(MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection")); resultsHarness.AddTestResult(testRunner.ClickByName("Save As Save Button", 1)); view3D.CloseOnIdle(); testRunner.Wait(.5); // ensure that it is now in the library folder (that the folder updated) resultsHarness.AddTestResult(testRunner.WaitForName("Row Item " + "0Test Part", 5), "The part we added should be in the library"); testRunner.Wait(.5); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, queueItemFolderToAdd: QueueTemplate.Three_Queue_Items); Assert.IsTrue(testHarness.AllTestsPassed(8)); }
public void CopyButtonClickedMakesCopyOfPartOnBed() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { SystemWindow systemWindow; //Navigate to Local Library testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection"); testRunner.Wait(1); testRunner.ClickByName("Row Item Calibration - Box"); testRunner.ClickByName("Row Item Calibration - Box Print Button"); testRunner.Wait(1); //Get View3DWidget and count MeshGroups before Copy button is clicked GuiWidget partPreview = testRunner.GetWidgetByName("View3DWidget", out systemWindow, 3); View3DWidget view3D = partPreview as View3DWidget; string copyButtonName = "3D View Copy"; //Click Edit button to make edit controls visible testRunner.ClickByName("3D View Edit"); testRunner.Wait(1); int partCountBeforeCopy = view3D.MeshGroups.Count(); resultsHarness.AddTestResult(partCountBeforeCopy == 1); //Click Copy button and count MeshGroups testRunner.ClickByName(copyButtonName); System.Threading.Thread.Sleep(2000); int partCountAfterCopy = view3D.MeshGroups.Count(); resultsHarness.AddTestResult(partCountAfterCopy == 2); testRunner.Wait(1); //Click Copy button a second time and count MeshGroups again testRunner.ClickByName(copyButtonName); System.Threading.Thread.Sleep(2000); int partCountAfterSecondCopy = view3D.MeshGroups.Count(); resultsHarness.AddTestResult(partCountAfterSecondCopy == 3); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 3); // make sure we ran all our tests }
public void SaveAsToLocalLibrary() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { //Navigate to Local Library testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection"); testRunner.Wait(1); testRunner.ClickByName("Row Item Calibration - Box"); testRunner.ClickByName("Row Item Calibration - Box Print Button"); testRunner.Wait(1); //Click Edit button to make edit controls visible testRunner.ClickByName("3D View Edit"); testRunner.Wait(1); for (int i = 0; i <= 2; i++) { testRunner.ClickByName("3D View Copy"); testRunner.Wait(1); } //Click Save As button to save changes to the part testRunner.ClickByName("Save As Menu"); testRunner.Wait(1); testRunner.ClickByName("Save As Menu Item"); testRunner.Wait(1); //Type in name of new part and then save to Local Library testRunner.Type("Save As Local Library"); MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection"); testRunner.Wait(1); testRunner.ClickByName("Save As Save Button"); //Make sure there is a new Local Library item with a name that matcheds the new opart testRunner.Wait(1); testRunner.ClickByName("Library Tab"); testRunner.Wait(10); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item Save As Local Library", 5)); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 1); // make sure we ran all our tests }
public void ClickQueueRoWItemViewAndRemove() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); /* * Tests: * 1. When the remove button on a queue item is clicked the queue tab count decreases by one * 2. When the remove button on a queue item is clicked the item is removed * 3. When the View button on a queue item is clicked the part preview window is opened */ testRunner.Wait(2); int currentQueueItemCount = QueueData.Instance.Count; resultsHarness.AddTestResult(testRunner.WaitForName("Queue Item " + "Batman", 1)); resultsHarness.AddTestResult(testRunner.WaitForName("Queue Item " + "2013-01-25_Mouthpiece_v2", 1)); testRunner.ClickByName("Queue Item " + "Batman", 1); testRunner.ClickByName("Queue Item " + "Batman" + " Remove"); testRunner.Wait(2); int queueItemCountAfterRemove = QueueData.Instance.Count; resultsHarness.AddTestResult(currentQueueItemCount - 1 == queueItemCountAfterRemove); bool batmanQueueItemExists = testRunner.WaitForName("Queue Item " + "Batman", 1); resultsHarness.AddTestResult(batmanQueueItemExists == false); bool partPreviewWindowExists1 = testRunner.WaitForName("Queue Item " + "2013-01-25_Mouthpiece_v2" + " Part Preview", 1); resultsHarness.AddTestResult(partPreviewWindowExists1 == false); testRunner.ClickByName("Queue Item " + "2013-01-25_Mouthpiece_v2", 1); testRunner.Wait(2); testRunner.ClickByName("Queue Item " + "2013-01-25_Mouthpiece_v2" + " View", 1); bool partPreviewWindowExists2 = testRunner.WaitForName("Queue Item " + "2013-01-25_Mouthpiece_v2" + " Part Preview", 2); resultsHarness.AddTestResult(partPreviewWindowExists2 == true); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, queueItemFolderToAdd: QueueTemplate.Three_Queue_Items, overrideWidth: 600); Assert.IsTrue(testHarness.AllTestsPassed(6)); }
public void LocalLibraryAddButtonAddsMultipleItemsToLibrary() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); //Names of Items to be added string firstItemName = "Row Item " + "Fennec Fox"; string secondItemName = "Row Item " + "Batman"; //Navigate to Local Library testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection"); //Make sure both Items do not exist before the test begins bool firstItemExists = testRunner.WaitForName(firstItemName, 1); bool secondItemExists = testRunner.WaitForName(secondItemName, 1); resultsHarness.AddTestResult(firstItemExists == false); resultsHarness.AddTestResult(secondItemExists == false); //Click Local Library Add Button testRunner.ClickByName("Library Add Button"); //Get Library Item to Add string firstRowItemPath = MatterControlUtilities.GetTestItemPath("Fennec_Fox.stl"); string secondRowItemPath = MatterControlUtilities.GetTestItemPath("Batman.stl"); string textForBothRowItems = String.Format("\"{0}\" \"{1}\"", firstRowItemPath, secondRowItemPath); testRunner.Wait(2); testRunner.Type(textForBothRowItems); testRunner.Wait(1); testRunner.Type("{Enter}"); bool firstRowItemWasAdded = testRunner.WaitForName(firstItemName, 2); bool secondRowItemWasAdded = testRunner.WaitForName(secondItemName, 2); resultsHarness.AddTestResult(firstRowItemWasAdded == true); resultsHarness.AddTestResult(secondRowItemWasAdded == true); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 4); // make sure we ran all our tests }
public void ClickOnLibraryCheckBoxes() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUITests.DefaultTestImages); // Now do the actions specific to this test. (replace this for new tests) { testRunner.ClickByName("Library Tab"); testRunner.Wait(1); SystemWindow systemWindow; GuiWidget rowItem = testRunner.GetWidgetByName("Local Library Row Item Collection", out systemWindow); testRunner.Wait(1); SearchRegion rowItemRegion = testRunner.GetRegionByName("Local Library Row Item Collection"); testRunner.ClickByName("Library Edit Button"); testRunner.Wait(1); SystemWindow containingWindow; GuiWidget foundWidget = testRunner.GetWidgetByName("Row Item Select Checkbox", out containingWindow, searchRegion: rowItemRegion); CheckBox checkBoxWidget = foundWidget as CheckBox; resultsHarness.AddTestResult(checkBoxWidget != null, "We should have an actual checkbox"); resultsHarness.AddTestResult(checkBoxWidget.Checked == false, "currently not checked"); testRunner.ClickByName("Row Item Select Checkbox", searchRegion: rowItemRegion); testRunner.Wait(.5); resultsHarness.AddTestResult(checkBoxWidget.Checked == true, "currently checked"); testRunner.ClickByName("Local Library Row Item Collection"); testRunner.Wait(.5); resultsHarness.AddTestResult(checkBoxWidget.Checked == false, "currently not checked"); MatterControlUITests.CloseMatterControl(testRunner); } }; #if !__ANDROID__ // Set the static data to point to the directory of MatterControl StaticData.Instance = new MatterHackers.Agg.FileSystemStaticData(Path.Combine("..", "..", "..", "..", "StaticData")); #endif bool showWindow; MatterControlApplication matterControlWindow = MatterControlApplication.CreateInstance(out showWindow); AutomationTesterHarness testHarness = AutomationTesterHarness.ShowWindowAndExectueTests(matterControlWindow, testToRun, 1000); // NOTE: In the future we may want to make the "Local Library Row Item Collection" not clickable. // If that is the case fix this test to click on a child of "Local Library Row Item Collection" instead. Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 4); // make sure we ran all our tests }
public void DownloadsAddButtonAddsMultipleFiles() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { string itemName = "Row Item " + "Fennec Fox"; string itemNameTwo = "Row Item " + "Batman"; //Navigate to Downloads Library Provider testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Downloads Row Item Collection"); testRunner.ClickByName("Library Add Button"); testRunner.Wait(3); //Get parts to add string rowItemPath = MatterControlUtilities.PathToQueueItemsFolder("Fennec_Fox.stl"); string secondRowItemPath = MatterControlUtilities.PathToQueueItemsFolder("Batman.stl"); //Get files to delete from Downloads once each test has completed and then add them to List string firstFileToDelete = Path.Combine(MatterControlUtilities.PathToDownloadsFolder, "Fennec_Fox.stl"); string secondFileToDelete = Path.Combine(MatterControlUtilities.PathToDownloadsFolder, "Batman.stl"); addedFiles.Add(firstFileToDelete); addedFiles.Add(secondFileToDelete); //Format text to add both items to Downloads and then type paths into file dialogues string textForBothRowItems = String.Format("\"{0}\" \"{1}\"", rowItemPath, secondRowItemPath); testRunner.Wait(2); testRunner.Type(textForBothRowItems); testRunner.Wait(1); testRunner.Type("{Enter}"); //Get test results bool rowItemWasAdded = testRunner.WaitForName(itemName, 2); resultsHarness.AddTestResult(rowItemWasAdded == true); bool secondRowItemWasAdded = testRunner.WaitForName(itemNameTwo, 2); resultsHarness.AddTestResult(secondRowItemWasAdded == true); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); MatterControlUtilities.CleanUpDownloadsDirectoryAfterTest(addedFiles); Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 2); // make sure we ran all our tests }
public void DownloadsAddButtonAddsMultipleFiles() { Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); MatterControlUtilities.CreateDownloadsSubFolder(); //Navigate to Downloads Library Provider testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Downloads Row Item Collection"); MatterControlUtilities.NavigateToFolder(testRunner, "-Temporary Row Item Collection"); testRunner.ClickByName("Library Add Button"); testRunner.Wait(3); testRunner.Wait(2); // Add both files to the FileOpen dialog testRunner.Type( string.Format( "\"{0}\" \"{1}\"", MatterControlUtilities.GetTestItemPath("Fennec_Fox.stl"), MatterControlUtilities.GetTestItemPath("Batman.stl"))); testRunner.Wait(1); testRunner.Type("{Enter}"); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item Fennec Fox", 2), "Fennec Fox item exists"); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item Batman", 2), "Batman item exists"); testRunner.Wait(1); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = null; try { testHarness = MatterControlUtilities.RunTest(testToRun); } catch { } finally { MatterControlUtilities.DeleteDownloadsSubFolder(); } Assert.IsTrue(testHarness.AllTestsPassed(2)); }
public void DownloadsAddButtonAddsZipFiles() { Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); MatterControlUtilities.CreateDownloadsSubFolder(); // Navigate to Downloads Library Provider testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Downloads Row Item Collection"); MatterControlUtilities.NavigateToFolder(testRunner, "-Temporary Row Item Collection"); testRunner.ClickByName("Library Add Button"); testRunner.Wait(2); // Add AMF part items to Downloads and then type paths into file dialogs testRunner.Wait(2); testRunner.Type(MatterControlUtilities.GetTestItemPath("Test.zip")); testRunner.Wait(1); testRunner.Type("{Enter}"); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item Chinese Dragon", 2), "Chinese Dragon item exists"); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item chichen-itza pyramid", 2), "chichen-itza item exists"); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item Circle Calibration", 2), "Circle Calibration item exists"); testRunner.Wait(1); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = null; try { testHarness = MatterControlUtilities.RunTest(testToRun); } catch { } // Give MatterControl a moment to shutdown Thread.Sleep(2000); try { // Then attempt to clean up MatterControlUtilities.DeleteDownloadsSubFolder(); } catch { } Assert.IsTrue(testHarness.AllTestsPassed(3)); }
public void RaftEnabledPassedToSliceEngine() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.SelectAndAddPrinter(testRunner, "Airwolf 3D", "HD", true); //Navigate to Local Library testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection"); testRunner.Wait(1); testRunner.ClickByName("Row Item Calibration - Box"); testRunner.ClickByName("Row Item Calibration - Box Print Button"); testRunner.Wait(1); testRunner.ClickByName("Layer View Tab"); testRunner.ClickByName("Bread Crumb Button Home"); testRunner.Wait(1); testRunner.ClickByName("SettingsAndControls"); testRunner.Wait(1); testRunner.ClickByName("User Level Dropdown"); testRunner.Wait(1); testRunner.ClickByName("Advanced Menu Item"); testRunner.Wait(1); testRunner.ClickByName("Skirt and Raft Tab"); testRunner.Wait(1); testRunner.ClickByName("Create Raft Checkbox"); testRunner.Wait(1.5); testRunner.ClickByName("Save Slice Settings Button"); testRunner.ClickByName("Generate Gcode Button"); testRunner.Wait(5); //Call compare slice settings methode here resultsHarness.AddTestResult(MatterControlUtilities.CompareExpectedSliceSettingValueWithActualVaue("enableRaft", "True")); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 1); // make sure we ran all our tests }
public void PauseOnLayerDoesPauseOnPrint() { Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(); { MatterControlUtilities.PrepForTestRun(testRunner, MatterControlUtilities.PrepAction.CloseSignInAndPrinterSelect); var emualtorProccess = MatterControlUtilities.LaunchAndConnectToPrinterEmulator(testRunner); resultsHarness.AddTestResult(ProfileManager.Instance.ActiveProfile != null); MatterControlUtilities.SwitchToAdvancedSettings(testRunner, resultsHarness); resultsHarness.AddTestResult(testRunner.ClickByName("General Tab", 1)); resultsHarness.AddTestResult(testRunner.ClickByName("Single Print Tab", 1)); resultsHarness.AddTestResult(testRunner.ClickByName("Layer(s) To Pause:" + " Edit")); testRunner.Type("4;2;a;not;6"); resultsHarness.AddTestResult(testRunner.ClickByName("Layer View Tab")); resultsHarness.AddTestResult(testRunner.ClickByName("Generate Gcode Button", 1)); resultsHarness.AddTestResult(testRunner.ClickByName("Display Checkbox", 10)); resultsHarness.AddTestResult(testRunner.ClickByName("Sync To Print Checkbox", 1)); resultsHarness.AddTestResult(testRunner.ClickByName("Start Print Button", 1)); WaitForLayerAndResume(resultsHarness, testRunner, 2); WaitForLayerAndResume(resultsHarness, testRunner, 4); WaitForLayerAndResume(resultsHarness, testRunner, 6); resultsHarness.AddTestResult(testRunner.WaitForName("Done Button", 30)); resultsHarness.AddTestResult(testRunner.WaitForName("Print Again Button", 1)); try { emualtorProccess.Kill(); } catch {} MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, maxTimeToRun: 200); Assert.IsTrue(testHarness.AllTestsPassed(19)); }
public void RenameDownloadsPrintItem() { Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.CreateDownloadsSubFolder(); //Navigate to Downloads Library Provider testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Downloads Row Item Collection"); MatterControlUtilities.NavigateToFolder(testRunner, "Temporary Row Item Collection"); testRunner.ClickByName("Library Add Button"); testRunner.Wait(2); testRunner.Type(MatterControlUtilities.GetTestItemPath("Batman.stl")); testRunner.Wait(1); testRunner.Type("{Enter}"); //Rename added item testRunner.ClickByName("Library Edit Button", 2); testRunner.ClickByName("Row Item Batman"); testRunner.ClickByName("Rename From Library Button", 2); testRunner.Wait(2); testRunner.Type("Batman Renamed"); testRunner.ClickByName("Rename Button"); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item Batman Renamed", 2) == true); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = null; try { testHarness = MatterControlUtilities.RunTest(testToRun); } catch { } finally { MatterControlUtilities.CleanupDownloadsDirectory(MatterControlUtilities.PathToDownloadsSubFolder); } Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 1); }
public void AddMuiltipleItemsToQueue() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); /* * Tests that Add button can add multiple files to the print queue: * 1. The Queue count is increased by 2 * 2. 2 QueueRowItems are created and added to the queue */ int queueCountBeforeAdd = QueueData.Instance.Count; //Click Add Button and Add Part To Queue testRunner.ClickByName("Queue Add Button", 2); string pathToFirstQueueItem = MatterControlUtilities.GetTestItemPath("Fennec_Fox.stl"); testRunner.Wait(1); string pathToSecondQueueItem = MatterControlUtilities.GetTestItemPath("Batman.stl"); string textForBothQueueItems = String.Format("\"{0}\" \"{1}\"", pathToFirstQueueItem, pathToSecondQueueItem); testRunner.Type(textForBothQueueItems); testRunner.Wait(2); testRunner.Type("{Enter}"); testRunner.Wait(2); //Confirm that both items were added and that the queue count increases by the appropriate number int queueCountAfterAdd = QueueData.Instance.Count; resultsHarness.AddTestResult(QueueData.Instance.Count == queueCountBeforeAdd + 2); bool firstQueueItemWasAdded = testRunner.WaitForName("Queue Item " + "Fennec_Fox", 2); bool secondQueueItemWasAdded = testRunner.WaitForName("Queue Item " + "Batman", 2); resultsHarness.AddTestResult(firstQueueItemWasAdded == true); resultsHarness.AddTestResult(secondQueueItemWasAdded == true); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); Assert.IsTrue(testHarness.AllTestsPassed(3)); }
public void LocalLibraryAddButtonAddZipToLibrary() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); //Items in Batman.zip string firstItemName = "Row Item " + "Batman"; string secondItemName = "Row Item " + "2013-01-25 Mouthpiece v2"; //Navigate to Local Library testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection"); //Make sure that Item does not exist before the test begins bool firstItemInZipExists = testRunner.WaitForName(firstItemName, 1); bool secondItemInZipExists = testRunner.WaitForName(secondItemName, 1); resultsHarness.AddTestResult(firstItemInZipExists == false); resultsHarness.AddTestResult(firstItemInZipExists == false); //Click Local Library Add Button testRunner.ClickByName("Library Add Button"); //Get Library Item to Add string rowItemPath = MatterControlUtilities.GetTestItemPath("Batman.zip"); testRunner.Wait(2); testRunner.Type(rowItemPath); testRunner.Wait(1); testRunner.Type("{Enter}"); bool firstItemInZipWasAdded = testRunner.WaitForName(firstItemName, 2); bool secondItemInZipWasAdded = testRunner.WaitForName(secondItemName, 2); resultsHarness.AddTestResult(firstItemInZipWasAdded == true); resultsHarness.AddTestResult(secondItemInZipWasAdded == true); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 4); // make sure we ran all our tests }
public void ClickOnLibraryCheckBoxes() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); // Now do the actions specific to this test. (replace this for new tests) { MatterControlUtilities.PrepForTestRun(testRunner); testRunner.ClickByName("Library Tab", 3); MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection"); SystemWindow systemWindow; string itemName = "Row Item " + "Calibration - Box"; GuiWidget rowItem = testRunner.GetWidgetByName(itemName, out systemWindow, 3); SearchRegion rowItemRegion = testRunner.GetRegionByName(itemName, 3); testRunner.ClickByName("Library Edit Button", 3); testRunner.Wait(.5); GuiWidget foundWidget = testRunner.GetWidgetByName("Row Item Select Checkbox", out systemWindow, 3, searchRegion: rowItemRegion); CheckBox checkBoxWidget = foundWidget as CheckBox; resultsHarness.AddTestResult(checkBoxWidget != null, "We should have an actual checkbox"); resultsHarness.AddTestResult(checkBoxWidget.Checked == false, "currently not checked"); testRunner.ClickByName("Row Item Select Checkbox", 3, searchRegion: rowItemRegion); testRunner.ClickByName("Library Tab"); resultsHarness.AddTestResult(checkBoxWidget.Checked == true, "currently checked"); testRunner.ClickByName(itemName, 3); testRunner.ClickByName("Library Tab"); resultsHarness.AddTestResult(checkBoxWidget.Checked == false, "currently not checked"); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); // NOTE: In the future we may want to make the "Local Library Row Item Collection" not clickable. // If that is the case fix this test to click on a child of "Local Library Row Item Collection" instead. Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 4); // make sure we ran all our tests }
public void DownloadsAddButtonAddsMultipleFiles() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); MatterControlUtilities.CreateDownloadsSubFolder(); //Navigate to Downloads Library Provider testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Downloads Row Item Collection"); MatterControlUtilities.NavigateToFolder(testRunner, "Temporary Row Item Collection"); testRunner.ClickByName("Library Add Button"); testRunner.Wait(3); string firstRowItemPath = MatterControlUtilities.GetTestItemPath("Fennec_Fox.stl"); string secondRowItemPath = MatterControlUtilities.GetTestItemPath("Batman.stl"); string textForBothRowItems = String.Format("\"{0}\" \"{1}\"", firstRowItemPath, secondRowItemPath); testRunner.Wait(2); testRunner.Type(textForBothRowItems); testRunner.Wait(1); testRunner.Type("{Enter}"); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item Fennec Fox", 2) == true); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item Batman", 2) == true); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = null; try { testHarness = MatterControlUtilities.RunTest(testToRun); } catch { } finally { MatterControlUtilities.CleanupDownloadsDirectory(MatterControlUtilities.PathToDownloadsSubFolder); } Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 2); // make sure we ran all our tests }
public void RemoveButtonRemovesMultipleItems() { //Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); /* * Tests that when one item is selected * 1. Queue Item count equals three before the test starts * 2. Selecting multiple queue itema and then clicking the Remove button removes the item * 3. Selecting multiple queue items and then clicking the Remove button decreases the queue tab count by one */ int queueItemCount = QueueData.Instance.Count; testRunner.Wait(2); testRunner.ClickByName("Queue Edit Button", 2); testRunner.ClickByName("Queue Item " + "Batman", 2); testRunner.ClickByName("Queue Remove Button", 2); testRunner.Wait(1); int queueItemCountAfterRemove = QueueData.Instance.Count; resultsHarness.AddTestResult(queueItemCount - 2 == queueItemCountAfterRemove); bool queueItemExists = testRunner.WaitForName("Queue Item " + "Batman", 2); bool secondQueueItemExists = testRunner.WaitForName("Queue Item " + "2013-01-25_Mouthpiece_v2", 2); resultsHarness.AddTestResult(queueItemExists == false); resultsHarness.AddTestResult(secondQueueItemExists == false); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, queueItemFolderToAdd: QueueTemplate.Three_Queue_Items); Assert.IsTrue(testHarness.AllTestsPassed(3)); }
private static void WaitForLayerAndResume(AutomationTesterHarness resultsHarness, AutomationRunner testRunner, int indexToWaitFor) { testRunner.WaitForName("Resume Button", 30); SystemWindow containingWindow; GuiWidget layerNumber = testRunner.GetWidgetByName("Current GCode Layer Edit", out containingWindow, 20); layerNumber.Invalidate(); testRunner.WaitUntil(() => { return(layerNumber.Text == indexToWaitFor.ToString()); }, 2); resultsHarness.AddTestResult(layerNumber.Text == indexToWaitFor.ToString()); resultsHarness.AddTestResult(testRunner.ClickByName("Resume Button", 1)); testRunner.Wait(.1); }
public void HasHeatedBedCheckedHidesBedTemperatureOptions() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.SelectAndAddPrinter(testRunner, "Airwolf 3D", "HD", true); //Navigate to Settings Tab and make sure Bed Temp Text box is visible testRunner.ClickByName("SettingsAndControls"); testRunner.Wait(1); testRunner.ClickByName("User Level Dropdown"); testRunner.Wait(1); testRunner.ClickByName("Advanced Menu Item"); testRunner.Wait(1); testRunner.ClickByName("Filament Tab"); testRunner.Wait(1); resultsHarness.AddTestResult(testRunner.WaitForName("Bed Temperature Textbox", 2)); //Uncheck Has Heated Bed checkbox and make sure Bed Temp Textbox is not visible testRunner.ClickByName("Printer Tab"); testRunner.Wait(1); testRunner.ClickByName("Features Tab"); testRunner.Wait(1); testRunner.ClickByName("Has Heated Bed Checkbox"); testRunner.Wait(.5); testRunner.ClickByName("Filament Tab"); testRunner.Wait(1); bool bedTemperatureTextBoxVisible = testRunner.WaitForName("Bed Temperature Textbox", 2); resultsHarness.AddTestResult(bedTemperatureTextBoxVisible == false); //Make sure Bed Temperature Options are not visible in printer controls testRunner.ClickByName("Controls Tab"); bool bedTemperatureControlsWidget = testRunner.WaitForName("Bed Temperature Controls Widget", 2); resultsHarness.AddTestResult(bedTemperatureTextBoxVisible == false); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 3); // make sure we ran all our tests }
public void DownloadsAddButtonAddsZipFiles() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.CreateDownloadsSubFolder(); //Navigate to Downloads Library Provider testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Downloads Row Item Collection"); MatterControlUtilities.NavigateToFolder(testRunner, "Temporary Row Item Collection"); testRunner.ClickByName("Library Add Button"); testRunner.Wait(2); //Add AMF part items to Downloads and then type paths into file dialogues testRunner.Wait(2); testRunner.Type(MatterControlUtilities.GetTestItemPath("Test.zip")); testRunner.Wait(1); testRunner.Type("{Enter}"); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item Chinese Dragon", 2) == true); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item chichen-itza pyramid", 2) == true); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item Circle Calibration", 2) == true); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = null; try { testHarness = MatterControlUtilities.RunTest(testToRun); } catch { } finally { MatterControlUtilities.CleanupDownloadsDirectory(MatterControlUtilities.PathToDownloadsSubFolder); } Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 3); }
public static AutomationTesterHarness RunTest(Action <AutomationTesterHarness> testToRun, string testDbFolder = null, string staticDataPathOverride = null, double maxTimeToRun = 60) { if (staticDataPathOverride == null) { staticDataPathOverride = Path.Combine("..", "..", "..", "..", "StaticData"); } #if !__ANDROID__ // Set the static data to point to the directory of MatterControl StaticData.Instance = new MatterHackers.Agg.FileSystemStaticData(staticDataPathOverride); #endif bool showWindow; MatterControlUtilities.DataFolderState staticDataState = MatterControlUtilities.MakeNewStaticDataForTesting2(testDbFolder); MatterControlApplication matterControlWindow = MatterControlApplication.CreateInstance(out showWindow); AutomationTesterHarness testHarness = AutomationTesterHarness.ShowWindowAndExectueTests(matterControlWindow, testToRun, maxTimeToRun); MatterControlUtilities.RestoreStaticDataAfterTesting(staticDataState, true); return(testHarness); }
public void MatterControlRuns() { Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(); { MatterControlUtilities.PrepForTestRun(testRunner, MatterControlUtilities.PrepAction.CloseSignInAndPrinterSelect); resultsHarness.AddTestResult(testRunner.NameExists("SettingsAndControls")); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, maxTimeToRun: 200); Assert.IsTrue(testHarness.AllTestsPassed(1)); }
public void DownloadsAddButtonAddsAMFFiles() { Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); MatterControlUtilities.CreateDownloadsSubFolder(); //Navigate to Downloads Library Provider testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Downloads Row Item Collection"); MatterControlUtilities.NavigateToFolder(testRunner, "-Temporary Row Item Collection"); testRunner.ClickByName("Library Add Button"); testRunner.Wait(2); //Add AMF part items to Downloads and then type paths into file dialogues testRunner.Wait(2); testRunner.Type(MatterControlUtilities.GetTestItemPath("Rook.amf")); testRunner.Wait(1); testRunner.Type("{Enter}"); resultsHarness.AddTestResult(testRunner.WaitForName("Row Item Rook", 2), "Rook item exists"); testRunner.Wait(1); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = null; try { testHarness = MatterControlUtilities.RunTest(testToRun); } catch { } finally { MatterControlUtilities.DeleteDownloadsSubFolder(); } Assert.IsTrue(testHarness.AllTestsPassed(1)); }
public void AddSingleItemToQueue() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); /* * Tests that Queue Add button adds a single part to queue: * 1. The Queue count is increased by 1 * 2. A QueueRowItem is created and added to the queue */ int queueCountBeforeAdd = QueueData.Instance.Count; //Click Add Button and Add Part To Queue testRunner.ClickByName("Queue Add Button", 2); testRunner.Wait(2); string queueItemPath = MatterControlUtilities.GetTestItemPath("Fennec_Fox.stl"); testRunner.Type(queueItemPath); testRunner.Wait(1); testRunner.Type("{Enter}"); //Make sure single part is added and queue count increases by one bool fennecFoxPartWasAdded = testRunner.WaitForName("Queue Item " + "Fennec_Fox", 2); resultsHarness.AddTestResult(fennecFoxPartWasAdded == true); int queueCountAfterAdd = QueueData.Instance.Count; resultsHarness.AddTestResult(queueCountBeforeAdd + 1 == queueCountAfterAdd); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); Assert.IsTrue(testHarness.AllTestsPassed(2)); }
public void RaftEnabledPassedToSliceEngine() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); MatterControlUtilities.AddAndSelectPrinter(testRunner, "Airwolf 3D", "HD"); //Navigate to Local Library testRunner.ClickByName("Library Tab"); MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection"); testRunner.Wait(1); testRunner.ClickByName("Row Item Calibration - Box"); testRunner.ClickByName("Row Item Calibration - Box Print Button"); testRunner.Wait(1); testRunner.ClickByName("Layer View Tab"); testRunner.ClickByName("Bread Crumb Button Home", 1); MatterControlUtilities.SwitchToAdvancedSettings(testRunner, resultsHarness); testRunner.ClickByName("Raft / Priming Tab", 1); testRunner.ClickByName("Create Raft Checkbox", 1); testRunner.Wait(1.5); testRunner.ClickByName("Generate Gcode Button", 1); testRunner.Wait(5); //Call compare slice settings methode here resultsHarness.AddTestResult(MatterControlUtilities.CompareExpectedSliceSettingValueWithActualVaue("enableRaft", "True")); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, overrideWidth: 1224, overrideHeight: 800); Assert.IsTrue(testHarness.AllTestsPassed(3)); }