One of TestComplete benefits is its open COM-based architecture, which lies behind its entire functionality. In fact, everything that is visible in TestComplete (panels, program objects, etc.) is implemented as plugins. For instance, support for script debugging is implemented in several dynamic link libraries that are located in <TestComplete> subfolders. TestComplete loads these DLLs when starting, so debugging looks like a built-in feature. Some of the TestComplete functionality, for instance, Unit Testing is implemented as a plugin that can be activated or deactivated (you can activate and deactivate it using the Extensions dialog). All of these plugins are located in the <TestComplete>\Bin\Extensions folder.
Of course, you can create your own plugins that fit your needs. Usually, these will encapsulate new functionality in one or several objects and expose these objects for use in scripts in the same way the Unit Testing plugin exposes the
UnitTesting object for scripting.
SmartBear provides TestComplete 14 SDK that includes a number of samples that demonstrate how to create custom panels, program objects and project items, as well as documentation for these samples. TestComplete 14 SDK is available for free download from –
You can find detailed information about TestComplete SDK in the SDK help file that you can find in the <TestComplete>\Help folder after installing the SDK package:
A possible alternative to plugins is script extensions. By using script extensions you can create custom program objects and add new items to the Recording and Tools toolbars. These items can perform various tasks. For instance, they can put the tested application back to its initial state or create checkpoints. You can create these extensions by writing VBScript or JScript code.
Using the plugins you can extend almost any subsystem of TestComplete. However, to create a plugin you need Visual Studio or Delphi programming experience. With script extensions you can extend the Recording and Tools toolbars and the object model, however, the creation of script extension is much easier and does not require a programming background. See Script Extensions.