Skip to content

Commit 43e10fc

Browse files
author
Jake Ginnivan
committed
Merge pull request #135 from ivan-danilov/master
Added untyped native search criteria (e.g. for searching by RuntimeId property value)
2 parents 2718564 + 11b35d1 commit 43e10fc

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/TestStack.White/UIItems/Finders/SearchConditionFactory.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,5 +63,11 @@ public static SearchCondition CreateForNativeProperty(AutomationProperty automat
6363
var automationElementProperty = new AutomationElementProperty(value, automationProperty.ProgrammaticName, automationProperty);
6464
return new SimpleSearchCondition(automationElement => automationElement.GetCurrentPropertyValue(automationProperty), automationElementProperty);
6565
}
66+
67+
public static SearchCondition CreateForNativeProperty(AutomationProperty automationProperty, object value)
68+
{
69+
var automationElementProperty = new AutomationElementProperty(value, automationProperty.ProgrammaticName, automationProperty);
70+
return new SimpleSearchCondition(automationElement => automationElement.GetCurrentPropertyValue(automationProperty), automationElementProperty);
71+
}
6672
}
6773
}

src/TestStack.White/UIItems/Finders/SearchCriteria.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,11 @@ public static SearchCriteria ByNativeProperty(AutomationProperty automationPrope
9292
return new SearchCriteria(SearchConditionFactory.CreateForNativeProperty(automationProperty, value));
9393
}
9494

95+
public static SearchCriteria ByNativeProperty(AutomationProperty automationProperty, object value)
96+
{
97+
return new SearchCriteria(SearchConditionFactory.CreateForNativeProperty(automationProperty, value));
98+
}
99+
95100
public static SearchCriteria ByControlType(Type testControlType, WindowsFramework framework)
96101
{
97102
var searchCriteria = new SearchCriteria(SearchConditionFactory.CreateForControlType(testControlType, framework));
@@ -201,6 +206,12 @@ public virtual SearchCriteria AndNativeProperty(AutomationProperty automationPro
201206
return this;
202207
}
203208

209+
public virtual SearchCriteria AndNativeProperty(AutomationProperty automationProperty, object value)
210+
{
211+
conditions.Insert(0, SearchConditionFactory.CreateForNativeProperty(automationProperty, value));
212+
return this;
213+
}
214+
204215
public virtual List<AutomationElement> Filter(List<AutomationElement> automationElements)
205216
{
206217
return conditions.Filter(automationElements);

0 commit comments

Comments
 (0)