예제 #1
0
        public void SoftwareLevelingRequiredCorrectWorkflow()
        {
            Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) =>
            {
                AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages);
                {
                    MatterControlUtilities.PrepForTestRun(testRunner);

                    // make a jump start printer
                    var emualtorProccess = MatterControlUtilities.LaunchAndConnectToPrinterEmulator(testRunner, false, "JumStart", "V1");

                    // make sure it is showing the correct button
                    resultsHarness.AddTestResult(!testRunner.WaitForName("Start Print Button", .5), "Start Print hidden");
                    resultsHarness.AddTestResult(testRunner.WaitForName("Finish Setup Button", .5), "Finish Setup showing");

                    // do print leveling
                    testRunner.ClickByName("Next Button", .5);
                    testRunner.ClickByName("Next Button", .5);
                    testRunner.ClickByName("Next Button", .5);
                    for (int i = 0; i < 3; i++)
                    {
                        testRunner.ClickByName("Move Z positive", .5);
                        testRunner.ClickByName("Next Button", .5);
                        testRunner.ClickByName("Next Button", .5);
                        testRunner.ClickByName("Next Button", .5);
                    }

                    resultsHarness.AddTestResult(testRunner.ClickByName("Done Button", .5), "Found Done button");

                    // make sure the button has changed to start print
                    resultsHarness.AddTestResult(testRunner.WaitForName("Start Print Button", .5), "Start Print showing");
                    resultsHarness.AddTestResult(!testRunner.WaitForName("Finish Setup Button", .5), "Finish Setup hidden");

                    // reset to defaults and make sure print leveling is cleared
                    MatterControlUtilities.SwitchToAdvancedSettings(testRunner, resultsHarness);

                    resultsHarness.AddTestResult(testRunner.ClickByName("Slice Settings Options Menu", 1), "Click Options");
                    resultsHarness.AddTestResult(testRunner.ClickByName("Reset to defaults Menu Item", 1), "Select Reset to defaults");
                    resultsHarness.AddTestResult(testRunner.ClickByName("Yes Button", .5), "Click yes to revert");
                    testRunner.Wait(1);

                    // make sure it is showing the correct button
                    resultsHarness.AddTestResult(!testRunner.WaitForName("Start Print Button", .5), "Start Print hidden");
                    resultsHarness.AddTestResult(testRunner.WaitForName("Finish Setup Button", .5), "Finish Setup showing");

                    MatterControlUtilities.CloseMatterControl(testRunner);

                    try
                    {
                        emualtorProccess.Kill();
                    }
                    catch { }
                }
            };

            AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun);

            Assert.IsTrue(testHarness.AllTestsPassed(12));
        }
예제 #2
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));
        }