// 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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        /// <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);
        }
Пример #7
0
        /// <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);
        }
Пример #8
0
        /// <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);
        }