Exemple #1
0
 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));
        }
Exemple #3
0
        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
        }
Exemple #4
0
        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
        }
Exemple #11
0
        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
        }
Exemple #12
0
        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
        }
Exemple #13
0
        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));
        }
Exemple #14
0
        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));
        }
Exemple #15
0
        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
        }
Exemple #16
0
        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
        }
Exemple #20
0
        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));
        }
Exemple #23
0
        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);
        }
Exemple #24
0
        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);
        }
Exemple #26
0
        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));
        }
Exemple #28
0
        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));
        }
Exemple #30
0
        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));
        }