Extending the test recorder

To generate a test, the data exchanged by an application and another entity such as a server must be recorded. The recorded data is then processed to generate a test.

Data is recorded in a recording session. In a recording session, clients are launched in parallel with recorders that capture the data that the clients and the servers (or other external entities) exchange. All data that is captured during a recording session is stored in a file.

You can contribute to the recording framework in several ways:

  • By defining a new kind of captured data. Captured data is implemented as recorder packets. You can define a new type of recorder packet in which to store relevant information for a specific kind of captured data. The product comes with a set of recorder packet types. The packet types include proxy packets, socket packets, HTTP packets, SAP packets, and Citrix packets.
  • By developing a new recorder to capture a new kind of data or to use a different recording technique. The product comes with a set of recorders. The bundled recorders include the HTTP proxy recorder, the SOCKS proxy recorder, the socket recorder, the SAP Recorder, and the Citrix recorder.
  • By developing a new client whose data will be recorded. A client is not necessarily an application, but rather the ability to start an application. The product comes with a set of clients. The clients include: Application, Manual, Microsoft Internet Explorer, Mozilla Firefox, Apple Safari, Opera, Google Chrome, Generic Service Client, SAP client, Citrix client, and TN3270 client.
  • By defining a new recorder-client binding. A recorder-client binding declares that a recorder is able to capture the data that a client sends or receives. A recorder-client binding can also define a client decorator, which configures a client so that the client can be recorded by the recorder. For example, the product comes with a decorator that can modify Internet Explorer settings so that the browser sends its traffic through a proxy recorder.

After the recorder framework has been defined, the user interface (UI) can be extended so that the new recording components can be used. The following elements are extensible:

  • Packet types, recorders, and clients. You can assign specific icons to these elements.
  • Wizards. You can define wizards for configuring a specific client, a specific recorder, several recorders together, or a client and several recorders together.

The recording framework has three main UI contributions:

  • The New Recording Session wizard. With this wizard, you can select the client to use, and then select the recording technique (in other words, the recorder), and finally set the configuration details for the client and the recorder. Extensions can contribute to this wizard. For more information, see Defining wizards for recorders and clients.
  • The Recording Control view. This view shows the active recording session and the recorders and clients that are involved. This view shows a summary of captured data, and messages that the recorders and clients have issued. Extensions can contribute to labels and icons that are displayed in this view. Any user message that a recorder or a client sends is also displayed in this view.
  • The Recording Session Editor, which opens when you double-click a recording session (.recsession) file. The editor shows the same information as the recording control view, but includes more details about the captured data. Extensions can contribute actions, labels, and icons to this editor.