Hi, I was posting here as well because I can't manage to get custom properties of Telerik WPF controls in Coded UI tests. I am working with the latest version of UI for WPF.
According to the information given here, most of the controls have support for Coded UI tests on level 2 and 3. That would mean that it is possible to get the value of custom properties during a Coded UI test.
In order to do this, I installed the UITest extension dll according to the instructions. I am working with Visual Studio 2015, so I placed the dll into the "%CommonProgramFiles(x86)%\Microsoft Shared\VSTT\14.0\UITestExtensionPackages" folder and stored it into the GAC as well.
Now I am able to use Telerik UI control classes in my test. The test runs fine as long as I don't work with any custom properties. If I open the Coded UI test builder (which I normally don't use for writing tests), I can pull the crosshair over a Telerik control like a RadButton and the test builder will show me its custom properties with value (i.e. IsBackgroundVisible for RadButton).
However, if I try getting the same property from within my test, it fails with the exception:
"System.NotSupportedException: GetProperty of "IsBackgroundVisible" is not supported on control type: Button"
The MainWindow XAML code of an example application:
<
Window
x:Class
=
"TelerikCustomPropertiesApp.MainWindow"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
Title
=
"MainWindow"
Height
=
"350"
Width
=
"525"
AutomationProperties.AutomationId
=
"Window_Test"
>
<
Grid
>
<
telerik:RadButton
Width
=
"120"
Height
=
"35"
AutomationProperties.AutomationId
=
"Button_Test"
Content
=
"Test"
/>
</
Grid
>
</
Window
>
My test code:
ApplicationUnderTest.Launch(@
"..\TelerikCustomPropertiesApp.exe"
);
WpfWindow mainWindow =
new
WpfWindow();
mainWindow.SearchProperties[WpfControl.PropertyNames.AutomationId] =
"Window_Test"
;
mainWindow.Find();
WpfRadButton button =
new
WpfRadButton(mainWindow);
button.SearchProperties[WpfControl.PropertyNames.AutomationId] =
"Button_Test"
;
button.DrawHighlight();
// from here the test fails
bool
test = button.IsBackgroundVisible;
Having a look at this MSDN article, can it be that there is no implementation of GetPropertyNames() in the PropertyProvider of the UITest extension. Or there is a problem with identifying the control type. Am I missing something important in order to make this work?