/// <summary>
        /// Signs into HPCR using given authenticator using desired authentication mode
        /// </summary>
        /// <param name="authenticator"></param>
        /// <param name="authenticationMode"></param>
        public override void Launch(IAuthenticator authenticator, AuthenticationMode authenticationMode)
        {
            if (authenticationMode.Equals(AuthenticationMode.Eager))
            {
                // Press Sign In button
                _controlPanel.PressByValue("Sign In");

                if (_controlPanel.WaitForScreenId("login", StringMatch.Contains))
                {
                    authenticator.Authenticate();
                    PressHpcrWorkflowButton(_buttonTitle);
                }
                else
                {
                    throw new DeviceWorkflowException("Timed out waiting for Sign In screen.");
                }
            }
            else // AuthenticationMode.Lazy
            {
                PressHpcrWorkflowButton(_buttonTitle);

                authenticator.Authenticate();
                _controlPanel.WaitForScreenLabel("vw_sips_apps_state", TimeSpan.FromSeconds(30));
                WaitForControl("HP Capture", TimeSpan.FromSeconds(6));
            }

            RecordEvent(DeviceWorkflowMarker.AppShown);
        }
示例#2
0
        /// <summary>
        /// Enters the "To" email address.
        /// </summary>
        /// <param name="emailAddresses">The "To" email addresses.</param>
        public void EnterToAddress(IEnumerable <string> emailAddresses)
        {
            foreach (string address in emailAddresses)
            {
                string displayName      = address.Split('@')[0];
                string emailControlName = $"{displayName} {address}".ToLowerInvariant();

                try
                {
                    if (_controlPanel.GetScreenInfo().ScreenLabels.FirstOrDefault() == "Scan_Email_EmailPageGlass")
                    {
                        switch (AddressSource)
                        {
                        case "Default":
                        {
                            _controlPanel.Press("item1");        //To Address
                            Pacekeeper.Pause();
                            _controlPanel.WaitForScreenLabel("Scan_Email_AddEmail", _waitTimeSpan);
                            _controlPanel.SetValue("lineedit", address);
                            Pacekeeper.Pause();
                            _controlPanel.Press("_done");         //Done
                        }
                        break;

                        case "Email Addressbook":
                        {
                            _controlPanel.Press("button2");
                            _controlPanel.WaitForScreenLabel("Scan_Email_AddressBook", _waitTimeSpan);
                            _controlPanel.PressByValue(displayName, StringMatch.StartsWith); //Check box
                            Pacekeeper.Pause();
                            _controlPanel.Press("fb_done");                                  //OK
                        }
                        break;

                        case "LDAP Addressbook":
                        {
                            _controlPanel.Press("email_menu_value_to");              //To Address
                            _controlPanel.WaitForScreenLabel(" view_email_Addressbook_Flow_In_STE_list", TimeSpan.FromSeconds(5));
                            _controlPanel.Press("Addressbook_Flow_In_STE_footer.3"); //Search Address book
                            _controlPanel.WaitForScreenLabel("view_ldap_search", _shortTimeSpan);
                            _controlPanel.SetValue("ldap_search_enter_search_vkbd.4", displayName);
                            Pacekeeper.Pause();
                            _controlPanel.WaitForScreenLabel("view_ldap_search_result", _longTimeSpan);
                            _controlPanel.PressByValue(emailControlName);         //Check box
                            Pacekeeper.Pause();
                            _controlPanel.WaitForScreenLabel("view_email_Addressbook_Flow_In_STE_list", _waitTimeSpan);
                            _controlPanel.Press("Addressbook_Flow_In_STE_footer.0");         //Done
                            Pacekeeper.Pause();
                        }
                        break;
                        }
                    }
                }
                catch (ElementNotFoundException ex)
                {
                    throw new DeviceWorkflowException($"Display name is different from To Address {ex.Message}", ex);
                }
            }
        }
示例#3
0
        private void PressSignInButton()
        {
            var signInWidget = _controlPanel.WaitForWidgetByValue("Sign In", _mediumDelay);

            Thread.Sleep(_pause);
            if (signInWidget != null)
            {
                _controlPanel.PressByValue("Sign In");
            }
        }
示例#4
0
 /// <summary>
 /// Adds the specified network folder path as a destination for the scanned file.
 /// </summary>
 /// <param name="path">The network folder path.</param>
 /// <param name="credential">The network credential parameter is being added to provide the network credentials to access folder path </param>
 /// /// <param name="applyCredentials"><value><c>true</c> if apply credentials on verification is checked;otherwise, <c>false</c>.</value></param>
 public void AddFolderPath(string path, NetworkCredential credential, bool applyCredentials)////network credential for folder access is supported for Omni device. SiriusUIv3 yet to be supported
 {
     try
     {
         if (_controlPanel.WaitForScreenLabel("Scan_NetworkFolder_FolderList", TimeSpan.FromSeconds(1)))
         {
             _controlPanel.PressByValue(path);
             Pacekeeper.Pause();
             Pacekeeper.Sync();
         }
     }
     catch (ElementNotFoundException ex)
     {
         if (_controlPanel.GetScreenInfo().ScreenLabels.FirstOrDefault() == "Scan_Status_Error")
         {
             throw new DeviceWorkflowException("Error entering folder path", ex);
         }
         else
         {
             throw;
         }
     }
 }
        private void PressSafeComSolutionButton(string waitForm)
        {
            if (_controlPanel.WaitForScreenLabel("Home", _mediumDelay))
            {
                //Scroll to Apps
                _controlPanel.ScrollToItemByValue("sfolderview_p", "Apps");
                //Press App button
                _controlPanel.PressByValue("Apps");

                _controlPanel.WaitForWidgetByValue(waitForm, _mediumDelay);

                _controlPanel.ScrollToItemByValue("sfolderview_p", waitForm);
                Thread.Sleep(_pause);

                //Press SafeCom
                _controlPanel.PressByValue(waitForm);
                Thread.Sleep(_pause);
            }
            else
            {
                throw new DeviceWorkflowException("Unable to navigate to Home Screen.");
            }
        }
 private void PressSignInButton()
 {
     _controlPanel.PressByValue("Sign In");
 }