Error Detection

Failure to handle dynamic data does not always generate error messages during script replay. This is because the Siebel Web Server does not use HTTP error status codes to indicate errors. Instead, it sends error notifications to the applet, which in turn displays an error message indicating the condition.

This may lead to a false impression of successful replay when in fact load generated on the database tier of the application was different, more than likely less, than it should have been.

The example below shows an HTTP response body sent from a server to a Java applet that describes an error condition. Such a response is returned with the HTTP status code 200 OK, falsely suggesting that the HTTP request was handled successfully.

Error Condition Response Sent from Server to Applet

@0`0`3`2``0`UC`1`SWECount`10`Status`Error`0`1`Errors`0`2`0`Level0`0`ErrMsg`An error happened during restoring the context for requested location`ErrCode`27631`0`0`Notifications`0`

Application Level Error Detection in Recorded Scripts

Silk Performer scripts can detect such application level errors. The Web Recorder generates scripts that contain such checks by adding the lines highlighted in the example below:

use "WebAPI.bdh"
use "SiebelWeb.bdh"

// ...

  transaction TInit
  begin
    WebSetBrowser(WEB_BROWSER_MSIE55);
    WebFormDefineEncodeCustom("base=ENCODE_FORM;"
                              " +'@'; -'!()$,'; -'''");
    SiebelWebInit();
  end TInit;