Features Added to TestComplete 4.20

Applies to TestComplete 15.10, last modified on December 01, 2021

This topic describes the changes made to TestComplete 4.20. For information on the changes made to other versions of the product, see Version History.

  • DUnit support. Now you can call DUnit tests from your TestComplete projects the same way you call MSTest, JUnit and NUnit tests. See Running DUnit Tests.

  • Enhanced support for testing of modal windows. The new Runner object method - Runner.CallObjectMethodAsync - lets you call program object functions asynchronously (that is, the method does not pause the script execution until the called function returns). This feature is especially useful for testing modal windows, since the script code that follows CallObjectMethodAsync can be used to simulate user actions in the modal window that is displayed by the called function. See Testing Modal Windows for more information.

  • Test log printing. Now you can print test logs directly from TestComplete. The printing subsystem also includes services for previewing the printed report. See Printing Test Results.

  • Version 4.2 contains new built-in functions - EnumProperties, EnumMethods and EnumEvents - that let you enumerate properties, methods and events of an object. Each of these methods return an enumerator object that lets you iterate through object methods, properties and events correspondingly and check the method, property or event parameters and attributes.

  • A new WaitProperty method has been added to all program objects that correspond to processes, windows, controls and application objects. This method lets you pause the script execution until the specified object’s property becomes equal to the specified value or until the specified time limit elapses. This method makes scripting simpler, since it helps avoid the creation of waiting loops in your script code.

  • The Name Mapping subsystem has been improved:

  • Data-driven testing program objects have been modified. The DDTDriver object has a new Name property that lets you assign a custom name to the driver. The DDT object contains a new DriverByName method that lets you obtain a driver object by its custom name.

  • The Step Description dialog (this dialog displays descriptions for manual testing steps) contains a new toolbar button () that lets you skip the step execution.

  • The Win32ToolBar object contain new ClickItemR, DblClickItemR and ClickItemRXY methods that let you simulate clicks and double-clicks of the right mouse button over toolbar items.

  • The TestComplete OLE interface has been improved. The Integration object contain a new RunProjectTestItem method which allows you to call test items via COM.

  • Now TestComplete automatically turns off the state of the Caps Lock key when you start recording or playing back a script. This ensures that TestComplete correctly simulates upper-case and lower-case keystrokes.

  • The Sys.Keys, Desktop.Keys and OnscreenObject.Keys method’s Keys parameter now supports a new [Altxxxx] constant. The constant is used to simulate pressing the Alt key and typing numeric keys on the numeric keypad. x specifies a pressed key (0..9). Using this constant you can simulate entering of various national characters.

  • Now you can use environment variables (%USERPROFILE%, %SYSTEMROOT%, %WINDIR% and others) when specifying the path for tested applications.

  • The Visualizer dialog has been changed: now the dialog is modeless; the Cancel button has been removed from it and when you remove an image in the dialog, the image is automatically removed from the Code Editor’s gutter and from the disk.

  • The Options object now provides scripting access to the Object tree model project’s option (to check the option's state from scripts, use the Options.Project.General.TreeModel property).

  • Two new methods FindChild and FindAllChildren have been added to the Sys, process, onscreen and window objects.

  • The Log object has a new AppendFolder method. It creates a folder in the test log and activates this folder in such a way that this method works as a combination of the CreateFolder and PushLogFolder methods.

  • A number of bugs have been fixed.

See Also

Version History

Highlight search results