Features Added to TestComplete 12.0

Applies to TestComplete 15.63, last modified on April 23, 2024

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

JavaScript Support

TestComplete 12 adds JavaScript (ECMAScript 6) as a new scripting language for writing automated tests. You can record, write, run, and debug tests written in JavaScript.

JavaScript in TestComplete is powered by the V8 engine – the same engine that is used in Google Chrome and Node.js. For the usage specifics, see JavaScript - Specifics of Usage.

Note that TestComplete 12 still supports JScript – Microsoft’s implementation of the ECMAScript 3 standard. Although JScript and JavaScript have similar syntax, they appear as different languages in TestComplete, because they have different language features and use different engines. JScript is outdated as compared to JavaScript, and does not include the language features that JavaScript got in the recent years. We recommend that JScript users use JavaScript for new projects.

Existing JScript projects can be converted to JavaScript, however, the code itself is not converted automatically and may need to be edited manually. For details about converting JScript projects, and for the differences between JScript and JavaScript, see JavaScript for JScript Users.

Oracle Forms Support

TestComplete 12 supports testing of Oracle Forms 11g and 12c. Now you can record and play back tests for Oracle Forms applets that are embedded into web pages or launched with Java Web Start. It recognizes controls in Oracle Forms screens and provides specific methods and properties for simulating user actions on these controls. Also, TestComplete exposes native members of Oracle Forms objects and makes them available for calling in your tests. For more information, see Testing Oracle Applications and Supported Oracle Forms Controls.

Web Testing Improvements

  • Improved test playback performance in Google Chrome, specifically the object search speed. Object Spy now also captures web page objects in Chrome faster.

  • Support for Chrome 52 and Firefox 46–47.

  • Access to links in Bootstrap alerts. Test objects for Bootstrap Alert and AngularUI Bootstrap Alert got new methods and properties for automating actions against links in the alert text: ClickLink, wLinkCount and wLinkText.

  • Chrome extension SmartBear TestComplete Extension has been renamed to SmartBear Test Extension.

Android and iOS Testing Improvements

  • Mobile web testing on real devices. Now you can use TestComplete and a mobile browser (SmartBearBrowser) to create automated tests for web applications on real iOS and Android devices. The SmartBearBrowser application is part of the TestComplete Mobile module. For information on installation and usage, see Mobile Web Testing on Real Devices.

  • Auto-instrumenting Android MultiDex applications. In previous versions of TestComplete, you could make MultiDex applications testable only by changing the application code. Now TestComplete can instrument MultiDex apps automatically when you add them to TestedApps. This means there is no need to build a new .apk file for testing, you can test the original .apk file.

  • Support for iPhone SE and 12.9-inch iPad Pro.

