When testing Silver Light applications, we frequently run into dealing with non-Html content types. This is because most of the Silver Light applications use WCF RIA web services. Typically, this will be a binary format called MSBin1. Also, Silver Light applications may use other content types such as JSON, SOAP and REST to communicate with server. In general there is significantly greater use of Web Services and JSON in today’s web applications.
To test these applications under various scenarios we really need to edit, parameterize, extract values from responses and data drive these messages rather than simply playing back the same messages that are captured by Web Test recorder.
There is currently no editing capability for MSBin1 content in Web Test and JSON messages are difficult to read or edit. Also, in general Xml needs better editing capabilities than simple text editor that we have currently in Web Test.
Luckily there is a good set of extensibility points in Web Test for providing additional support for these content types. There are a number of plugins available to be downloaded from Code Plex project Web and Load Test Plugins for Visual Studio Team Test
The Web Test Plugins for Web Service Messages leverage these extensibility points to provide the following functionality for all these content types:
- Editor for Request body: The plugins provide a tree view of the structured data which allows easy editing, parameterization and data binding.
- XPath based Extraction and Validation Rules: XPath is a powerful tool to extract required data from Xml. This provides an additional capability for Xml and JSON based messages which can use existing extraction and validation rules that work on text. But for Msbin1, none of the existing rules work, because it is binary. So, these plugins are only way to extract and validate data from MSbin1 content types.
- Data Driving for MSBin1: Using these plugins, you can parameterize and data drive MSBin1 content.
- Additional tab in Web Test results that shows Request and Response in hierarchical view side by side. Using this user can add extraction/validation rules on response messages and parameterize requests.
Download the plugins (WebServicePlugins.zip) from Code Plex and install under Visual Studio 2010 Ultimate and let me know your feedback.
– Mahipal Kante
Cross posted from Mahipal’s blog