FAQ: What happens if I search for a UI Test Control with an invalid property?

In this blog, Bala has described how Coded UI Test searches for controls. A frequently asked follow-up question is

“What if i give an invalid search property?”

 

For Web technology,

  • If an invalid SearchProperty is used to Find a UITestControl, it will throw UITestControlNotFoundException. 

e.g:- If you searched for the search edit box in bing.com using a BadSearchProperty,

this.mUIEnteryoursearchtermEdit.SearchProperties["BadSearchProperty"] = "foo-bar";

you would get the UITestControlNotFoundException

 

  • If an invalid FilterProperty is used to Find a UITestControl, it will be ignored.

e.g:- If you searched for the search edit box in bing.com using a BadFilterProperty,

this.mUIEnteryoursearchtermEdit.FilterProperties["BadFilterProperty"] = "foo-bar";

you would succeed in locating the edit box and performing operations performed on it.

 

For MSAA & UIA technologies,

  • If an invalid SearchProperty is used to Find a UITestControl, it will throw an ArgumentException

e.g:- If you searched for the button ‘6’ in the calculator using a BadSearchProperty

this.mUIItem6Button.SearchProperties["BadSearchProperty"] = "foo-bar";

you would get the following exception.

System.ArgumentException: The property BadSearchProperty is not a valid search property.

  • FilterProperties are not supported. If you specify FilterProperties for a WinForms or WPF control,  you will get the following message.

System.ArgumentException: Filter properties are not supported by the following technology: MSAA. To search for a control, you must remove the filter properties.

 

NOTE also for all technologies,

  • If an invalid Property is used in GetProperty/SetProperty, it will throw a NotSupportedException.