Whenever we talk about platform coverage for UI automation one of the frequent requests is support for Silverlight app testing. We have been hard at work trying to cater to this need and here is an update on where we are with this roadmap.
We are working on adding support for Silverlight controls for “Fast forward for manual testing” and “Coded UI Tests”. The focus is on line-of-business applications built with Silverlight 4 for both in-browser and on the desktop. The initial investigation is in progress and we are working with the Silverlight team to close on the overall design. We are planning to release a CTP version of a plugin by Q2CY2010. This will be delivered out of band to active MSDN subscribers (Test Pro, Premium and Ultimate) only. We are establishing the final release timeline yet.
Here is a picture of the state of our current Silverlight support
Testing for Silverlight apps
Test case authoring
Works – agnostic to client tech
Manual test case execution
Pure manual testing with pass/fail marking, bug filing works fine
Data diagnostic adapters
Not supported – work in progress. Plugin for UI automation for SL apps will be release out of band post Dev10
No specific support for SL apps. You could use Intellitrace to profile the business logic in the web app. For instance, collect IT logs on the web server remotely
No specific support for SL apps. You could collect TI logs on the web server remotely
No VS integration. Use separate command line at http://code.msdn.microsoft.com/silverlightut
From command line: use msbuild /t:coveragetest after id-ing the assembly to instrument in the unit test project file
Works as is
Separate download available from http://code.msdn.microsoft.com/silverlightut. SL unit test project is a separate project template in VS. Same test metadata as the VS unit test project. Runs from VS or through command line. Generates trx files as test results.
Coded UI tests
Web performance tests
Web perf tests work at the protocol layer, the SL client pieces are not tested. However SL apps could use WCF/JSON/REST protocols to communicate with the server. Editing and playback for these payloads have good support via the plugin here
Use the web perf tests as part of the load test. No specific perf counters for SL apps