private bool WaitForMode(FiMode mode, TimeSpan timeout) { logger.LogInfo($"Waiting for mode {mode}"); if (WaitHelpers.WaitFor(() => GetMode().Equals(mode.ToString()), timeout)) { logger.LogInfo($"Changed to {mode} in time"); return(true); } return(false); }
public void CloseDown() { ClickRadioButton(MeatMaster2UiItems.CareViewButton, MainWindow); Button closeButton = MainWindow.Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.CloseDownButton)); WaitHelpers.WaitForEnabled(closeButton, TimeSpan.FromSeconds(30)); closeButton.Click(); WaitHelpers.WaitForDialog(MainWindow, MeatMaster2UiItems.MessageBoxPopup, TimeSpan.FromMinutes(2)); MainWindow.ModalWindow(MeatMaster2UiItems.MessageBoxPopup).Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.PopupLeftButton)).Click(); }
/// <summary> /// Envoked to click the start stop button in any Nova /// </summary> public void ClickStartStopButton() { logger.LogInfo("Clicking start/stop button"); Button startStopButton = MainWindow.Get <Button>(StartStopButton); logger.LogInfo("Button found {0}", startStopButton.Name); if (WaitHelpers.WaitForEnabled(startStopButton, TimeSpan.FromMinutes(5))) { startStopButton.Click(); } }
public void WaitForServiceToStart(string serviceName, int timeOutMinutes) { logger.LogInfo("Waiting for {0} service to start.", serviceName); if (!WaitHelpers.WaitFor(() => ServiceIsRunning(serviceName), TimeSpan.FromMinutes(timeOutMinutes), TimeSpan.FromSeconds(30))) { logger.LogError("{0} Service did not start in time.", serviceName); } else { logger.LogInfo("{0} Service started.", serviceName); } }
/// <summary> /// Waits for the reference splash to disapear in MM2 UI /// </summary> public void WaitForReference() { try { Label referenceLabel = MainWindow.Get <Label>(SearchCriteria.ByText(Properties.Resources.MeatMasterII_ReferenceLabelName)); WaitHelpers.WaitForVisible(referenceLabel, TimeSpan.FromSeconds(60)); WaitHelpers.WaitFor(() => !referenceLabel.Visible, TimeSpan.FromMinutes(10), TimeSpan.FromSeconds(30)); } catch (Exception e) { logger.LogError($"WaitForReference failed with exception {e.Message} inner: {e.InnerException}"); throw; } }
public void ClickRadioButton(SearchCriteria criteria, Window window) { logger.LogInfo($"Searching for radiobutton with criteria {criteria}"); RadioButton radioButton = window.Get <RadioButton>(criteria); logger.LogInfo($"Button found {radioButton.Name} in {window.Title}"); if (WaitHelpers.WaitForEnabled(radioButton, TimeSpan.FromMinutes(5))) { logger.LogInfo($"Clicking {radioButton.Name}"); radioButton.Click(); } }
public void StartAndWaitForCheckSample(int minutesToWait = 5) { Window startCheckSampleDialog = MainWindow.ModalWindow(MeatMaster2UiItems.MessageBoxPopup); Button startCsButton = startCheckSampleDialog.Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.PopupRightButton)); startCsButton.Click(); WaitHelpers.WaitFor(CheckSampleIsDone, TimeSpan.FromMinutes(minutesToWait)); Window removeCsWindow = MainWindow.ModalWindow(MeatMaster2UiItems.MessageBoxPopup); removeCsWindow.Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.PopupLeftButton)).Click(); }
public void ClickApplicationswitchButton() { Button appSwitchButton = MainWindow.Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.MenuBarApplicationSwitchButton)); if (WaitHelpers.WaitForEnabled(appSwitchButton, TimeSpan.FromSeconds(60))) { logger.LogInfo("Application switch button is enabled."); appSwitchButton.Click(); WaitForManta(); } else { logger.LogError("Application switch was not enabled."); } }
/// <summary> /// Envoked to close the current batch in Manta /// </summary> public void CloseBatch() { ClickButton(SearchCriteria.ByText(UiItems.MantaLolipopButtonName)); while (!WaitHelpers.WaitFor(() => MainWindow.ModalWindows().Any(), TimeSpan.FromMinutes(2))) { ClickButton(SearchCriteria.ByText(UiItems.MantaLolipopButtonName)); } //WaitHelpers.WaitForDialog(MainWindow, "", TimeSpan.FromSeconds(60)); Window batchControlDialog = MainWindow.ModalWindows()[0]; ClickButton(SearchCriteria.ByText("BatchDialogCloseBatchButton"), batchControlDialog); Thread.Sleep(TimeSpan.FromSeconds(10)); }
public void HandlePopup(string answer) { WaitHelpers.WaitForDialog(MainWindow, UiItems.MessageBoxPopup, TimeSpan.FromSeconds(30)); Window messagePopup = MainWindow.ModalWindow(UiItems.MessageBoxPopup); answer = answer.ToLower(); if (answer == "yes") { ClickButton(UiItems.MessageBoxPopupYesButton, messagePopup); return; } ClickButton(UiItems.MessageBoxPopupNoButton, messagePopup); WaitHelpers.WaitFor(() => messagePopup.IsClosed, TimeSpan.FromSeconds(30)); }
/// <summary> /// Selects a product in any Nova /// </summary> /// <param name="productName"></param> public void SelectProduct(string productName) { ClickSelectProduct(); if (WaitHelpers.WaitForDialog(MainWindow, SelectProductsDialogName, TimeSpan.FromSeconds(30))) { Window selectProductDialog = MainWindow.ModalWindow(SelectProductsDialogName); if (SelectProductDialogIsUpdated) //True from 7.0 { ClickButton(SearchCriteria.ByText(productName), selectProductDialog); } else { ListBox productList = selectProductDialog.Get <ListBox>(ProductList); SelectValueFromList(productName, productList); } } }
public Window GetMainWindow(string processName, string windowName) { try { logger.LogInfo("Finding window {0} in {1}", windowName, processName); Application novaApp = GetApplication(processName); WaitHelpers.WaitFor(() => WindowsForProcess(processName).Contains(windowName), TimeSpan.FromMinutes(30), TimeSpan.FromMinutes(1)); WaitHelpers.WaitSeconds(10); // WaitHelpers.WaitFor(() => novaApp.GetWindows().Count > 0, TimeSpan.FromMinutes(30)); logger.LogInfo("Window for {0} is found.", novaApp.Name); Window window = novaApp.GetWindow(windowName); logger.LogInfo("Nova window {0} is found", window.Title); return(window); } catch (Exception e) { logger.LogError("GetMainWindow failed with exception: {0}. \nInner exception {1}", e.Message, e.InnerException.Message); throw; } }
/// <summary> /// Starts instrument diagnostic waits for finish dialog, and clicks OK. /// </summary> public void HandleInstrumentDiagnostic() { WaitHelpers.WaitForDialog(MainWindow, Properties.Resources.MeatMasterII_InstrumentStartupDialog, TimeSpan.FromMinutes(5)); MainWindow.ModalWindow(Properties.Resources.MeatMasterII_InstrumentStartupDialog) .Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.InstrumentStartupStartButton)).Click(); WaitHelpers.WaitForDialog(MainWindow, MeatMaster2UiItems.InstrumentDiagnosticDialog, TimeSpan.FromSeconds(30)); Button instrumentDiagnosticOkButton = MainWindow.ModalWindow(MeatMaster2UiItems.InstrumentDiagnosticDialog) .Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.InstrumentDiagnosticOkButton)); if (WaitHelpers.WaitForVisible(instrumentDiagnosticOkButton, TimeSpan.FromMinutes(60))) { logger.LogInfo("Button was enabled"); instrumentDiagnosticOkButton.Click(); } else { logger.LogInfo("Button was not enabled"); } }
/// <summary> /// Closes down Nova /// </summary> /// <param name="restartWindows">If true, windows will restart during the shutdown, before it is done.</param> public void CloseDown(bool restartWindows) { ClickRadioButton(MeatMaster2UiItems.CareViewButton, MainWindow); Button closeButton = MainWindow.Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.CloseDownButton)); WaitHelpers.WaitForEnabled(closeButton, TimeSpan.FromSeconds(30)); closeButton.Click(); WaitHelpers.WaitForDialog(MainWindow, MeatMaster2UiItems.MessageBoxPopup, TimeSpan.FromMinutes(2)); MainWindow.ModalWindow(MeatMaster2UiItems.MessageBoxPopup) .Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.PopupLeftButton)) .Click(); if (restartWindows) { applicationHelpers.RestartWindows(); } WaitHelpers.WaitFor(() => !applicationHelpers.ProcessIsRunning(MeatMaster2UiItems.Mm2ProcessName), TimeSpan.FromMinutes(20), TimeSpan.FromMinutes(1)); }
private bool WaitForManta() { if (!WaitHelpers.WaitFor( () => applicationHelpers.ProcessIsRunning(UiItems.MantaProcessname), TimeSpan.FromSeconds(60))) { logger.LogError("Manta process did not start in time"); return(false); } logger.LogInfo("Manta process started."); if ( !WaitHelpers.WaitFor( () => applicationHelpers.WindowIsVisible(UiItems.MantaProcessname, UiItems.MantaWindowtitle), TimeSpan.FromSeconds(60))) { logger.LogError("Manta window did not show within 60 secs."); return(false); } logger.LogInfo("Manta started in time."); return(true); }
/// <summary> /// Starts the instrument diagnostic, and cancels after waitTime /// </summary> /// <param name="waitTime">Time to let the test run before canceling</param> public void CancelStartup(TimeSpan waitTime) { WaitHelpers.WaitForDialog(MainWindow, Properties.Resources.MeatMasterII_InstrumentStartupDialog, TimeSpan.FromMinutes(5)); Window instrumentDiagnosticDialog = MainWindow.ModalWindow(Properties.Resources.MeatMasterII_InstrumentStartupDialog); instrumentDiagnosticDialog.Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.InstrumentStartupStartButton)) .Click(); WaitHelpers.WaitForDialog(MainWindow, MeatMaster2UiItems.InstrumentDiagnosticDialog, TimeSpan.FromSeconds(30)); Button instrumentDiagnosticCancelButton = MainWindow.ModalWindow(MeatMaster2UiItems.InstrumentDiagnosticDialog) .Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.InstrumentDiagnosticCancelButton)); if (WaitHelpers.WaitForEnabled(instrumentDiagnosticCancelButton, TimeSpan.FromSeconds(60))) { Thread.Sleep(waitTime); instrumentDiagnosticCancelButton.Click(); HandlePopup("yes"); } WaitHelpers.WaitForDialog(MainWindow, MeatMaster2UiItems.InstrumentDiagnosticDialog, TimeSpan.FromSeconds(20)); Button instrumentDiagnosticOkButton = MainWindow.ModalWindow(MeatMaster2UiItems.InstrumentDiagnosticDialog) .Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.InstrumentDiagnosticOkButton)); if (WaitHelpers.WaitForVisible(instrumentDiagnosticOkButton, TimeSpan.FromSeconds(60))) { logger.LogInfo("Button was enabled"); instrumentDiagnosticOkButton.Click(); } else { logger.LogInfo("Button was not enabled"); } }
public void GetDiagnosticsResult() { WaitHelpers.WaitForDialog(MainWindow, MeatMaster2UiItems.InstrumentDiagnosticDialog, TimeSpan.FromSeconds(30)); Button instrumentDiagnosticOkButton = MainWindow.ModalWindow(MeatMaster2UiItems.InstrumentDiagnosticDialog) .Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.InstrumentDiagnosticOkButton)); Button instrumentDiagnosticRepeatButton = MainWindow.ModalWindow(MeatMaster2UiItems.InstrumentDiagnosticDialog) .Get <Button>(SearchCriteria.ByText(MeatMaster2UiItems.InstrumentDiagnosticRepeatButton)); if (WaitHelpers.WaitForVisible(instrumentDiagnosticOkButton, TimeSpan.FromMinutes(60))) { if (instrumentDiagnosticRepeatButton.Visible) { instrumentDiagnosticOkButton.Click(); CollectLogs(); } logger.LogInfo("diagnostics passed."); instrumentDiagnosticOkButton.Click(); } else { logger.LogInfo("Button was not enabled"); } }