// ReSharper restore InconsistentNaming #region Public Methods and Operators /// <summary> /// Determines whether DTM is online /// </summary> /// <returns> /// true: if DTM is online /// false: if DTM is offline or an error occurred /// </returns> public bool Run() { bool result = false; string state = new StatusbarElements().ConnectionState; if (state == null) { Log.Error(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Connection State is null"); } else { string hostApplicationLanguage = CommonFlows.GetHostApplicationLanguage.Run(); string connectionState = string.Empty; ResourceSet languages = OnlineConnectionStateTranslations.ResourceManager.GetResourceSet(CultureInfo.CurrentUICulture, true, true); foreach (DictionaryEntry language in languages) { if (hostApplicationLanguage == language.Key.ToString()) { connectionState = language.Value.ToString(); Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Connection state translated: " + connectionState + "."); break; } } if (state.Equals(connectionState)) { result = true; } } return(result); }
/// <summary> /// Validates whether writing from device started /// </summary> /// <param name="timeoutInMilliseconds"> /// The timeout in milliseconds. /// </param> /// <returns> /// True: if progress bar(buttonOperationInProgress) is != null /// </returns> public bool HasWritingStarted(int timeoutInMilliseconds) { bool result = false; var stopwatch = new Stopwatch(); Button button = new StatusbarElements().OperationInProgress; stopwatch.Start(); while (button == null && stopwatch.ElapsedMilliseconds < timeoutInMilliseconds) { button = new StatusbarElements().OperationInProgress; } stopwatch.Stop(); // Progress bar did not appear -> timeout if (button == null) { Log.Error(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Writing did not start within " + timeoutInMilliseconds + " milliseconds."); } else { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Writing started after " + stopwatch.ElapsedMilliseconds + " milliseconds. (Timeout: " + timeoutInMilliseconds + " milliseconds)."); result = true; } return(result); }
/// <summary> /// Determines whether online connection is established /// </summary> /// <returns> /// true: if DTM is online /// false: if DTM is offline or an error occurred /// </returns> public bool Run() { var watch = new Stopwatch(); string state = new StatusbarElements().ConnectionState; if (state == null) { EH.PCPS.TestAutomation.Common.Tools.Log.Error(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Connection State is null"); return(false); } watch.Start(); // timeout needed, state can be "going online" for several seconds depending on communication and whether Linearization module or another module is already open while (watch.ElapsedMilliseconds <= DefaultValues.iTimeoutMedium) { state = new StatusbarElements().ConnectionState; if (!state.Equals("Online")) { continue; } EH.PCPS.TestAutomation.Common.Tools.Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "DTM is connected after " + watch.ElapsedMilliseconds + " milliseconds. (Timeout: " + DefaultValues.iTimeoutMedium + " milliseconds)"); return(true); } watch.Stop(); EH.PCPS.TestAutomation.Common.Tools.Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "DTM is not connected after " + DefaultValues.iTimeoutMedium + " milliseconds"); return(false); }
/// <summary> /// Determines whether DTM is offline /// </summary> /// <returns> /// true: if DTM is offline /// false: if DTM is online or an error occurred /// </returns> public bool Run() { var watch = new Stopwatch(); string state = new StatusbarElements().ConnectionState; if (state == null) { Log.Error(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Connection State is null"); return(false); } watch.Start(); while (watch.ElapsedMilliseconds <= DefaultValues.iTimeoutMedium) { state = new StatusbarElements().ConnectionState; if (!state.Equals("Offline")) { continue; } Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "DTM is disconnected after " + watch.ElapsedMilliseconds + " milliseconds. (Timeout: " + DefaultValues.iTimeoutMedium + " milliseconds)"); return(true); } watch.Stop(); Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "DTM is not disconnected within " + DefaultValues.iTimeoutMedium + " milliseconds"); return(false); }
/// <summary> /// Checks if SaveRestore is active /// </summary> /// <returns> /// <br>True: if process is active</br> /// <br>False: if process is not active</br> /// </returns> public bool Run() { Element buttonProgress = new StatusbarElements().BtnProgress; // Reading is active return(buttonProgress != null && buttonProgress.Enabled); }
/// <summary> /// Checks if comparison is finished /// </summary> /// <returns> /// <br>True: if comparison is finished</br> /// <br>False: if comparison is not finished</br> /// </returns> public bool IsComparing() { bool result = true; Button button = new ActionElements().ButtonCompare; Button progressBar = new StatusbarElements().ComparisonProgress; if (button == null) { result = false; Log.Error(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Compare button is null and not available."); } else { if (button.Enabled || progressBar == null) { result = false; Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Comparison is not in progress."); } else { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Comparison is in progress."); } } return(result); }
/// <summary> /// Determines whether reading or writing is active /// </summary> /// <returns> /// True: if reading is active. False: otherwise /// </returns> public bool IsWriting() { bool result = false; Button button = new StatusbarElements().OperationInProgress; if (button == null) { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Progress bar not visible. Writing is not active."); } else { Log.Info(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Writing is active."); result = true; } return(result); }
/// <summary> /// Determines whether DTM is online /// </summary> /// <returns> /// true: if DTM is online /// false: if DTM is offline or an error occurred /// </returns> public bool Run() { bool result = true; string state = new StatusbarElements().ConnectionState; if (state == null) { Log.Error(LogInfo.Namespace(MethodBase.GetCurrentMethod()), "Connection State is null"); result = false; } else if (state.Equals("Online") == false) { result = false; } return(result); }