/// <summary> /// Verify operation. /// </summary> private void VerifyOperation() { switch (_activityData.DocumentProcessAction) { case GeniusBytesPullPrintAction.Delete: case GeniusBytesPullPrintAction.DeleteAll: _geniusBytesApp.PressConfirmonPopup(); _geniusBytesApp.PressBackKey(); break; case GeniusBytesPullPrintAction.PrintandDelete: case GeniusBytesPullPrintAction.Print: VerifyPrintingColorMode(); VerifyStartPrinting(); VerifyDeviceFinishedPrinting(); _geniusBytesApp.PressBackKey(); break; case GeniusBytesPullPrintAction.PrintAllandDelete: VerifyPrintingColorMode(); VerifyStartPrinting(); VerifyPrintAllFinishedPrinting(); _geniusBytesApp.PressBackKey(); break; case GeniusBytesPullPrintAction.PrintAll: VerifyStartPrinting(); VerifyPrintAllFinishedPrinting(); break; } _geniusBytesApp.WaitObjectForAvailable("Pull Printing(", TimeSpan.FromSeconds(5)); SetFinalJobCount(); }
/// <summary> /// Navigate to home screen /// </summary> public override void NavigateHome() { bool homeScreen = false; string screen = GetTopmostScreen(); TimeSpan waitingTime = TimeSpan.FromMilliseconds(1000); if ((homeScreen = AtHomeScreen()) == false) { RecordEvent(DeviceWorkflowMarker.NavigateHomeBegin); for (int i = 0; i < 10; i++) { // Pressing the home button should get us back to the home screen, if (_geniusBytesApp.WaitObjectForAvailable("Warning", waitingTime)) { _geniusBytesApp.Confirm(); } else if (_geniusBytesApp.WaitObjectForAvailable("OK", waitingTime)) { _geniusBytesApp.PressOKKey(); } else if (_geniusBytesApp.WaitObjectForAvailable("Close", waitingTime)) { _geniusBytesApp.PressCloseKey(); } else if (_geniusBytesApp.WaitObjectForAvailable("Cancel", waitingTime)) { _geniusBytesApp.PressCancelKey(); } else if (_geniusBytesApp.WaitObjectForAvailable("contextView-back", waitingTime)) { _geniusBytesApp.PressBackKey(); } else if (_geniusBytesApp.WaitObjectForAvailable("mainmenu-logout-normal", waitingTime)) { _geniusBytesApp.SignOut(); } Wait.ForChange(GetTopmostScreen, screen, TimeSpan.FromSeconds(3)); if (AtHomeScreen()) { homeScreen = true; RecordEvent(DeviceWorkflowMarker.NavigateHomeEnd); break; } } } if (!homeScreen) { // If we're not there after 10 tries, we're not going to make it. throw new DeviceWorkflowException($"Unable to navigate to home screen. Top most screen is '{screen}'."); } GetTopmostScreen(); }