This topic describes the changes made to TestComplete 6.0. For information on the changes made to other versions of the product, see Version History.
Extended Support for Grid Controls
Improved Support for .NET Applications
Improved Support for Java Applications
Changes in Visual C++ Open Applications
Tested Applications Enhancements
One important note before you proceed further with this topic:
The TestComplete 3 Compatibility plugin is no longer included in the TestComplete installation package. You can download this plugin for free from our web site (http://support.smartbear.com/downloads/testcomplete/plugins/). After the plugin is downloaded, you install it in TestComplete the same way you would with any other plugin. See Installing Extensions for details. |
Overall Improvements
-
Support for 64-bit applications. With TestComplete 6 you can now test 64-bit applications. You do this in the same way you test 32-bit applications. That is, you can simulate user actions over the tested applications using the same scripting objects, methods and properties. The scripting engine also has access to internal objects, methods and properties of 64-bit applications and you can change the properties and call the methods from scripts. For more information, see Testing 64-bit Applications.
-
Checkpoints. TestComplete 6 includes special dialogs and wizards that simplify the creation of checking and verifying code. Now you can create comparison code for properties, objects, files, images, databases, tabular controls, XML documents, web services and web pages. For complete information, see About Checkpoints.
-
The Log subsystem improvements. Earlier versions of TestComplete only saved the log files to the hard disk after the test execution was over. Version 6 saves the log of each test item after its run is over. This feature decreases memory consumption and lets you view results that were generated if the test execution was unexpectedly terminated.
-
Filters in the Object Browser. The Object Browser now contains a toolbar with new buttons that control the visibility of processes in the Object tree and leave only the processes you are working with. For instance, you can choose to view only the applications under test in the Object tree. Also, you can now define the order in which properties, methods, actions, fields and events are sorted.
-
Folders in the Project Explorer. Now you can create custom folders in the Project Explorer. This feature lets you organize project items and their child elements. For instance, you can create several folders under the Script node and place relative script units into the appropriate folders. For more information, see Organizing Items Into Folders.
-
Cloning of projects. Using a new Clone item of the Project Explorer’s context menu, you can quickly create clones of an open project. See Cloning Projects for details.
-
New action for simulating mouse wheel events. Using a new
MouseWheel
action you can simulate the mouse wheel rotations over windows and controls. -
Support for several sessions in Windows Server 2003. Several users can connect to Windows Server 2003 via the Remote Desktop and run TestComplete (or TestExecute). Despite the fact that the users are isolated from each other (each user has an individual Remote Desktop session), earlier versions of TestComplete did not support this. Version 6 is free from this limitation.
Extended Support for Grid Controls
In TestComplete 6, the support for grid controls has been dramatically improved. TestComplete includes specific program objects that provide scripting access to the most popular grid controls:
-
Microsoft DataGridView
-
Microsoft DataGrid
-
Microsoft PropertyGrid
-
Developer Express XtraGrid
-
Developer Express QuantumGrid
-
Infragistics UltraGrid
-
Syncfusion Essential Grid
-
Borland TDBGrid
These program objects provide scripting access to grids’ cells and contain methods that let you simulate user actions over the grid windows: clicking cells, expanding and collapsing rows, sorting data and so on.
Unlike previous versions of TestComplete, version 6 records scripts using these methods, which makes the script more readable and configurable. For more information, see Working With Grids.
Improved Web Testing
-
Earlier versions of TestComplete supported two tree models of web page elements: DOM and Tag. In both models it was difficult to determine the scripting object that corresponded to a web page element. For instance, it was more difficult to work with table cells.
TestComplete 6 includes a new Tree model that solves this problem. This model uses a tree of scripting objects that is similar to real parent-child relationships between web page elements. For instance, cells are child objects of the table object and web page elements that reside within a cell are children of this cell. The new model simplifies how TestComplete works with web pages that use tables. For example, now you can test web pages that contain ASP.NET grids.
Also, the new model provides the fastest access to web page elements, that is, scripts created for the Tree model work faster than the scripts created for DOM or Tag models. However, the scripts created for this model are not compatible with the DOM or Tag model.
To provide a smooth transition to the Tree model, TestComplete includes another new model called Hybrid. This model combines both the DOM and Tree models. If the Hybrid model is selected, then TestComplete records new scripts using the Tree-model object names. However, old scripts that use DOM-model names are still functional. So, you can run your legacy script code without changes and use the new Tree model for new scripts.
For more information, see Tree Model.
-
TestComplete emulates Internet Explorer’s
Script
property for thedocument
object of web pages that are open in Mozilla Firefox. This property provides scripting access to the script functions located on the tested web pages and lets you call these functions from your TestComplete scripts. See About Cross-Browser Testing in TestComplete and Executing JavaScript on Web Pages. -
The
Page
object contains a newPagePicture
method, which you can use to capture the image of the whole web page (this image may include page regions that are beyond the page’s visible area and that are accessible via scroll bars). -
TestComplete projects now include a new Make Page object a child of the browser process property that controls the location of the
Page
object in the Object tree. This property only effects the Internet Explorer and Firefox browsers. If the property is enabled, TestComplete creates a copy of thePage
object and makes it a child of the iexplore or firefox process. This duplication provides easier access to thePage
object. -
Now, TestComplete includes a new
UIPage
object that provides access to internal controls and dialog boxes of the Firefox browser window. In previous versions of the tool, you could not work with the browser’s toolbars, menus and controls. -
Previous versions of TestComplete recorded mouse clicks over links, buttons, check boxes and other controls as calls to the
Click
method with coordinates. In TestComplete 6 mouse clicks over web page elements are recorded as calls to the appropriate methods (no coordinates are used).
Web Services Testing
TestComplete 6 includes specific features for testing web services:
-
Using a new Web Services project item even inexperienced users can quickly create functional tests that will call web services’ methods and check their results.
-
TestComplete includes special dialogs and wizards that let you create web service checkpoints.
-
Load testing of web services has also been enhanced. Now, TestComplete provides easier access to the contents of SOAP requests and responses.
Improved Support for .NET Applications
-
All methods and properties of .NET objects are now organized into the .NET group in the Object Browser.
-
The Object Browser will also display the parameter names of .NET objects’ methods and indexed properties.
-
Support for ordinary .NET types has been improved. This concerns properties and fields, which are declared as
System.Object
, but return an ordinary value (for example,System.Int32
orSystem.Char
). Earlier versions of TestComplete displayed these properties and fields as IDispatch in the Object Browser and to obtain the property (or field) value, you had to call helper routines or properties. Now the Object Browser displays the actual value of this property (or field) and calling the helper methods is no longer needed. -
TestComplete now supports 64-bit .NET applications.
Improved Support for Java Applications
-
All methods and properties of Java objects are now organized into the Java group in the Object Browser.
-
Support for ordinary Java types has been improved. This concerns properties and fields, which are declared as
java.lang.Object
, but return an ordinary value (for example,java.lang.Integer
orjava.lang.Boolean
). Earlier versions of TestComplete displayed these properties and fields as IDispatch in the Object Browser and to obtain the property (or field) value, you had to call helper routines or properties. Now, the Object Browser displays the actual value of this property (or field) and calling the helper methods is no longer needed. -
TestComplete now supports 64-bit Java applications.
-
Support for Java applications’ controls has been extended. Most of the major controls now have corresponding program objects in TestComplete. This simplifies the scripts that interact with Java applications. See Support for Java Applications' Controls.
-
TestComplete adds a new
SwingPopupMenu
property to all objects that correspond to Java controls and windows. -
There is a new Java group for project properties. They specify how TestComplete works with Java applications. For more information, see Project Properties - Java Options. You can change these settings from scripts by using the properties of the
Options.JavaOpenApps
object.
Name Mapping Improvements
-
Now you can map objects not only by immediate property values, but also by properties of the objects returned by the immediate properties. For instance, you can map an object by the
WndClass
property of itsParent
object, and so on. This feature also makes mapping objects of .NET, Java and WPF applications easier, since their “native” properties are of the object type. For more information about mapping object names, see About Name Mapping. -
Using a new Map Object dialog you can map the objects “on screen”, that is, by dragging the icon to the desired object. To invoke the dialog, press the new Map Object From Screen item on the Tools toolbar.
-
A new Store Code Completion Information option was introduced. If the option is enabled, TestComplete records data required by the Code Completion window when a new name mapping item is created. This allows you to see the methods and properties of a mapped object in the Code Completion window even when the underlying object is not available.
Changes in Visual C++ Open Applications
In earlier versions of TestComplete, to create a Visual C++ Open Application you had to recompile the application with debug information and with the TCClient file included. In TestComplete version 6, the file is not needed anymore. Now, to make a Visual C++ application “open” to TestComplete, you have to compile this application with RTTI and debug information. For details, see Testing Visual C++ Applications - Overview.
Script Debugger Improvements
-
TestComplete includes a new Locals panel that displays values of global and local script variables. TestComplete automatically fills the panel with variables that are available at the current execution point and frees you from adding the variables manually.
-
Using the new
PauseScript
method of theRunner
object you can pause the script execution from scripts and activate the step-by-step debugging. That is, the method works as a scripting analogue to breakpoints. See Activating Debugger From Tests for more information. -
The script debugger can now be automatically activated when your script posts an error message to the test log. To enable this functionality, select the new Pause script execution on posting an error check box in the Engines - General Options dialog.
-
With the new Add Breakpoint dialog you can now set breakpoints on the first line of script routines. You call the dialog by selecting the new Add Breakpoint by Routine item from the context menu of the Breakpoints panel.
Changes in Manual Testing
-
The ManualTesting project item has been renamed to ManualTests and reorganized. Unlike previous versions, the ManualTests project item can have more than one collection of step-by-step instructions.
-
Now you can suspend the execution of a manual test and resume the test at a later time. You can do this manually, from the manual test dialogs, as well as from scripts via the
ManualTesting.Suspend
andManualTesting.Resume
methods.Additionally, TestComplete provides two new events --
OnSuspend
andOnResume
that let you perform specific actions when a manual test is about to be suspended and resumed. -
The
ManualTestStep
object now has theInstructionsText
property that allows you to set the instructions text from scripts. This property can be very useful if you create manual tests from some structural data repository, like a database, text or Word files. -
Manual tests can now be exported to Microsoft Word using custom document templates. See Exporting Manual Tests topic for details.
-
The Test Description and Step Description dialogs were improved.
Code Editing Improvements
-
The Code Completion functionality has been improved. The Code Editor includes a new Autocompletion option. It specifies the functioning mode for the Code Completion window. If this option is on, the window is automatically invoked when you are editing script code. It contains methods, properties, functions and script statements that can be entered into the script according to the current context. This can significantly increase typing speed. If the option is off, the Code Completion window displays the entire object hierarchy (this corresponds to the mode used in previous TestComplete versions).
-
To provide the Code Completion window with data appropriate for the current insertion point, the script parser has been updated. Now it can detect variable assignments. For example, if you enter the following JScript code:
var obj = Sys.Desktop;
var obj2 = obj;
obj2.The Code Completion window, called at the
obj2.
point will display methods and properties of the Desktop object. -
Support for user-defined script routines has been improved. Now, the Code Completion window displays script routines that belong to the same unit, to which the currently edited routine belongs. Also, the window displays global variables defined in this unit.
Also, the code parameters functionality now works for user script routines.
-
When you drag a routine in the Code Explorer panel, TestComplete also moves the comments that reside before this routine. That is, it moves the preceding comments along with the routine code.
-
The Character encoding project property now has a new Auto value. When used, TestComplete will not change the format of script units when saving them. That is, the unit will have the same format as it had before opening it in TestComplete.
-
The Highlighting page of the Editor Options dialog now contains the Restore Default Highlighting button, which you can use to apply the default highlighting settings to the Code Editor.
-
In the Code Templates dialog you can sort the templates data by columns.
-
You can save the editor’s Code Templates and Highlighting settings to a file and load them from a file using the Export Settings and Import Settings dialogs.
Tested Applications Enhancements
-
The Recording toolbar contains a new item which can be used to launch one or all tested applications during script recording. When you do this, TestComplete automatically records calls to the
TestedApps.RunAll
orTestedApps.AppName.Run
into the appropriate position of the recorded script. -
The parameters of the tested application’s Simple, RunAs and Debug run modes now include a new Use relative working folder path if possible option. This option lets you choose whether to use the absolute or relative path for the tested application’s working folder.
-
The
TestedAppSimpleParams
,TestedAppRunAsParams
andTestedAppDebugParams
objects contain a newUseRelativeWorkingFolder
property that provides a scripting interface to the Use relative working folder path if possible option of the corresponding run mode.
ODT Improvements
Various elements for object driven testing that are displayed in ODT, Classes and Data editors can be copied and pasted within the same or different projects.
Changes in Network Suite
-
The list of possible Network Suite states was enhanced to provide more details about distributed testing execution.
-
The Tasks Editor was visually improved.
Changes in Source Code Control Support
-
The Source Control Options dialog contains a new Bind new items to SCC automatically option. If it is enabled, TestComplete automatically places new project items and their child elements in a source code control, where the project (or parent element) is added. If the project suite is bound with a source control system, TestComplete will also add new projects that are added to this project suite.
-
The Source Control Options dialog also contains the new Show provider messages option that specifies whether TestComplete displays the error messages it receives from the source control system.
-
If you store a project suite or one of its projects with a source code control from TestComplete, the Project Explorer panel displays small images within the nodes’ icons to indicate the node’s source control status. See About Project Explorer.
-
Now, when you check in or check out a project element, TestComplete displays a new Select Project Items dialog, where you choose the files that are affected by the operation that you are performing. Using this dialog you can check in and check out the items that are stored in several project items. Also, you can specify whether TestComplete should check in or check out the files of child project elements.
Miscellaneous
-
Support for complex WPF controls has been improved. Project properties have been extended with the WPF group that lets you specify components, whose internal controls TestComplete will expose to the testing engine. For more information, see Support for WPF Control Templates.
-
The Visualizer Images dialog now contains the Previous and Next buttons, which you can use to quickly switch to the images generated before or after the image that is currently displayed in the dialog.
-
The project’s Object Mapping Options page contains a new Add From Screen button, which you can use to select the object, whose class name needs to be mapped.
-
The
DDT.ExcelDriver
method contains a new UseACEDriver parameter that specifies whether the method uses the ACE driver to connect to Excel sheets. The ACE driver provides support for Excel 2007. -
The
Runner
object contains a newSetObjectPropertyAsync
method, which you can use to assign values to properties of Open Applications’ objects asynchronously. This feature is useful, if the property’s set method displays a modal dialog box and you need to simulate user actions over this box. -
TestComplete has a new
DebugAgent
object that contains specific methods used to call certain functions of Open Applications objects from scripts. See Calling Methods and Properties of Open Applications' Objects. -
The Add Text to Script and Copy Text to Clipboard dialogs have a new Pick Object button that lets you choose the object, whose name will be inserted into the script code that is being edited.
For information about changes made to patches, please visit http://smartbear.com/products/qa-tools/automated-testing-tools/new-testcomplete-features.
TestComplete version 6 supports projects created in version 4 and 5. However, you may need to recompile your Visual C++, Delphi or C++Builder Open Applications. See the Migrating Projects Created in TestComplete 4 and 5 to TestComplete 6 topic for more information.