public void Applies()
        {
            SearchCriteria searchCriteria = SearchCriteria.ByAutomationId("buton").AndControlType(typeof(Button));
            IUIItem        button         = window.Get(searchCriteria);

            Assert.AreEqual(true, searchCriteria.AppliesTo(button.AutomationElement));
            button = window.Get <Button>("launchModal");
            Assert.AreEqual(false, searchCriteria.AppliesTo(button.AutomationElement));
        }
Example #2
0
        public virtual Menu Find(SearchCriteria searchCriteria)
        {
            var find = Find(menuItem => searchCriteria.AppliesTo(menuItem.AutomationElement));

            Thread.Sleep(250); // We need to sleep here because windows animates menu items which makes the click close the menu instead of clicking on it

            return(find);
        }
        public virtual IUIItem Get(ContainerItemFactory containerItemFactory, SearchCriteria searchCriteria, ActionListener actionListener)
        {
            WhiteLogger.Instance.DebugFormat("Finding item based on criteria: ({0}) on ({1})", searchCriteria, initializeOption.Identifier);
            Point location = windowItemsMap.GetItemLocation(searchCriteria);

            if (location.Equals(RectX.UnlikelyWindowPosition))
            {
                WhiteLogger.Instance.Debug("[PositionBasedSearch] Could not find based on position, finding using search.");
                return(Create(containerItemFactory, searchCriteria, actionListener));
            }

            AutomationElement automationElement = AutomationElementX.GetAutomationElementFromPoint(location);

            if (automationElement != null && searchCriteria.AppliesTo(automationElement))
            {
                IUIItem item = new DictionaryMappedItemFactory().Create(automationElement, actionListener, searchCriteria.CustomItemType);
                return(UIItemProxyFactory.Create(item, actionListener));
            }

            WhiteLogger.Instance.DebugFormat("[PositionBasedSearch] UIItem {0} changed its position, finding using search.", searchCriteria);
            return(Create(containerItemFactory, searchCriteria, actionListener));
        }
Example #4
0
 public virtual Menu Find(SearchCriteria searchCriteria)
 {
     return(Find(menuItem => searchCriteria.AppliesTo(menuItem.AutomationElement)));
 }