Exemplo n.º 1
0
 private void PlatformDriverPageChangedHandler(PageChangedEventArgs args)
 {
     try
     {
         POMObjectRecordingHelper newPOMHelper = null;
         if (ListPOMObjectHelper != null && ListPOMObjectHelper.Count > 0)
         {
             var obj = ListPOMObjectHelper.FirstOrDefault(s => s.PageTitle == args.PageTitle && s.PageURL == args.PageURL);
             if (obj == null && !string.IsNullOrEmpty(args.PageTitle) && !string.IsNullOrEmpty(args.PageURL))
             {
                 newPOMHelper = GetNewPOM(args.PageTitle, args.PageURL, args.ScreenShot);
                 ListPOMObjectHelper.Add(newPOMHelper);
                 CurrentPOM = newPOMHelper.ApplicationPOM;
             }
             else if (!(CurrentPOM.PageURL == obj.PageURL && CurrentPOM.Name == obj.PageTitle))
             {
                 CurrentPOM = obj.ApplicationPOM;
             }
         }
         else
         {
             newPOMHelper        = GetNewPOM(args.PageTitle, args.PageURL, args.ScreenShot);
             CurrentPOM          = newPOMHelper.ApplicationPOM;
             ListPOMObjectHelper = new List <POMObjectRecordingHelper>();
             ListPOMObjectHelper.Add(newPOMHelper);
         }
     }
     catch (Exception ex)
     {
         Reporter.ToLog(eLogLevel.ERROR, "Error in Page change event handler while recording", ex);
     }
 }
Exemplo n.º 2
0
        private POMObjectRecordingHelper GetNewPOM(string pageTitle, string pageURL, string screenShot)
        {
            POMObjectRecordingHelper recordingHelper = new POMObjectRecordingHelper();

            try
            {
                ApplicationPOMModel newPOM = new ApplicationPOMModel();
                newPOM.FileName         = pageTitle;
                newPOM.FilePath         = pageTitle;
                newPOM.Name             = pageTitle;
                newPOM.Guid             = new Guid();
                newPOM.ItemName         = pageTitle;
                newPOM.PageURL          = pageURL;
                newPOM.ScreenShotImage  = screenShot;
                newPOM.MappedUIElements = new ObservableList <ElementInfo>();

                recordingHelper.PageTitle      = pageTitle;
                recordingHelper.PageURL        = pageURL;
                recordingHelper.ApplicationPOM = newPOM;
            }
            catch (Exception ex)
            {
                Reporter.ToLog(eLogLevel.ERROR, "Error in creating Recording object", ex);
            }
            return(recordingHelper);
        }
Exemplo n.º 3
0
        /// <summary>
        /// This method is used to get the new POM object for new creation while recording
        /// </summary>
        /// <param name="pageTitle"></param>
        /// <param name="pageURL"></param>
        /// <param name="screenShot"></param>
        /// <returns></returns>
        private POMObjectRecordingHelper GetNewPOM(string pageTitle, string pageURL, string screenShot)
        {
            POMObjectRecordingHelper recordingHelper = new POMObjectRecordingHelper();

            try
            {
                ApplicationPOMModel newPOM = new ApplicationPOMModel();
                string uniquTitle          = GetUniquePOMName(pageTitle);
                newPOM.Name             = uniquTitle;
                newPOM.PageURL          = pageURL;
                newPOM.ScreenShotImage  = screenShot;
                newPOM.MappedUIElements = new ObservableList <ElementInfo>();
                if (WorkSpace.Instance.Solution != null)//check for unit tests
                {
                    RepositoryItemKey tAppkey = WorkSpace.Instance.Solution.ApplicationPlatforms.Where(x => x.AppName == Context.Target.Name).Select(x => x.Key).FirstOrDefault();
                    if (tAppkey != null)
                    {
                        newPOM.TargetApplicationKey = tAppkey;
                    }
                    else
                    {
                        newPOM.TargetApplicationKey = Context.Target.Key;
                    }
                }

                //Save new POM
                if (WorkSpace.Instance.SolutionRepository != null)//check for unit tests
                {
                    RepositoryFolder <ApplicationPOMModel> repositoryFolder = WorkSpace.Instance.SolutionRepository.GetRepositoryItemRootFolder <ApplicationPOMModel>();
                    repositoryFolder.AddRepositoryItem(newPOM);
                }

                if (mApplicationPOMList != null)
                {
                    mApplicationPOMList.Add(newPOM);//adding so user will notice it was added during recording
                }

                recordingHelper.PageTitle      = pageTitle;
                recordingHelper.PageURL        = pageURL;
                recordingHelper.ApplicationPOM = newPOM;
            }
            catch (Exception ex)
            {
                Reporter.ToLog(eLogLevel.ERROR, "Error in creating Recording object", ex);
            }
            return(recordingHelper);
        }