When to use Page-level Emulation instead of the Browser-level Emulation when recording a Script.
Borland recommends using the "Page-level" Emulation when recording a new web script in Silk Performer. The primary reason for this is to take advantage of the "Context Management" feature which is provided when recording at this level. Context Management maintains the session state of a user within the API calls in the BDF script; this means that session information is managed automatically in that Session Ids, embedded objects etc are all parsed from the server response if they need to be used in subsequent BDL requests.
It is important to note that Page-level functions focus on Web pages rather than on single documents; this means that all embedded objects (i.e. GIF"s; JS pages etc) of a single Web Page are requested from the server in the single encapsulated BDL function. Some examples of functions which are generated at Page based Level are "WebPageUrl, WebpageLink and WebPageSubmit"; detailed information on each of these functions can be found in the online help which ships with Silk Performer.
Recording at the "Browser-level Emulation" means you loose the Context Management benefits which means that no automatic parsing for Java Script pages or session id"s will be performed by the Silk Performer replay engine. Instead recording at Browser-based level will result in each individual page, object or link being requested in sequential order by its own BDL function (such as WebUrl); also, many Browser Level calls result in sending a request and not waiting for a response before the next subsequent call is executed.
Below is a list of the various types of scenarios which best suit using the Page-level functions:
- When your Web pages contain dynamically embedded documents.
- When you do not want to care about session handling or when pages contain lots of session information that would require many WebParseResponseData function calls to maintain the session during replay.
- When your server requires the "referrer" header to be set dynamically.
- When your load balancer redirects the client to different servers dynamically.
- When you want to use automatic verification for a page that checks whether the context between pages can be maintained.
- For shorter, easy-to-read scripts.
When to use the Browser-level functions instead:
- When you need to generate a higher level of throughput per virtual user.
- When your application is not Web-browser-based, for example, multimedia clients that use HTTP for communication but do not use HTML.
- When maintaining context between pages is not relevant.
The Browser Emulation level can be set in Silk Performer by going to:
SETTINGS | ACTIVE PROFILE | RECORD | WEB | RECORDING | BROWSER EMULATION LEVEL