This topic describes what level of support LoadComplete offers for Silverlight applications.
Supported Silverlight Applications
LoadComplete can load test web applications created with Silverlight of any version. In other words, the tool can record and play back requests a Silverlight application sends to the tested web server and check the server’s responses to these requests.
If the application uses one of the supported protocols (see below), LoadComplete can also provide you with access to the contents of simulated requests and responses.
The Microsoft Edge web browser does not support Silverlight; therefore, you cannot record load tests for your Silverlight application in Edge.
As a workaround, you can record load tests for Silverlight applications in Internet Explorer or any other web browser that supports Silverlight.
Load testing of a Silverlight application makes sense only if the application exchanges data with the web server during its work. If the application does not exchange data with the server, there are no requests that LoadComplete can record and play back.
There are several data transfer technologies that Silverlight applications can use to communicate with the web server:
- Using sockets.
- Using the HTTP protocol.
- Using Windows Communication Foundation (WCF) services: WCF Core Services, WCF Data Services or WCF RIA Services.
For more information on this, see http://msdn.microsoft.com/en_us/library/cc645029(v=vs.95).aspx.
LoadComplete can test Silverlight applications that use the following protocols:
Binary XML format. This format is most frequently used by Silverlight applications. LoadComplete can decode Binary XML requests, so it allows you to test Silverlight applications that use this format to exchange data with a web server. For detailed information on this, see Support for Binary XML Formats.
SOAP format. LoadComplete can decode SOAP requests and it lets you view and change their contents. For detailed information about this, see Support for SOAP Protocol (XML).
HTTP protocol. Load testing of Silverlight applications that use the HTTP protocol is like load testing of standard web pages via the HTTP protocol. In other words, you can record HTTP traffic generated by these applications and parameterize the recorded user scenarios in the usual way. See Recording User Scenarios and Editing Scenarios.
Other protocols. LoadComplete also supports other protocols that a Silverlight application uses to exchange data with web servers. If LoadComplete detects that a request corresponds to one of these protocols, it provides you with access to the request and response contents. For more information, see the topics of the Supported Protocols and Data Formats section.
Support for a protocol means that LoadComplete can --
Retrieve individual values from server responses’ bodies.
Encode values into requests that go to the tested web server.
This feature enables you to parameterize simulated requests and pass data from earlier requests to later ones. For complete information on this, see Parameterizing Rich Internet Application Traffic.
In Silverlight applications, the traffic may contain individual Binary XML, SOAP and other requests rather than web pages. As a result, by default, the recoded traffic may include a long list of requests, and it may be difficult to view and analyze it.
To make the traffic easier to understand, you can wrap the recorded JSON and XML requests into custom pages. For more information on this, see Defining Custom Pages.
Using custom pages brings one more benefit: you can use LoadComplete features for randomizing web pages’ think time and make virtual user behavior closer to real user activity. For information on the think time settings, see Setting Page Think Time Behavior.