Third-Party Support for Visual Studio Coded UI Testing
Bookmark this page! I’ll be updating this blog post article as I am informed of support for Coded UI testing in each of the products. Let me know if I’m missing any that should be in the list!
If you have been using Visual Studio 2010 and Microsoft Test Manager for automated UI testing, you may have experienced some issues with building the Coded UI tests if your application is using third-party components. It has been quite frustrating having been to several customer sites over the past year and running into this issue. My suggestion for anyone that has run into these issues is to open a support case with the component vendor and request that they add the necessary accessibility support to their component libraries. This will allow each of them to track the interest for this type of support in their products and then also provide a way to inform you whenever it is supported.
FYI — This is also the necessary implementation to get the “Fast-Forward” functionality from Microsoft Test Manager to work to record the actions of manual test cases.
There doesn’t seem to be a definitive list of the third-party controls that do or don’t support Coded UI testing at the moment. I have attempted to gather all of the information to provide a one-stop shop for this support. I’ll include links to updates, add-ons, etc. as I receive them.
Product Infragistics DevExpress Telerik ComponentOne Xceed ASP.NET Controls
N/A Windows Forms Controls
5
4
3
2 Windows Presentation Foundation (WPF)Controls
1 Silverlight Controls
2
Notes
- Added support Xceed WPF Controls: http://twitter.com/#!/Kosmatos/status/32527169318027264
- Added updates for other products for Xceed: http://twitter.com/#!/Kosmatos/status/32527901526065153
- Added update for Telerik Windows Forms controls. Now available in each release of Windows Forms after 2011 Q1. http://www.telerik.com/products/winforms/whats-new-full-story.aspx
- Added update for DevExpress Windows Forms controls. Introducing support in the DevExpress 12.1 release. Check out more information DevExpress here: http://devexpress.com/products/net/controls/winforms/coded-ui/. Additionally, Brian Harry has some details in his announcement as well: http://blogs.msdn.com/b/bharry/archive/2012/06/22/devexpress-announces-full-coded-ui-support.aspx
- Jason Beres has announced that support for Coded UI testing will be included with the Infragistics Windows Forms 12.2 release scheduled for early October 2012. This first release will support the most popular subset of the Infragistics Windows Forms controls with more to follow in the future. More information: http://www.infragistics.com/community/blogs/jason_beres/archive/2012/08/31/announcing-coded-ui-support-for-windows-forms.aspx
Blog Post Updates
- 2/1/2011: Updates for Xceed.
- 2/1/2011: Added some links for implementing the appropriate accessibility hooks. Thanks to Jeff Levinson!
- 2/16/2011: Added additional information about the Accessibility Checker. Thanks to Vinod Malhotra!
- 3/24/2011: Update for Telerik Windows Forms controls.
- 7/11/2012: Upgrade for DevExpress Windows Forms controls support.
- 7/11/2012: Added additional details about the Coded UI Support Blog Post by Shubhra.
- 10/1/2012: Upgrade for Infragistics Windows Forms controls support.
Accessibility Support for Custom Controls
If you are building custom controls that are for internal use in your organization, you’ll want to make sure you implement the appropriate accessibility hooks to get full support from the Visual Studio Coded UI testing platform. Here are some links for you to get started:
- Microsoft Active Accessibility (MSAA): http://en.wikipedia.org/wiki/Microsoft_Active_Accessibility
- MSAA MSDN Library Home Page: http://msdn.microsoft.com/en-us/library/ms697707.aspx (Used by Windows Forms and native controls)
- UI Automation (UIA) MSDN Home Page: http://msdn.microsoft.com/en-us/windows/bb735024.aspx (Used primarily by Windows Presentation Foundation controls)
- UI Automation for Managed Controls: http://msdn.microsoft.com/library/ms753388.aspx
- Additional Resources for Accessibility: http://msdn.microsoft.com/en-us/windows/bb735024
Additionally, there is a tool called the UI Accessiblity Checker (also known as AccChecker) that is available to help you check your controls to make sure that the necessary accessibility implementation is correct. The tool can check for both MSAA and UIA implementations. It even has a plug-in architecture so that third parties can add additional verifications to the tool. All the source code and the binaries are available on the CodePlex site.
Additional Information
Shubhra Maji from the Visual Studio Test & Lab Management product team at Microsoft put together a great “basics” blog post about the different levels of Coded UI support for custom controls: http://blogs.msdn.com/b/visualstudioalm/archive/2011/10/28/coded-ui-test-extension-for-3rd-party-controls-the-basics-explained.aspx. The goal for all third-party custom controls should be to get to Level 4 which is the “Intent-Aware” stage.
Ed Blankenship