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.