About Testing Applications in Low-Level Mode

Applies to TestComplete 14.50, last modified on April 22, 2021
Information in this topic applies to desktop and web applications.

In normal recording mode, TestComplete captures only meaningful high-level test actions, such as button clicks or item selections. It does not capture pauses between events. It locates events by the affected control or by the relative coordinates in its client area. This is the preferred way of recording tests.

In certain cases, however, you may need to record detailed low-level mouse and keyboard actions: all mouse motions, mouse clicks, mouse wheel events, keyboard events as well as the delays between these events. This recording mode is called Low-Level Mode and the resulting tests - low-level procedures. These tests play back actions at the same speed as they were recorded. Such low-level procedures are necessary when you need a test that performs the exact sequence of keyboard and mouse actions specified by precise window or screen coordinates with all delays between actions. If you need to create a test that records all delays between user actions, but does not support detailed low-level mouse and keyboard actions, use the Real-Time Mode for testing.

A low-level procedure consists of a sequence of events, such as Mouse Move, Mouse Down, Key Down and others, each event having a number of parameters such as the screen coordinates, virtual key codes, event duration and so on. See Low-Level Procedure Events for more information.

Low-level procedures can be recorded in screen-relative or window-relative coordinates. A window-relative procedure simulates actions within a specific window and does not depend on the window position on screen. Screen-relative procedures can simulate actions over multiple windows at once, but are sensitive to window positions. See Window- and Screen-Relative Low-Level Procedures.

To create a low-level procedure, you can add it to the Low-Level Procedures collection in your project manually, or you can record the low-level procedure using the Record Low-Level Procedure (window coordinates) or Record Low-Level Procedure (screen coordinates) commands on the Recording toolbar. For more information on this, see Creating and Recording Low-Level Procedures.

TestComplete provides Low-Level Procedures Collection project items for managing low-level procedures. A project can contain one or more of these collections, each collection holding one or more low-level procedures. Low-level procedures can be added to and removed form the collections as well the collections can be added to and removed form TestComplete projects. For more information on adding and removing project items, see Adding and Removing Project Items and Their Child Elements.

A low-level procedure can be played back as a test item, or it can be called from a keyword test or a script. To learn how to execute low-level tests, see Running Low-Level Procedures.

See Also

LLPlayer Object
LowLevelProcedure Object

Highlight search results