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)); }
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)); }
public virtual Menu Find(SearchCriteria searchCriteria) { return(Find(menuItem => searchCriteria.AppliesTo(menuItem.AutomationElement))); }