/// <summary> /// Find UI Element By Using Expression (DSL) /// </summary> /// <param name="Order">Specifies Order of Chained Look-Up, Does Not Have to be Sequential Or Start at 0 or Are Local to PlaceHolder.</param> /// <param name="Expression">Simple Boolean Expression Tree</param> /// <param name="Scope">Scope of Search</param> public FindByAttribute(int Order, String Expression, Scope Scope = Scope.ChildrenOnly) { _order = Order; _locator = new ExpressionLocator(String.Empty, _order, Scope, Expression); }
/// <summary> /// Find UI Element By Using And/Or Property Condition KeyValue Pairs. /// </summary> /// <param name="Order">Specifies Order of Chained Look-Up, Does Not Have to be Sequential Or Start at 0 or Are Local to PlaceHolder.</param> /// <param name="How">Specifies the Method Used to Find Controls.</param> /// <param name="Scope">Scope of Search</param> /// <param name="PropertyValuePairs">Key Value Pairs. Equals: Property==Value or Property=Value. Not Equals: Property!=Value or Property<>Value.</param> public FindByAttribute(int Order, How How, Scope Scope = Scope.ChildrenOnly, params String[] PropertyValuePairs) { _order = Order; if (How == How.AndProperty) { _locator = new ChainedLocator(String.Empty, _order, Scope, ChainedLocator.ConditionType.And, PropertyValuePairs); } else if (How == How.OrProperty) { _locator = new ChainedLocator(String.Empty, _order, Scope, ChainedLocator.ConditionType.Or, PropertyValuePairs); } else { throw new ArgumentException("Invalid How, for Key Value Conditions How Must Equal And or Or!"); } }
/// <summary> /// Find UI Element By Using Locators from a Well Known Place Holder. /// </summary> /// <param name="Parent">Name of a Well Known Place Holder, a Field/Property with WellKnownAs Attribute. (Always Selected as First FindBy).</param> public FindByAttribute(String Parent) { _locator = new WellKnownReferenceLocator(Parent); }
/// <summary> /// Find Element By Using Common Property Conditions. /// </summary> /// <param name="Order">Specifies Order of Chained Look-Up, Does Not Have to be Sequential Or Start at 0 or Are Local to PlaceHolder.</param> /// <param name="How">Specifies the Method Used to Find Controls.</param> /// <param name="Using">Used as a Parameter to the Specified 'How' Method.</param> /// <param name="Scope">Scope of Search</param> /// <param name="ControlType">ControlType Specifies System.Windows.Automation.ControlType as String</param> public FindByAttribute(int Order, How How, String Using, Scope Scope = Scope.ChildrenOnly, String ControlType = "") { _order = Order; _locator = new SimpleLocator(String.Empty, _order, Scope, How, Using, ControlType); }