VS2010 Web Test Plugins for Web Service Messages
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.
When installed, the following components will be added to the user's file system:
Plugin |
Assembly/Files |
Folder |
Functionality |
Visual Studio Addin - Additional tab in Web Test Result |
WebServicePluginFor WebTestResultTab.AddIn WebTest.WebService. Plugin.ResultTab.dll |
<User Documents>\Visual Studio 2010\Addins |
Adds a new tab called "Web Service" into Web Test results |
Msbin1MessageEditor (IBinaryHttpBodyEditorPlugin) XmlMessageEditor (IStringHttpBodyEditorPlugin) WebServicePostRecording (WebTestRecorderPlugin) |
WebTest.WebService. Plugin.MessageEditors.dll |
~Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies \WebTestPlugins |
WebTest Editor Plugins - Request editors for various content types |
XPathExtractionRule (ExtractionRule) XPathValidationRule (ValidationRule) WebServicePlugin (WebTestPlugin) |
WebTest.WebService. Plugin.Runtime.dll |
~Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies |
Runtime assembly -contains extraction/validation rules, data binding for binary content types. |
All three assemblies work together, so all of them need to be present when authoring Web Test. Only runtime assembly (WebTest.WebService. Plugin.Runtime.dll) is required to run Web Test.
Read more about the plugins...
Download the plugins (WebServicePlugins.zip) from Code Plex and install under Visual Studio 2010 Ultimate and let me know your feedback.
Comments
Anonymous
April 20, 2010
Hi, It would be great if all VS test web and load could be cross-posted in the Visual Studio Team Test blog. There are too many blogs to monitor. You should view all the test tools as one product (we use manual, coded UI, web/load testing portion from the tool) BertrandAnonymous
May 03, 2010
Hi Bertrand: Thanks for the suggestion. This has been cross posted to VSTT blog. Thanks, Mahipal.Anonymous
July 06, 2011
I need dynamically to parameterize the requests in Web Test. After recommended installation of Plugins i got the additional tab "Web Service" , but without request’s “Tree View” contents , ability to edit it , without ability add extraction and validation rules in response’s “Tree View” contents. Please advise , if there any options. Thanks.Anonymous
August 17, 2011
Downloaded the .zip file, but not able to install the plugin under VS2010. could any one please help me ?Anonymous
October 10, 2011
It is working perfectly fine except the parameterization section. When we follow the same steps as mentioned in the pdf, the typed value is not getting saved. Once we edit the actual request data by inserting statements like {{DataSource1.user#csv.name}} , it is giving some error like "Request failed: Data Not Found for:DataSource1.user.name" Can you oplease help me?Anonymous
June 22, 2012
Hi I wish to parametrize the folder name added in my script and with to validate its added and at the end i wish to delete the folder. Using this plugin can you tell me where to paramterize to the data source. In my webrequest I don't the data entered by me while recording the script or I don't know if the XPAT i wish to verify has the required folder name i wish to verify and delete. Any pointers in this regard will surely be a great help ThanksAnonymous
February 07, 2013
This looks exactly like what I need! Any info on how I can install this for Visual Studio 2012? I'm trying to extract this response: 0x00000000 7B 22 45 78 61 6D 41 6E 73 77 65 72 49 64 22 3A {"ExamAnswerId": 0x00000010 22 37 35 37 61 33 37 33 35 2D 65 36 32 36 2D 34 "757a3735-e626-4 But the memory code to the right makes it hard to extract the examAnswerId into a parameter.Anonymous
April 01, 2013
Vegard, Install the plugin from the below link for VSTS2012 teamtestplugins.codeplex.com/.../97603 Thanks, NaveenAnonymous
May 19, 2014
Hi, I have downloaded this plugin but still i am not able to see any response in it. I am testing the silverlight application and i am getting the proper response. The response is "the content is loading wait".. Can anyone help.Anonymous
June 15, 2014
Hi, please help me asap i have installed web service plugin but my response in decode xml so i am not able to extract praticular data in web service using xpath while extract i am getting all value in extract variable.and i saw in test view tab and response in decode format like ;<name;>. so how can i extract dataAnonymous
February 22, 2016
Previously when first time installed VS2013 with setup file i got the webservice tab. Due to some reasons i removed VS2013 . Recently again installed vs2013 with setup file using codeplex I'm not getting Webservice tab. Please help.