Windows Robot

Performance & Load Testing Thick Client Applications

Windows Robot module let you create, modify and validate automation of windows user’s actions in a Windows session. Windows Robot (WR) Scripts can be incorporated into jobs.

Windows Robot Scripts represent the recording of windows user’s actions. The recording process interfaces directly with the Quotium Script Editor and generates Visual Basic .Net language scripts. It gives you full control over their content and behavior.

Windows Robot provides a comprehensive set of objects and methods that let you :

  • Simulate mouse and keyboard user interaction
  • Fill input data
  • Control application response through windows content interpretation and desktop
  • layout with image search capabilities

These scripts can be enhanced with most of VB .Net features. Recording and playing are through Remote Desktop sessions. Using Windows Robot need TSE functions on Windows servers.

Creating Scenarios

Windows Robot allows you to record a transaction based on
the GUI. It provides a comprehensive set of objects and methods that
allow you to:

  • Simulate the interaction between the user’s keyboard and mouse
  • Fill in input data
  • Control the response of the application through the interpretation of the contents of the windows and the desktop
  • Have a layout with image search capability

User Journeys

User paths or scripts are generated in the same interface as standard Qtest web scripts

Transactions are recorded by pressing the record button

QTest then establishes a connection to the target server where Windows Robot captures mouse movements, mouse clicks, keystrokes and additional control information easy input using the key preset


  • The generated VBA script can be edited using QTest Script Editor.
  • These can be certain attributes such as customer numbers or other field names that may need to be extracted from a data file•
  • When testing, the transaction is synchronized using bitmaps, window changes or text captures made during the recording process, this means that the transaction will wait until he sees something the screen he saw during capture rendering for a robust playback.

Test Execution

During the test transactions are replayed via the user interface of the application

By using one or more Windows sessions as injectors, many instances of the client application can be run by Windows Robot at the same time.

Measured response times are more accurate because they include the time it takes for the client application portion of the tested system to render the raw data received at the protocol level.

Execution and reporting

  • Once the script is ready to be used in a test, the console allows complete visibility of each virtual user
  • Quotium Center then consolidates the results of back-end monitoring and response times into a single set of results, as would be done with a web test in QTest.
  • These results can be visualized in the tool or can be used to generate a report

Load Testing of VDI Infrastructures Scenarios

  • The Windows crawler generates load by establishing many Remote Desktop connections to a remote desktop or Citrix server where the target application is installed
  • On this server, a small Windows Robot agent is also installed.
  • This agent directly manipulates the target application based on the instructions it receives from Quotium Center, which in turn is instructed by the running scripts.
  • As a result, a load is generated against the back end of the system
  • QTest then gathers all the statistics of the servers and systems tested to provide an accurate report on the results of the load test.
  • In another configuration shown above, the model uses a Terminal Server only as an injection machine.
  • This machine then manipulates a Citrix client (or other type of infrastructure) directly through the GUI.

There are two reasons why this configuration can be chosen:
1 ) The VDI server (Citrix or otherwise) is not subject to the small amount of load that the Windows robot creates when it runs.
2 ) It is important to know the performance of the Citrix protocol (Microsoft Azure or any other technology) on the network.

Load Test Thick Client, Citrix & Terminal Server Part1

Load Test Thick Client, Citrix & Terminal Server Part2