Overall Improvements

  • Smarter support for source control systems. We have re-engineered the format of TestComplete project files to make it easier for you to merge file changes when pushing files to your source control repository. The new format reduces the number of merge issues that may occur during automatic merging.

    The new project file format used in ver. 12 is incompatible with the previous versions of TestComplete. When you open an existing project in TestComplete 12, you will be prompted to convert it to the format used in ver. 12. Before conversion, you have the option to create a backup of the project, so you can go back if needed. See Migrating Projects Created in Earlier Versions to TestComplete 15.

  • Better troubleshooting of “Object not found” errors. TestComplete reports "an object not found" error when it fails to find a test object in the system. Version 12 makes it easier to fix these errors:

    • When possible, TestComplete automatically finds a window or control that is similar to the missing window or control and suggests updating recognition properties to make your test use the similar window or control. You see these suggestions as Object recognition hint messages in the test log before the “Object not found” error messages:

      Automated testing with TestComplete: New 'Object recognition hint' message in the test log
    • If you use Test Visualizer for your tests, TestComplete posts an image of the missing object to the test log. Also, TestComplete posts an image of a possible candidate (an object that is similar to the missing object). You can see both images on the Picture tab of the test log.

  • Choosing a search algorithm for Find methods. You can now choose between the depth-first and breadth-first search orders for Find methods. To do this, use the project property Object search strategy, or the runtime property Options.Run.ObjectSearchStrategy. Depending on your application’s object hierarchy, changing this option can make searching for objects faster.

  • Better recognition of Direct2D text. A new algorithm for text recognition can help you identify text objects in Direct2D-based applications that are not identified when the default Text Recognition settings are used. This new algorithm can be enabled for the selected applications by adding the applications to the Extended support list in the project’s Text Recognition settings. For more information, see Enabling Extended Text Recognition for Applications That Use Direct2D.

  • Filtering MSAA objects by window caption. The MSAA engine option List of accepted windows now accepts not only window class names, but also window captions in the format WndClass;@text=WndCaption. This lets you use the MSAA engine to identify the selected objects of a specific class.

  • The new scripting object WshShell is a wrapper for the Windows scripting object WScript.Shell. It allows you to access the methods and properties of WScript.Shell with less code. For example, instead of:

    Sys.OleObject("WScript.Shell").Run("command line")

    you can now use:

    WshShell.Run("command line")

  • Support for .NET Framework 4.6.1. You can automate testing of .NET and WPF applications that target .NET Framework version 4.6.1.

  • Improved Python support:

    • Objects now have __getprop__, __setprop__ and __callmethod__ extra methods to get or set a property value and to call a method. __getprop__ and __setprop__ can be used to access parameterized properties like property[param1, param2] using the default parameter values.

    • Previously, the TestComplete Inspect window displayed methods and properties of native Python objects on the same tab – Properties. Now, TestComplete differentiates between the methods and properties of these objects and shows methods on the Methods tab.

    • Also, previously methods and properties of native Python objects were visible in Advanced view mode only. Now, these methods and properties are visible in Basic view mode, as well.

  • Improved Code Completion performance. Code Completion now loads data in a separate thread, so it will no longer hang while retrieving object properties and methods. You can continue typing code while the member list is being loaded.

  • You can now add Java Web Start applications to your project’s Tested Applications collection and run these applications from tests.

  • You can now see notifications and announcements about upcoming free product training sessions, upcoming webinars, latest TestComplete updates, and new offers – directly inside TestComplete. You can enable or disable announcements in the TestComplete options, under the General | User Interface category.

  • We have fixed a number of bugs reported by our customers.

Better Integration Into QA and Build Processes

  • Improved integration with QAComplete test management system. You can now easily export your TestComplete projects, project suites or specific tests to the SmartBear QAComplete test management system. This will create a test in QAComplete Test Library associated with a specific TestComplete project or test. For details, see Exporting TestComplete Tests to QAComplete.

  • Enhanced TestComplete Jenkins support. Now you can specify arbitrary command-line arguments for TestComplete or TestExecute when configuring the TestComplete test step.

  • Smarter integration with Quality Center. HP Quality Center Connector can now run imported TestComplete tests with TestExecute by default. You no longer need to modify Connector scripts manually to run TestComplete tests imported to HP Quality Center with TestExecute. If the computer where you run tests has TestExecute installed, the Connector will use it to run tests.

Improved Support for Third-Party Controls

TestComplete 12 adds support for the following versions of UI control libraries:

  • Telerik Q1 2016 controls for Windows Forms

  • Developer Express controls for Windows Forms ver. 15.2 and 16.1 (see the known issues for ver. 16.1)

  • Yahoo! User Interface Library (YUI) controls ver. 3.15 - 3.18.1

  • Sencha Ext JS controls ver. 6.0.2

  • Google Web Toolkit (GWT) controls ver. 2.6.1 and 2.7.0

Known Issues

DevExpress XtraGrid controls v. 16.1: ClickCell methods may be unable to click cells that are currently not visible in the grid. To work around the issue, scroll the grid explicitly to make the target cell visible.

Discontinued Support

TestComplete no longer supports Firefox versions 39–44.

See Also

Version History

Highlight search results