public void ClearingCheckBoxClearsUserOverride() { // 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 MatterControlUtilities.SwitchToAdvancedSettings(testRunner, resultsHarness); resultsHarness.AddTestResult(testRunner.ClickByName("Printer Tab", 1), "Switch to Printers tab"); resultsHarness.AddTestResult(testRunner.ClickByName("Features Tab", 1), "Switch to Features tab"); CheckAndUncheckSetting(resultsHarness, testRunner, SettingsKey.heat_extruder_before_homing, "Heat Before Homing Checkbox", false); CheckAndUncheckSetting(resultsHarness, testRunner, SettingsKey.has_fan, "Has Fan Checkbox", true); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, overrideWidth: 1224, overrideHeight: 900); Assert.IsTrue(testHarness.AllTestsPassed(20)); }
public void HasHeatedBedCheckUncheck() { // 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 MatterControlUtilities.SwitchToAdvancedSettings(testRunner, resultsHarness); resultsHarness.AddTestResult(testRunner.ClickByName("Printer Tab")); testRunner.Wait(1); resultsHarness.AddTestResult(testRunner.ClickByName("Features Tab")); testRunner.Wait(2); for (int i = 0; i <= 1000; i++) { resultsHarness.AddTestResult(testRunner.ClickByName("Has Heated Bed Checkbox")); testRunner.Wait(.5); } MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); Assert.IsTrue(testHarness.AllTestsPassed(1010)); }
public async Task PrinterNameStaysChanged() { AutomationTest testToRun = (testRunner) => { testRunner.CloseSignInAndPrinterSelect(); MatterControlUtilities.AddAndSelectPrinter(testRunner, "Airwolf 3D", "HD"); MatterControlUtilities.SwitchToAdvancedSettings(testRunner); testRunner.ClickByName("Printer Tab", 1); string widgetName = "Printer Name Edit"; testRunner.ClickByName(widgetName); SystemWindow window; var textWidget = testRunner.GetWidgetByName(widgetName, out window); string newName = "Updated name"; textWidget.Text = newName; testRunner.ClickByName("Printer Tab", 1); testRunner.Delay(4); //Check to make sure the Printer dropdown gets the name change testRunner.ClickByName("Printers... Menu", 2); testRunner.Delay(1); Assert.IsTrue(testRunner.NameExists(newName + " Menu Item"), "Widget with updated printer name exists"); //Make sure the Active profile name changes as well Assert.IsTrue(ProfileManager.Instance.ActiveProfile.Name == newName, "ActiveProfile has updated name"); return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun); }
public async Task HasHardwareLevelingHidesLevelingSettings() { AutomationTest testToRun = (testRunner) => { testRunner.CloseSignInAndPrinterSelect(); //Add printer that has hardware leveling MatterControlUtilities.AddAndSelectPrinter(testRunner, "Airwolf 3D", "HD"); MatterControlUtilities.SwitchToAdvancedSettings(testRunner); testRunner.ClickByName("Printer Tab", 1); testRunner.Delay(1); //Make sure Print Leveling tab is not visible bool testPrintLeveling = testRunner.WaitForName("Print Leveling Tab", 3); Assert.IsTrue(testPrintLeveling == false); //Add printer that does not have hardware leveling MatterControlUtilities.AddAndSelectPrinter(testRunner, "3D Factory", "MendelMax 1.5"); testRunner.ClickByName("Slice Settings Tab", 1); testRunner.ClickByName("Printer Tab", 1); //Make sure Print Leveling tab is visible bool printLevelingVisible = testRunner.WaitForName("Print Leveling Tab", 2); Assert.IsTrue(printLevelingVisible == true); return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, overrideHeight : 800); }
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)); }
public async Task PulseRequiresLevelingAndLevelingWorks() { AutomationTest testToRun = (testRunner) => { testRunner.WaitForName("Cancel Wizard Button", 1); using (var emulatorDisposable = testRunner.LaunchAndConnectToPrinterEmulator("Pulse", "A-134")) { var emulator = emulatorDisposable as Emulator; Assert.IsTrue(ProfileManager.Instance.ActiveProfile != null); // close the finish setup window testRunner.ClickByName("Cancel Button"); MatterControlUtilities.SwitchToAdvancedSettings(testRunner); testRunner.ClickByName("General Tab", 1); testRunner.ClickByName("Single Print Tab", 1); testRunner.ClickByName("Layer(s) To Pause: Edit"); testRunner.Type("2"); // switch to controls so we can see the heights testRunner.ClickByName("Controls Tab"); // run the leveling wizard testRunner.ClickByName("Finish Setup Button"); testRunner.ClickByName("Next Button"); testRunner.ClickByName("Next Button"); testRunner.ClickByName("Next Button"); testRunner.ClickByName("Next Button"); 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); } testRunner.ClickByName("Done Button"); testRunner.Delay(1); // print a part testRunner.ClickByName("Start Print Button", 1); // assert the leveling is working testRunner.WaitForName("Resume Button", 200); Assert.Greater(emulator.ZPosition, 5); testRunner.ClickByName("Cancel Print Button", 1); } return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, maxTimeToRun : 300); }
public async Task CancelWorksAsExpected() { AutomationTest testToRun = (testRunner) => { testRunner.WaitForName("Cancel Wizard Button", 1); using (var emulatorDisposable = testRunner.LaunchAndConnectToPrinterEmulator()) { ActiveSliceSettings.Instance.SetValue(SettingsKey.cancel_gcode, "G28 ; Cancel GCode"); Assert.IsTrue(ProfileManager.Instance.ActiveProfile != null); MatterControlUtilities.SwitchToAdvancedSettings(testRunner); testRunner.ClickByName("General Tab", 1); testRunner.ClickByName("Single Print Tab", 1); testRunner.ClickByName("Layer(s) To Pause: Edit"); testRunner.Type("2"); testRunner.ClickByName("Layer View Tab"); testRunner.ClickByName("Generate Gcode Button", 1); testRunner.ClickByName("Display Checkbox", 10); testRunner.ClickByName("Sync To Print Checkbox", 1); testRunner.ClickByName("Start Print Button", 1); testRunner.WaitForName("Resume Button", 30); testRunner.ClickByName("Cancel Print Button"); testRunner.WaitForName("Start Print Button", 1); Assert.IsTrue(testRunner.NameExists("Start Print Button")); int g28Count = 0; foreach (var line in PrinterOutputCache.Instance.PrinterLines) { if (line.Contains("G28")) { g28Count++; } } Assert.AreEqual(2, g28Count, "There should be the start come and the cancel print home"); } return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, maxTimeToRun : 90); }
public async Task SoftwareLevelingRequiredCorrectWorkflow() { AutomationTest testToRun = (testRunner) => { testRunner.CloseSignInAndPrinterSelect(); // make a jump start printer using (var emulatorProcess = testRunner.LaunchAndConnectToPrinterEmulator("JumpStart", "V1", runSlow: false)) { // make sure it is showing the correct button Assert.IsTrue(!testRunner.WaitForName("Start Print Button", .5), "Start Print hidden"); Assert.IsTrue(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); } testRunner.ClickByName("Done Button", 1); // make sure the button has changed to start print Assert.IsTrue(testRunner.WaitForName("Start Print Button", 5), "Start Print showing"); Assert.IsTrue(!testRunner.WaitForName("Finish Setup Button", 1), "Finish Setup hidden"); // reset to defaults and make sure print leveling is cleared MatterControlUtilities.SwitchToAdvancedSettings(testRunner); testRunner.ClickByName("Slice Settings Options Menu", 1); testRunner.ClickByName("Reset to Defaults Menu Item", 1); testRunner.ClickByName("Yes Button", .5); testRunner.Delay(1); // make sure it is showing the correct button Assert.IsTrue(!testRunner.WaitForName("Start Print Button", 1), "Start Print hidden"); Assert.IsTrue(testRunner.WaitForName("Finish Setup Button", 1), "Finish Setup showing"); } return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun); }
public async Task RaftEnabledPassedToSliceEngine() { AutomationTest testToRun = (testRunner) => { testRunner.CloseSignInAndPrinterSelect(); MatterControlUtilities.AddAndSelectPrinter(testRunner, "Airwolf 3D", "HD"); // Navigate to Local Library testRunner.ClickByName("Library Tab"); testRunner.NavigateToFolder("Local Library Row Item Collection"); testRunner.Delay(1); testRunner.ClickByName("Row Item Calibration - Box"); testRunner.Delay(.2); // Add the Calibration box to the queue and selects it testRunner.ClickByName("Row Item Calibration - Box Print Button"); testRunner.Delay(1); testRunner.ClickByName("Layer View Tab"); testRunner.Delay(.2); testRunner.ClickByName("Bread Crumb Button Home", 1); testRunner.Delay(.2); MatterControlUtilities.SwitchToAdvancedSettings(testRunner); testRunner.Delay(.2); testRunner.ClickByName("Raft / Priming Tab", 1); testRunner.Delay(.2); testRunner.ClickByName("Create Raft Checkbox", 1); testRunner.Delay(1.5); testRunner.ClickByName("Generate Gcode Button", 1); testRunner.Delay(2); testRunner.Delay(() => MatterControlUtilities.CompareExpectedSliceSettingValueWithActualVaue("enableRaft", "True"), 10); //Call compare slice settings method here Assert.IsTrue(MatterControlUtilities.CompareExpectedSliceSettingValueWithActualVaue("enableRaft", "True")); return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, overrideWidth : 1224, overrideHeight : 800); }
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 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)); }
public void PrinterNameStaysChanged() { // 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); MatterControlUtilities.AddAndSelectPrinter(testRunner, "Airwolf 3D", "HD"); MatterControlUtilities.SwitchToAdvancedSettings(testRunner, resultsHarness); resultsHarness.AddTestResult(testRunner.ClickByName("Printer Tab", 1), "Click Printer Tab"); string widgetName = "Printer Name Edit"; testRunner.ClickByName(widgetName); SystemWindow window; var textWidget = testRunner.GetWidgetByName(widgetName, out window); string newName = "Updated name"; textWidget.Text = newName; testRunner.ClickByName("Printer Tab", 1); testRunner.Wait(4); //Check to make sure the Printer dropdown gets the name change testRunner.ClickByName("Printers... Menu", 2); testRunner.Wait(1); resultsHarness.AddTestResult(testRunner.NameExists(newName + " Menu Item"), "Widget with updated printer name exists"); //Make sure the Active profile name changes as well resultsHarness.AddTestResult(ProfileManager.Instance.ActiveProfile.Name == newName, "ActiveProfile has updated name"); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); Assert.IsTrue(testHarness.AllTestsPassed(5)); }
public void HasHeatedBedCheckedHidesBedTemperatureOptions() { // 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 Settings Tab and make sure Bed Temp Text box is visible MatterControlUtilities.SwitchToAdvancedSettings(testRunner, resultsHarness); testRunner.ClickByName("Filament Tab", 1); testRunner.ClickByName("Temperatures Tab", 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", 1); testRunner.ClickByName("Features Tab", 1); testRunner.DragByName("Show Reset Connection Checkbox", 1, offset: new Agg.Point2D(-40, 0)); testRunner.MoveToByName("Show Reset Connection Checkbox", 1, offset: new Agg.Point2D(0, 120)); testRunner.Drop(); testRunner.ClickByName("Has Heated Bed Checkbox", 1); testRunner.Wait(.5); testRunner.ClickByName("Filament Tab", 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, overrideWidth: 550); Assert.IsTrue(testHarness.AllTestsPassed(5)); }
public async Task SettingsStayAsOverrides() { AutomationTest testToRun = (testRunner) => { testRunner.CloseSignInAndPrinterSelect(); // Add Guest printers MatterControlUtilities.AddAndSelectPrinter(testRunner, "Airwolf 3D", "HD"); MatterControlUtilities.SwitchToAdvancedSettings(testRunner); testRunner.ClickByName("Layer Height Textbox", 2); testRunner.Type(".5\n"); testRunner.Delay(.5); Assert.AreEqual(ActiveSliceSettings.Instance.GetValue <double>(SettingsKey.layer_height), .5, "Layer height is what we set it to"); testRunner.ClickByName("Quality", 2); testRunner.ClickByName("Fine Menu", 2); testRunner.Delay(.5); Assert.AreEqual(ActiveSliceSettings.Instance.GetValue <double>(SettingsKey.layer_height), .1, "Layer height is the fine override"); MatterControlUtilities.AddAndSelectPrinter(testRunner, "BCN", "Sigma"); // Check Guest printer count Assert.AreEqual(2, ProfileManager.Instance.ActiveProfiles.Count(), "ProfileManager has 2 Profiles"); // Check if Guest printer names exists in dropdown testRunner.ClickByName("Printers... Menu", 2); testRunner.ClickByName("Airwolf 3D HD Menu Item", 5); testRunner.Delay(1); Assert.AreEqual(ActiveSliceSettings.Instance.GetValue <double>(SettingsKey.layer_height), .1, "Layer height is the fine override"); testRunner.ClickByName("Quality", 2); testRunner.ClickByName("- none - Menu Item", 2, delayBeforeReturn: .5); Assert.AreEqual(ActiveSliceSettings.Instance.GetValue <double>(SettingsKey.layer_height), .5, "Layer height is what we set it to"); return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, maxTimeToRun : 120); }
public async Task SwitchingMaterialsCausesSettingsChangedEvents() { AutomationTest testToRun = (testRunner) => { EventHandler unregisterEvents = null; int layerHeightChangedCount = 0; ActiveSliceSettings.SettingChanged.RegisterEvent((s, e) => { StringEventArgs stringEvent = e as StringEventArgs; if (stringEvent != null) { if (stringEvent.Data == SettingsKey.layer_height) { layerHeightChangedCount++; } } }, ref unregisterEvents); testRunner.CloseSignInAndPrinterSelect(); MatterControlUtilities.AddAndSelectPrinter(testRunner, "Airwolf 3D", "HD"); //Navigate to Local Library MatterControlUtilities.SwitchToAdvancedSettings(testRunner); testRunner.ClickByName("General Tab", 1); testRunner.ClickByName("Layers / Surface Tab", 1); Assert.AreEqual(0, layerHeightChangedCount, "No change to layer height yet."); testRunner.ClickByName("Quality", 2); testRunner.ClickByName("Fine Menu", 2, delayBeforeReturn: .5); Assert.AreEqual(1, layerHeightChangedCount, "Changed to fine."); testRunner.ClickByName("Quality", 2); testRunner.ClickByName("Standard Menu", 2, delayBeforeReturn: .5); Assert.AreEqual(2, layerHeightChangedCount, "Changed to standard."); return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, overrideWidth : 1224, overrideHeight : 900); }
public async Task PauseOnLayerDoesPauseOnPrint() { AutomationTest testToRun = (testRunner) => { testRunner.WaitForName("Cancel Wizard Button", 1); using (var emulatorDisposable = testRunner.LaunchAndConnectToPrinterEmulator()) { Assert.IsTrue(ProfileManager.Instance.ActiveProfile != null); MatterControlUtilities.SwitchToAdvancedSettings(testRunner); testRunner.ClickByName("General Tab", 1); testRunner.ClickByName("Single Print Tab", 1); testRunner.ClickByName("Layer(s) To Pause: Edit"); testRunner.Type("4;2;a;not;6"); testRunner.ClickByName("Layer View Tab"); testRunner.ClickByName("Generate Gcode Button", 1); testRunner.ClickByName("Display Checkbox", 10); testRunner.ClickByName("Sync To Print Checkbox", 1); testRunner.ClickByName("Start Print Button", 1); WaitForLayerAndResume(testRunner, 2); WaitForLayerAndResume(testRunner, 4); WaitForLayerAndResume(testRunner, 6); testRunner.WaitForName("Done Button", 30); testRunner.WaitForName("Print Again Button", 1); } return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, maxTimeToRun : 90); }
public void HasHardwareLevelingHidesLevelingSettings() { Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); //Add printer that has hardware leveling MatterControlUtilities.AddAndSelectPrinter(testRunner, "Airwolf 3D", "HD"); MatterControlUtilities.SwitchToAdvancedSettings(testRunner, resultsHarness); testRunner.ClickByName("Printer Tab", 1); testRunner.Wait(1); //Make sure Print Leveling tab is not visible bool testPrintLeveling = testRunner.WaitForName("Print Leveling Tab", 3); resultsHarness.AddTestResult(testPrintLeveling == false); //Add printer that does not have hardware leveling MatterControlUtilities.AddAndSelectPrinter(testRunner, "3D Factory", "MendelMax 1.5"); testRunner.ClickByName("Slice Settings Tab", 1); testRunner.ClickByName("Printer Tab", 1); //Make sure Print Leveling tab is visible bool printLevelingVisible = testRunner.WaitForName("Print Leveling Tab", 2); resultsHarness.AddTestResult(printLevelingVisible == true); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, overrideHeight: 800); Assert.IsTrue(testHarness.AllTestsPassed(4)); }
public async Task HasHeatedBedCheckedHidesBedTemperatureOptions() { AutomationTest testToRun = (testRunner) => { testRunner.CloseSignInAndPrinterSelect(); MatterControlUtilities.AddAndSelectPrinter(testRunner, "Airwolf 3D", "HD"); //Navigate to Settings Tab and make sure Bed Temp Text box is visible MatterControlUtilities.SwitchToAdvancedSettings(testRunner); testRunner.ClickByName("Filament Tab", 1); testRunner.ClickByName("Temperatures Tab", 1); Assert.IsTrue(testRunner.WaitForName("Extruder Temperature Textbox", 2)); Assert.IsTrue(testRunner.WaitForName("Bed Temperature Textbox", 2)); //Uncheck Has Heated Bed checkbox and make sure Bed Temp Textbox is not visible testRunner.ClickByName("Printer Tab", 1); testRunner.ClickByName("Features Tab", 1); testRunner.DragByName("Show Reset Connection Checkbox", 1, offset: new Agg.Point2D(-40, 0)); testRunner.MoveToByName("Show Reset Connection Checkbox", 1, offset: new Agg.Point2D(0, 120)); testRunner.Drop(); testRunner.ClickByName("Has Heated Bed Checkbox", 1); testRunner.Delay(.5); testRunner.ClickByName("Filament Tab", 1); bool bedTemperatureTextBoxVisible = testRunner.WaitForName("Bed Temperature Textbox", 2); Assert.IsTrue(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); Assert.IsTrue(bedTemperatureTextBoxVisible == false); return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, overrideWidth : 550); }
public async Task ClearingCheckBoxClearsUserOverride() { AutomationTest testToRun = (testRunner) => { testRunner.CloseSignInAndPrinterSelect(); MatterControlUtilities.AddAndSelectPrinter(testRunner, "Airwolf 3D", "HD"); //Navigate to Local Library MatterControlUtilities.SwitchToAdvancedSettings(testRunner); testRunner.ClickByName("Printer Tab", 1); testRunner.ClickByName("Features Tab", 1); CheckAndUncheckSetting(testRunner, SettingsKey.heat_extruder_before_homing, "Heat Before Homing Checkbox", false); CheckAndUncheckSetting(testRunner, SettingsKey.has_fan, "Has Fan Checkbox", true); return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, overrideWidth : 1224, overrideHeight : 900); }
public async Task CompletingPrintTurnsoffHeat() { AutomationTest testToRun = (testRunner) => { testRunner.WaitForName("Cancel Wizard Button", 1); using (var emulatorDisposable = testRunner.LaunchAndConnectToPrinterEmulator()) { Assert.IsTrue(ProfileManager.Instance.ActiveProfile != null); MatterControlUtilities.SwitchToAdvancedSettings(testRunner); testRunner.ClickByName("Printer Tab", 1); testRunner.ClickByName("Custom G-Code Tab", 1); testRunner.ClickByName("end_gcode Edit Field"); testRunner.Type("^a"); testRunner.Type("{BACKSPACE}"); testRunner.Type("G28"); testRunner.ClickByName("Start Print Button", 1); testRunner.WaitForName("Done Button", 120); Assert.True(testRunner.NameExists("Done Button"), "The print has completed"); testRunner.WaitForName("Print Again Button", 1); testRunner.Delay(5); Assert.Less(PrinterConnectionAndCommunication.Instance.GetActualExtruderTemperature(0), 30); Assert.Less(PrinterConnectionAndCommunication.Instance.ActualBedTemperature, 10); } return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, maxTimeToRun : 200); }