コード例 #1
0
ファイル: Application.cs プロジェクト: pako4u2k/wipflash
 public Window FindWindow(Condition condition, TimeSpan timeout, FailureToFindHandler handler)
 {
     var allConditions = condition;
     if (_process != null)
     {
         allConditions = new AndCondition(condition, new PropertyCondition(AutomationElement.ProcessIdProperty, _process.Id));
     }
     return new WindowFinder().FindWindow(allConditions, timeout, handler);
 }
コード例 #2
0
        public Window FindWindow(Condition condition, TimeSpan timeout, FailureToFindHandler handler)
        {
            var allConditions = condition;

            if (_process != null)
            {
                allConditions = new AndCondition(condition, new PropertyCondition(AutomationElement.ProcessIdProperty, _process.Id));
            }
            return(new WindowFinder().FindWindow(allConditions, timeout, handler));
        }
コード例 #3
0
ファイル: WindowFinder.cs プロジェクト: pako4u2k/wipflash
        public Window FindWindow(Condition condition, TimeSpan timeout, FailureToFindHandler handler)
        {
            string windowName = new ConditionDescriber().Describe(condition);
            var windowElement = FindOrWaitForOpenWindow(condition, timeout);

            if (windowElement == null)
            {
                string message = "Failed to find window with " + windowName + " in timespan " + timeout;
                handler(message);
                return null;
            }
            ((WindowPattern)windowElement.GetCurrentPattern(WindowPattern.Pattern))
                .WaitForInputIdle(5000);

            return new Window(windowElement, windowName);
        }
コード例 #4
0
ファイル: WindowFinder.cs プロジェクト: pako4u2k/wipflash
        public Window FindWindow(Condition condition, TimeSpan timeout, FailureToFindHandler handler)
        {
            string windowName    = new ConditionDescriber().Describe(condition);
            var    windowElement = FindOrWaitForOpenWindow(condition, timeout);

            if (windowElement == null)
            {
                string message = "Failed to find window with " + windowName + " in timespan " + timeout;
                handler(message);
                return(null);
            }
            ((WindowPattern)windowElement.GetCurrentPattern(WindowPattern.Pattern))
            .WaitForInputIdle(5000);

            return(new Window(windowElement, windowName));
        }
コード例 #5
0
        public T Find <T>(Container root, Condition condition, FailureToFindHandler failureToFindHandler) where T : AutomationElementWrapper
        {
            AutomationElement element = root.Element.FindFirst(
                TreeScope.Descendants,
                condition);

            if (element == null)
            {
                failureToFindHandler(string.Format(
                                         "Could not find an element: {0} " + Environment.NewLine + " from within element: {1} ",
                                         _conditionDescriber.Describe(condition),
                                         root.Name));
                return(null);
            }
            return(_wrapper.Wrap <T>(element, _conditionDescriber.Describe(condition)));
        }
コード例 #6
0
        public IEnumerable <T> FindAll <T>(Container root, Condition condition, FailureToFindHandler failureToFindHandler) where T : AutomationElementWrapper
        {
            AutomationElementCollection elements = root.Element.FindAll(
                TreeScope.Descendants,
                condition);

            if (elements.Count < 1)
            {
                failureToFindHandler(string.Format(
                                         "Could not find an element: {0} " + Environment.NewLine + " from within element: {1} ",
                                         _conditionDescriber.Describe(condition),
                                         root.Name));
                return(new List <T>());
            }
            var list = new List <T>();

            foreach (AutomationElement element in elements)
            {
                list.Add(_wrapper.Wrap <T>(element, _conditionDescriber.Describe(condition)));
            }
            return(list);
        }
コード例 #7
0
ファイル: Container.cs プロジェクト: pako4u2k/wipflash
 public Container(AutomationElement element, string name, IFindAutomationElements finder) : base(element, name)
 {
     _finder = finder;
     HandlerForFailingToFind = (s) => { throw new FailureToFindException(s); };
 }
コード例 #8
0
 public Window FindWindow(string windowName, TimeSpan timeout, FailureToFindHandler handler)
 {
     return(FindWindow(FindBy.UiAutomationId(windowName), timeout, handler));
 }
コード例 #9
0
ファイル: Application.cs プロジェクト: pako4u2k/wipflash
 public Window FindWindow(string windowName, TimeSpan timeout, FailureToFindHandler handler)
 {
     return FindWindow(FindBy.UiAutomationId(windowName), timeout, handler);
 }