Note: This topic applies to Web (HTTP/HTML), Mobile Application - HTTP/HTML, Flex, and Web Services Vuser scripts.
Web-based applications can exhibit synchronous behavior, asynchronous behavior, or a combination of both. For an introduction to these behavior types, see Synchronous and Asynchronous Concepts. LoadRunner enables you to build and run Vuser scripts that emulate user activity for both synchronous and asynchronous applications. To build a Vuser script for a synchronous application, follow the typical LoadRunner Vuser script building process. However, to build a script for an asynchronous application, you must perform some additional tasks - beyond the typical Vuser script building process. If you record and generate a script for an application that performs asynchronous behavior - without performing the additional asynchronous-related tasks, the script may not run successfully.
Building a Vuser script for an asynchronous application begins with recording the business processes that produce the asynchronous communication. After the business processes are recorded and the Vuser script is generated, VuGen scans the generated Vuser script and attempts to locate the asynchronous communication. If asynchronous communication is detected, VuGen modifies the script - inserting the appropriate asynchronous API functions.
In order for VuGen to be able to successfully identify the asynchronous behavior in a Vuser script, the asynchronous communication must contain at least the required minimum number of request and response sequences.
Identifying a poll-type conversation
To enable VuGen to successfully identify a poll conversation, the recorded Vuser script must contain at least 3 sequences with matching URLs and similar polling intervals.
Identifying a long-poll type conversation
To enable VuGen to successfully identify a long-poll conversation, the recorded Vuser script must contain at least 3 sequences with matching URLs.
Note: VuGen will scan a script for asynchronous communication only if the Async Scan recording option is selected. For details, see How to Create an Asynchronous Vuser Script.
In some scenarios, the modifications that VuGen makes to the Vuser script are sufficient to enable the script to run and emulate the required asynchronous behavior. In other scenarios, additional "manual" modifications are required. For details, see How VuGen Modifies a Vuser Script for Asynchronous Communication.
Note: the modifications that must be made to a generated Vuser script to enable the script to emulate asynchronous behavior are dependent on the type of the asynchronous behavior: push, polling, or long-polling. For details, see Types of Asynchronous Communication.
Asynchronous communication in a Vuser script is divided into one or more conversations. The individual asynchronous conversations that VuGen detects in a Vuser script are listed in the Async tab of the Design Studio. Use this list of asynchronous conversations to systematically analyze the modifications that VuGen made to the Vuser script to make sure that VuGen has correctly identified the asynchronous behavior, and correctly modified the Vuser script to emulate the required asynchronous behavior. For details on the Async tab of the Design Studio, see Async Tab [Design Studio].
After modifying a Vuser script to enable it to emulate asynchronous communication, it may be necessary to perform correlation activities on the modified script. For details about correlation, see Correlating Asynchronous Vuser Scripts.
Note: Async functionality is not supported when you replay a Vuser script in WinINet mode.
For details on how to build a Vuser script for an application that utilizes asynchronous communication, see How to Create an Asynchronous Vuser Script.