Citrix performance testing overview

HCL OneTest™ Performance Extension for Citrix Presentation Server allows you to test the performance of Citrix applications.
Informative performance test results rely upon sound test development. Each of the following stages contributes to generating meaningful test results:
  • Test creation. You create your test by recording a session with the Citrix XenApp client. Typically, the recorded session starts when you log in to the Citrix server. You then interact with the application to produce a relevant performance test. The session ends when you log out. The recording is split into window events and contains keyboard and mouse interactions with the Citrix server. You can use the Citrix Recording Control window to add screen captures or comments. You can add image synchronizations to help the test remain synchronized with the server.
  • Test editing. After recording, you can edit the events in each window element. Because the recorded input is primarily made of low-level keyboard and mouse input, you can streamline the test by, for example, replacing key-press events with string inputs. You can use the comments and recorded screen captures to make navigating through the test easier. You can replace recorded test values with variable test data, or add dynamic data to the test. You can also set verification points on window titles or image synchronizations to validate that the application behaves as expected.
  • Test validation. Before deploying the test, you can run the test manually as a single virtual user to make sure that the test synchronizes user input actions and server output correctly in a nominal environment with minimal server load. You might experience multiple test editing and validation cycles before your test runs as expected.
  • Workload emulation with schedules. When the test runs repeatedly as anticipated, you specify an execution schedule and user groups to emulate a workload that is generated by a large number of virtual users.
  • Schedule execution. You run the schedule, deploying test execution over virtual users that can be hosted on remote hosts. Each virtual user runs an instance of the Citrix client.
  • Evaluation of results. You evaluate the results produced by the tests through the various reports that are generated during execution. You can also design custom reports.


Before you can test the performance of Citrix applications, a Citrix XenApp client must be installed on the same computer as HCL OneTest Performance. The Citrix XenApp client is required for recording and execution of performance tests.

Ensure that you have a working Citrix client environment and that you can connect to a Citrix server. Citrix xenDesktop 7.8 and Citrix Receiver 4.5 or 4.6 can be used with HCL OneTest Performance.

If you are deploying tests over remote computers to emulate a large number of users, the following software must be installed on each remote computer:
  • The Citrix XenApp client
  • The HCL OneTest Performance Agent


Citrix performance tests use window creation and change events, and optionally image recognition techniques, to synchronize user input with server output. Before you record a session with a Citrix application, the behavior of that application must be perfectly reproducible. Specifically, the application must always create windows and GUI elements at the same locations and in the same sequence. Mouse or keyboard events must always produce the same output. Consider these examples:
  • If the application displays windows or dialog boxes on only the first execution of a particular program or feature, such as tips or security warnings, ensure that they are disabled when you record the test. Any windows or dialog boxes that were recorded but are not displayed on subsequent executions, or displayed at different coordinates on the screen, will fail the test and cause synchronization timeouts.
  • If you save a file during a recorded session, the application might issue a warning for an existing filename when you replay the tests. If the warning was not in the recorded session, this will fail the test and cause errors.

It is essential to be aware of the context of user actions when you edit a test. Because the Citrix performance tests interact with the Citrix XenApp client at a very low level (mouse movements and key presses) any changes that you make to the test after the recording, such as moving test elements, adding loops or conditions, or inserting new sequences, can alter the context of the emulated user actions and cause synchronization timeouts.