Citrix performance testing guidelines

Citrix performance tests use synchronization mechanisms to replay the tests on multiple Citrix sessions independently of server performance.

These guidelines will help you record a reliable test and avoid synchronization timeouts during test execution.

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.

The most efficient recording method is to specify a published application or a server in the recording wizard. It is preferable to specify your login credentials in the wizard instead of recording the login sequence as part of the test.

Ensure that the session that you are recording will be reproducible. To record tests that can be reliably replayed, follow these guidelines:
  • If you save a file during a recorded session, when replaying the tests, some applications might produce a warning for an existing filename. If the warning was not in the recorded session, this might break the test and cause synchronization timeouts.
  • Do not use the mouse wheel to scroll when recording Citrix tests. Mouse wheel events are not recorded and will result in synchronization timeouts on execution.
  • Anticipate and make provisions for avoidable warnings and unrecorded windows and dialog boxes. For example, if you save a file while recording, the test will try to save the same file during the replay. Although the file might not exist during the initial recording, it does after recording. Attempting to save will generate an overwrite warning and cause synchronization timeouts.
  • Disable or turn off warnings, windows, and dialog boxes that are displayed during the first start of an application. These items will be captured during the recording, but they might not be displayed in subsequent application starts. This will cause synchronization timeouts.
  • Use dedicated test user accounts for performance tests. Ensure that the user accounts have minimal potential to cause problems if unpredictable mouse events occur outside of the application window after a synchronization timeout.
  • Set up the test accounts and applications to minimize unpredictable window events, such as new mail notifications, automatic updates, or daily tips. Disable extensible menus and hover text tooltips when possible.
  • Ensure that all computers used for recording and playback of Citrix tests use the same international settings and character sets. Different locales can cause some characters to be unavailable or keyboard inputs to be incompatible.
  • To launch applications from the desktop, use the Quick Launch bar, desktop shortcuts, or select Start > Run and enter the name of the application. Do not launch applications or open files from locations that are likely to change, such as Favorites, Recent Files, or other dynamic menus.
  • When using cascading menus like the Start menu, always wait for a moment for the submenu to display. After the recording, when editing the test, look at the mouse sequences that were generated to ensure that they follow the correct path to display the submenu.
  • When recording your tests, before interacting with a window or dialog box, click the element to ensure that it gets focus, then provide input.
  • When an application is busy, for example when the mouse cursor is a sand glass, avoid using the mouse or attempting to perform other operations.
  • After recording a session, some applications require user input before quitting (for example, to record any changes). This can cause discrepancies between the state of the application at the end of a session and at the beginning of a test execution. To avoid problems, at the end of a recording session, close all applications manually and cleanly end the session by clicking Stop or Close on the Citrix Recorder window, rather than from the Start > Log Off menu.
  • To ensure long duration schedules are run without issues such as test log transfer not completed, Citrix Online Plugin or Receiver crashes when virtual users are ramping down, and Citrix processes remaining, you must select the Uninterruptible iteration check box for the loops. When you use this option, you must increase the value of Time limit for a user to respond to a stop request in the User Load tab of the schedule as per the requirement.

After recording, and while you edit the test, it is important to perform regular verification runs in order to validate the test with a single user. After each run, open the test log to make sure that the test synchronizes correctly. If necessary, change the synchronization level from Mandatory to Conditional or Conditional to Optional on window events or image synchronizations that produce unnecessary timeouts. Only deploy the test on virtual users or run it in a schedule when the test is robust enough to run flawlessly with a single user.

HCL OneTest Performance Agent requirements

When you install HCL OneTest Performance Agent, by default, the agent starts as a service. To use the agent for Citrix recording, it must run as a process. For Windows, open Windows Services. If the MajordomoService is set to Automatic start up, set it to Manual and then stop the MajordomoService. You can now open the Majordomo folder from the HCL OneTest Performance Agent installation path and double-click Majordomo.bat.

Optical Character Recognition

You can use optical character recognition when performing image synchronizations. This allows the test to synchronize itself by recognizing the contents of a screen area. In some cases, the software can fail to correctly recognize portions of text or letters.

To improve results of the optical character recognition, follow these guidelines:
  • Use preferably high contrast screen areas where the text is clearly separated from the background.
  • Select text areas with a homogeneous font size, style, and color. Mixing text styles will produce poor results.
  • Try changing the OCR language, OCR zoom factor, OCR brightness, OCR recognition rate or settings in the image synchronization test element. You can change the default values for these settings in the Preferences > Test > Test Generation > Citrix Test Generation window.
  • If the test produces image synchronization timeouts because of inconsistent text recognition, open the Image Synchronization view in the test log, and add click the Add value button to add the unrecognized text as an alternate synchronization value.
  • In some cases, it might be more efficient to use the bitmap hash code method for image synchronization, instead of optical character recognition.

When recording image synchronizations with optical character recognition, accuracy of the recognized text is not essential. It is only important that the recognized text is consistent each time the test is executed for the test to synchronize. For example, if a portion of text is displayed as "Hello" on the screen, and recognized as "He110" in the recorded test, you should not attempt to correct the value in the image synchronization test element, because the same result should occur when the test is executed for the test to synchronize.

Long duration test runs

When running long duration test schedules that exceed 24 hours, use the long run mode to reduces resource consumption with the Citrix client. This mode increases the reliability of long duration test runs by running the tests in multiple process. You must enable this option for each user group in the schedule.

In long run mode, a new process is created for each virtual tester.