This topic describes the changes made to TestComplete 8.0. For information on the changes made to other versions of the product, see Version History.
Support for New Platforms and Technologies
Enhanced Windows Mobile Support
Test Visualizer
Test Visualizer. The Visualizer subsystem has been dramatically improved. Now TestComplete automatically captures screenshots during test recording and playback and lets you see what happens with your tested application during test recording and running.
The images that were captured during test recording are shown in a new Test Visualizer panel below the recorded keyword test or script routine. These images illustrate test actions that the recorded commands performed and simplifies the analysis of the recorded test.
During test execution, TestComplete also captures image for the test commands and posts both the “recorded” and “playback” images to the test log. This feature helps you see what happened to your test application during the test run and find the difference between the expected and observed state of the tested application, window or control by highlighting the differences in red. This feature significantly saves the time and energy needed to resolve issues that occur during a test run.
Another benefit of the Test Visualizer is that it enables you to add new operations to your keyword tests by selecting the desired object from recorded images and without having the tested application running. This feature helps you modify your keyword tests easier and faster.
For more information on the new functionality, see Test Visualizer.
Overall Improvements
-
Easier and faster creating of data-driven tests. TestComplete version 8 has several improvements that simplify data access and implementing data-driven approaches:
-
A new type of project, project suite and keyword test variables -- DB Table. These variables provide access to data stored in database tables and queries, Excel workbooks and CSV files.
-
A new keyword test operation -- Data-Driven Loop.
-
A new Make Data-Driven Loop command in the context menu of the keyword test editor.
These new features reduce the time and effort needed to create data-driven tests and simplifies them into three steps:
-
In the keyword test editor, select the operations to be data-driven.
-
Choose a new Make Data-Driven Loop item from the context menu.
-
Use the ensuing wizard to specify the data source and quickly replace hardcoded parameter values with data stored in that data source.
For detailed instructions, see a new Data-Driven Testing With Keyword Tests tutorial.
-
-
Basic and Advanced view modes. Now TestComplete panels and windows that list objects’ methods and properties can display object members in two modes: Basic and Advanced. The Basic view displays the most frequently-used and important methods and properties of tested objects. The Advanced view displays all the available methods and properties of tested objects. The views help you easily find the needed properties or methods faster and concentrate on the task you perform, but not on the search of the needed methods and properties. You can switch between these modes by clicking the links in the member list header in TestComplete panels and dialogs. See Basic and Advanced View Modes.
-
Smarter image comparison. TestComplete now supports the BMP, PNG and TIFF images containing alpha channel (the data describing per-pixel transparency) and performs the comparison and search operations taking the pixel’s alpha value into account.
Besides, the
Picture.Compare
,Picture.Find
,Picture.Difference
andRegion.Check
methods now have two extra parameters that adjust image comparison. The ColorTolerance parameter allows to compare images that have different color tones, for instance, a window’s layouts in different color schemes. The Mask parameter excludes certain areas from comparison.These comparison enhancements are helpful when comparing images that contain backgrounds or semi-transparent regions like in the Windows Aero theme.
-
Easier test authoring when the tested application is not running. When automatic name mapping is used, TestComplete now stores information about major methods of the mapped objects. This results in a more convenient test authoring experience, as it enables you to add keyword test operations that use these methods, select these methods from Code Completion while editing scripts and see the method description and parameter names even when your tested application is not running or the tested object is not available in the application at the moment.
-
Focus on the tested applications. A new Record user actions on tested applications only option allows to ignore actions performed over the application unless it is added to the Tested Applications or WinCE Tested Applications collection of your project. This feature let you automatically ignore actions that you perform on non-tested applications during recording and concentrate only on tested applications.
-
Enhanced test playback indicator. The TestComplete indicator now has buttons that allow you to pause and stop test execution at any time.
-
Search improvements. The Quick Search box in TestComplete 8 panels now contains a list of recently sought-for entries. Also, the sought-for text in the entries found is now highlighted in yellow, to visually indicate the text position (like in Microsoft Outlook).
-
Easier monitoring of changes in watched values. The Watch List and Locals panels have been improved: if the value of a monitored variable, parameter or expression has changed during debugging, the panels will highlight this value in red. This feature lets you easily see which values are changed when you are stepping through your tests.
-
Improved freeze diagnostics and integration with AQtrace. If an application was processed with AQtrace, then TestComplete will command AQtrace Reporter to generate error reports for access violations and every time it detects the application hangs. In this case, TestComplete will post the problem details to the test log, terminate the tested app and stop the current test. TestComplete also automatically detects whether AQtrace Reporter generated an error report, and if it did, TestComplete posts an error message with a report link to the test log.
-
Running an individual test from the command line or via COM. A new command-line argument
/test
(or/t
) has been added to let you run a specific test (for example, a keyword test) by its name. For details, see TestComplete Command Line. The TestComplete COM automation interface has also been extended with a new method to run individual tests --Integration.RunTestByName
. -
More stable external function calls. TestComplete now loads libraries that contain routines called by your test into a helper hosting process, tcHostingProcess.exe. As a result, fatal errors that may occur in those libraries only causes the hosting process to shut down, while the main TestComplete process stays alive and can continue running the test.
-
Faster communication with Microsoft Visual Studio Team Foundation. The TestComplete Team Foundation integration has been optimized so that connections to Team Foundation servers take less time.
Support for New Platforms and Technologies
-
Visual Studio 2010 Support. TestComplete version 8 continues AutomatedQA’s trend on integrating with Visual Studio features and services and supports version 2010 of this popular Microsoft IDE. The integration means that you can --
-
Run your TestComplete projects from MSBuild projects.
-
Make your TestComplete tests part of Microsoft Visual Studio team builds.
-
Post test results as work items to Visual Studio issue-tracking system directly from the TestComplete test log.
-
Run unit tests created in Visual Studio from your TestComplete projects.
See Integration With Microsoft Visual Studio for more information.
-
-
Support for .NET Framework 4. TestComplete 8 adds support for the latest version of Microsoft .NET Framework -- version 4. You can now effectively automate testing of .NET application that target the .NET Framework 4 as well as enhance your automated tests using the appropriate .NET classes and assembly functions.
-
Support for Windows Mobile 6 series. TestComplete 8 can be used with PDAs running Windows Mobile 6.1, 6.1.4 or 6.5 to perform automated testing of mobile applications. See below for a complete list of Windows Mobile support improvements.
-
Access to Java API. TestComplete 8 provides your automated tests with direct access to the Java API and allows you to use Java classes in your automated tests. You can set up the desired class paths and classes in the project’s Java Bridge properties and access the classes and their members from your tests through the
JavaClasses
object. In addition, TestComplete lets you access packages and classes loaded into arbitrary Java applications through theJavaRuntime
child object of the application process. This way, for example, you can easily use your legacy testing utilities written in Java or enhance your tests using Java library functions. For more information, see Calling Functions From Java Classes. -
More issue-tracking system integrations. TestComplete 8 introduces integration with AutomatedQA Software Planner, Atlassian JIRA and Axosoft OnTime, which enables testers to post defects to these systems directly from the TestComplete UI. Defects can be submitted along with the test results and system information to help you better keep track of your automated testing process. See Exporting Test Results.
-
Calling functions from 64-bit DLLs. TestComplete 8 enables you to enhance your tests using functions from 64-bit DLLs, just like you call 32-bit DLL functions. For details, see Calling DLL Functions From Tests.
Checkpoint Enhancements
-
Checkpoints are now easier to use. The scripting methods that are used to perform comparison actions have been unified. For instance, to compare images in previous versions of TestComplete, you used the
Regions.Compare
method, while to compare database tables you called something likeDBTable.dbtable1.Compare
.Now each Stores element (file, image, table and others) contains a new
Check
method that compares the element with other data. That is, script code that is used to perform comparison is less dependent on the data type: to compare two images or to verify database table data, you can now callRegions.image_name.Check
andDBTables.dbtable1.Check
correspondingly.The new
Check
methods have fewer parameters than theCompare
methods (some rarely used parameters have been removed), so we expect you to be able to create checkpoints with these new methods even faster. ExistingCompare
methods are available too and you can continue using them in your tests.The described changes caused changes in the user interface: the checkpoint creation wizards have been unified and simplified. This lets you create checkpoints easier and helps beginners understand the concepts of the product faster.
-
More comprehensive property checkpoint results. The property checkpoint results that are posted to the test log now contain more details which include: the tested object name, the name of the property that was checked, the expected property value and the actual value.
-
New scripting method to perform property checkpoints. In scripts, property checkpoints are now recorded using the new
aqObject.CheckProperty
method, which produces more detailed output in the test log than theaqObject.CompareProperty
method. -
Checkpoint wizards have been simplified and unified; rarely-used parameters have been removed from them.
-
The object checkpoint wizard now displays the image of the selected object in addition to its name, in order to help you understand what object is going to be checked.
Web Testing Improvements
-
Improved support for dynamic web controls. Earlier versions of TestComplete recorded only mouse clicks and keystrokes which you performed during test recording. The OnMouseHover events were not recorded and you had to insert the
HoverMouse
method call into the recorded test in order for the test engine to simulate the recorded user actions properly.Now TestComplete detects that mouse hover actions that cause changes in the contents of the tested web page and automatically records calls to the
HoverMouse
method for them. This feature frees you from inserting these calls manually and simplifies working with menu items that pop up a submenu on mouse hovering (without clicking). For more information, see Testing Dynamic Web Pages. -
More stable test runs. Some web pages change recognition attributes of tested web elements. This prevented a recorded test from playing back correctly, so you had to change the test in order for TestComplete to be able to run it. TestComplete 8 is able to detect the described changes and to recognize the needed web elements correctly, so that you can playback the recorded tests without modifying them.
-
Better support for JavaFX. In previous versions, the refresh of a web page containing a JavaFX applet resulted in TestComplete no longer recognizing JavaFX-specific objects in the applet. TestComplete 8 correctly handles this situation and continues providing access to the applet’s objects.
-
Support for Firefox 3.6. TestComplete 8 adds support for the latest version of the Firefox web browser for functional testing of web applications.
Firefox 1.5 and 2.0, however, are no longer supported for web testing, as these browser versions reached end-of-life.
Network Suite Improvements
-
Opening user sessions automatically. TestComplete 8 automatically logs onto remote computers participating in the distributed test and frees you from having to open user sessions on them yourself. The user sessions are automatically opened when you verify or run the network suite. For more information, see Opening User Sessions on Remote Computers.
Due to this enhancement, the user name, password and domain must now be provided for all remote computers specified in the master project.
-
Easier user account management. TestComplete 8 provides an easier way to specify common domain names, user names and passwords for multiple hosts. Instead of duplicating these values in the host properties, you can set them in a single place -- the Network Suite Properties page in the master project. This allows you, for example, to quickly set or change a common user account used when logging into all of the remote computers, specify a common domain that different user accounts belong to and much more.
-
Viewing the Remote Desktop Window. Remote Desktop windows are now displayed on the Run State page of the network suite editor and are opened automatically when a user session is opened on the corresponding remote computer.
The GUI tests run via the Remote Desktop do not fail if the Remote Desktop is minimized or closed during the test run. For more information on this, see Running Tests via Remote Desktop.
-
Restarting remote computers from the master computer. When using TestComplete on a master computer, you can now easily restart remote computers participating in the distributed test. To do this, use the Reboot command that has been added to the Hosts editor. For more information, see Working With Hosts.
-
Better support for remote computers with concurrent user sessions. TestComplete 8 offers improved support for Windows editions that allow concurrent user sessions, such as Windows Server 2003 and Windows Server 2008. In earlier versions, in order to run tests on a remote computer that could have multiple user sessions opened, you had to either close all opened user sessions on that computer or modify some registry settings for the user account that was used to run the test. This limitation no longer exists, as TestComplete now automatically opens the necessary user sessions on the remote computers.
-
TestComplete Service replaces tcrea. The Network Suite Remote Agent (tcrea.exe) functionality has been moved to the TestComplete Service. Now, to perform distributed testing, you should make sure that the TestComplete Service is running on remote computers that participate in distributed testing.
Name Mapping Improvements
-
Conditional mapping criteria. TestComplete 8 introduces a more powerful and flexible way to map application objects. Now you can specify the mapping criteria as a compound conditional expression containing object properties and values. Each expression in this criterion can check a specific identification property value against a certain condition, such as Equals, Not equals, Greater than and so on. Multiple expressions can be grouped and combined using the logical AND and OR operators to let you specify the required and optional conditions. Some examples of conditional mapping criteria are:
(WndClass = "#32770") AND ( (WndCaption = "Open") OR (WndCaption = "Select File") )
(ObjectType = "Table") AND (ChildCount > 12) AND (ChildCount < 15)
This way, conditional mapping criteria enable you to define multiple possible values for an identification property, define a range of possible values for numeric identification properties, specify several different combinations of identification properties, and so on.
You can toggle between simple and conditional mapping modes while mapping objects, or in the Name Mapping editor. For more information, see Name Mapping - Conditional Mapping Criteria.
-
Creating name mapping templates at design time. In earlier TestComplete versions, you could only define new name mapping templates while mapping objects. Now you can do this at design time, using the Add Template context menu command of the Name Mapping editor. For details, see Name Mapping Templates.
-
Refreshing Name Mapping from GUI. The toolbar of the Name Mapping editor includes a new Refresh command that refreshes the mapped object references to the appropriate objects in the tested application. This command is useful when the tested application changes dynamically so that the same mapped name corresponds to different objects at different times, and makes it possible to correctly identify the currently matched object. That is, this command is a design-time counterpart of the
RefreshMappingInfo
scripting method that can be used during the test execution. -
Improved presentation of search/replace results. When searching and replacing values in the Name Mapping editor, if the match is found in both the object’s mapped name and description, the Search/Replace Results panel now contains individual entries for both matches. In previous versions, the results included only one entry.
-
Mapped object deletion made easier. In earlier versions, TestComplete provided two commands for deleting an object from Name Mapping: Delete, which also deleted the child objects, and Exclude, which preserved the child objects and moved them one level up. To make the deletion procedure more clear, TestComplete 8 unifies the delete commands into a single Delete command that can function both ways and asks you how to handle the child objects. The Exclude command was removed.
-
Quick object highlighting. The Highlight on Screen command available in the context menu of the Name Mapping editor is now also on the editor’s toolbar, so that you can highlight mapped objects in running applications even quicker.
Keyword Testing Improvements
-
Test parameterization made easier. The new Data-Driven Loop operation and Make Data-Driven Loop command of the context menu lets you parameterize your tests with external data faster and easier. See above.
-
New operations for file and image comparison. TestComplete 8 adds the Compare Files and Compare Pictures operations to the Checkpoints category that enable you to compare arbitrary files and images as part of your keyword test.
-
Easier conversion of keyword tests to scripts. Now you can convert keyword tests to scripts with one click. For this purpose, just select the Convert to script context menu item. You can do this while editing your keyword test or directly from the Project Explorer panel by right-clicking the KeywordTests node. For more information, see Converting Keyword Tests to Scripts.
-
Better commenting of keyword tests converted to scripts. When converting a keyword test to a script, TestComplete can now insert the operation descriptions as comments in the resulting script code. These additional comments can help testers learn scripting to understand and analyze the resulting script code.
-
Easier editing of checkpoint operations. To modify existing checkpoint operations, TestComplete now uses special wizards (like those used while adding the checkpoints) rather than the generic Operation Parameters dialog.
-
File and image checkpoint changes. In TestComplete 8, the File Checkpoint and Region Checkpoint operations only verify files and images against the baseline versions kept in the project’s Stores collection, like other checkpoints do. To compare arbitrary files and images, use the new Compare Files and Compare Pictures operations instead.
When you open a TestComplete 7 project with keyword tests in TestComplete 8, it automatically converts the File Checkpoint and Region Checkpoint operations to the new format or, if it they cannot be converted, replaces them with the equivalent Compare Files and Compare Pictures operations.
Test Log Improvements
-
HTML log messages. Now you can post HTML message to the test log along with test messages. The HTML format can be applied to the extended message that is displayed in the test log’s Remarks panel. For more information, see Posting Messages to the Log.
Also, the
LogAttributes
program object contains a newExtendedMessageAsPlainText
property that lets you specify whether the extended text of a test log message will be displayed in the HTML format or as plain text. -
Limiting the number or event messages to store in the log. The test engine posts an event method to the test log for each user action that was simulated. By default, the test engine logs all event messages. If you run large tests these messages significantly increase the test log size and makes it harder to analyze the test results.
TestComplete includes a new Store last … events project property that specifies the number of last event messages that will be stored in the test log when an error message is posted to the log. Using this property you can limit the number of event messages to be stored in the log and store, for instance, only 50 of the last event messages that were posted before an error message was posted to the log. This will decrease the overall log size, but leave enough information to find the cause of an error (if it occurs).
You can find the new property in the Playback group of the project’s properties.
-
UI improvements. The user interface of the test log window sports a number of improvements:
-
The View | Desktop | Restore Default Docking command of the main menu now restores the docking of log panels (in previous versions, it did not).
-
The log panels now have a minimal size limit in order to prevent possible resizing problems.
-
TestComplete now stores the position and size of the log panels.
-
-
Scripting access to the status of log items. When parsing test logs from scripts, you can now use a new
LogItem.Status
property to determine the status of log items.
Improved Manual Tests Support
-
Easy import of manual test instructions. TestComplete simplifies the migration of manual tests to automated test. Version 8 offers a new special wizard that helps you import manual test instructions from Microsoft Word, Excel or text files into project elements of the manual test type. Using the new wizard greatly decreases the amount of editing tasks you need to perform after importing.
-
Replacing manual tests with keyword tests. TestComplete 8 provides you with the possibility to automate existing manual tests by converting the entire test or its individual steps to keyword tests. During the conversion TestComplete displays the manual test instructions on screen and offers you to record the appropriate operations.
After the test is done, TestComplete adds the recorded keyword test into the project, so that you can view or modify it. The original manual test is left unchanged.
If you converted only some substeps of a test, TestComplete replaces the instructions for these steps with a link to the recorded keyword test.
-
Running keyword tests from manual tests. Now you can use keyword tests as test steps in your manual tests to automatically perform some helper actions that are not necessary to be done manually. It is possible to specify an existing keyword test to be executed during a manual test run or you can convert an existing manual test step that contains instructions in the HTML or XML+XSL format to a keyword test that will perform the actions described by these instructions.
Load Testing Improvements
-
Request simulation result criteria. When a web server responds to a request, it sends some code that indicates the response type. Earlier versions of TestComplete considered that the request was successful only if the server returned response code 200 or 302. In TestComplete 8 you can now control which response codes are acceptable for individual HTTP requests. Using a new Custom Log Criteria table of the Task Editor you can specify possible response codes for requests. TestComplete will compare the actual response codes with these values and decide whether the request is simulated successfully or not.
-
Complex load testing tasks. TestComplete 8 introduces this new type of load testing tasks in order for the virtual users to be able to run multiple HTTP tasks per test, or repeat the same task several times. The word “complex” here means “compound”, not “complicated”.
-
Convenient management of workstations. The updated Stations editor allows you to view and set properties of all workstations in one place, rather than modify each station separately as it was in previous versions of the product.
-
A number of UI improvements:
-
TestComplete now displays the status of load tests in the playback indicator.
-
The LoadTesting Project Item, Load Test and Stations editors now have toolbars that simplify how you work with the editors and load tests.
-
Besides the load test results, the load testing log can include script logs of the load test event handlers. If the event handlers do not post any log messages, their logs are empty. In previous versions, these empty logs were still displayed in the load testing log. TestComplete 8 does not include them in order to simplify the result view.
-
-
Virtual user licenses. The TestComplete license does not control virtual users any more and TestComplete Enterprise no longer includes 5 virtual users by default. Virtual users are now controlled by a special license that is purchased separately from TestComplete and TestExecute licenses.
Enhanced Windows Mobile Support
-
Support for Windows Mobile 6 series. TestComplete now offers support for Windows Mobile 6.1, 6.1.4 and 6.5 to help you automate testing of applications designed for Windows Mobile 6-powered devices.
-
Automated deployment of arbitrary files on PDAs. TestComplete 8 enables you to automate the process of deploying configuration files, DLLs and other files required by the tested Windows Mobile application onto PDAs. For this, the Parameters column in the WinCETestedApps editor has been extended to provide a GUI for specifying the files to be deployed along with the tested application’s executable. You can also manage files to be deployed directly from your automated tests -- add and remove individual files to the list, change the source and destination paths and so on -- using the
WinCETestedApp.AppName.SimpleParams.Files
object. -
Enhanced automation of low-level actions on PDAs. TestComplete 8 introduces an easier way to automate low-level actions on Windows Mobile-based devices from keyword tests and scripts. In addition to calling external low-level procedures from your tests, you can now add keyword test operations or script statements that would directly perform the necessary low-level actions by calling the appropriate methods of the new
WinCELLPlayer
object. This way, individual low-level operations and sequences can be included and configured as part of your keyword tests and scripts, making it easier to view or understand the entire test. -
Converting WinCE low-level procedures to scripts. You can now quickly convert low-level procedures that target Windows Mobile-based devices to their equivalent script routines. This allows you to add programming logic to your low-level tests, ehnance them using flow control statements and parametrize them in a more flexible way. For more information, see Parameterizing Low-Level Procedures.
-
Capturing PDA screenshots. The Actions toolbar in the PDA Controller panel includes a new button that lets you quickly capture the screen images of the connected Windows Mobile-based device.
-
Improved file system navigation in PDA File Manager. The PDA File Manager panel now displays drive buttons instead of the drop-down drive list, so that you can change the current drive quicker. Also, it now keeps track of the folders you opened and provides buttons for navigating the folder history, which lets you easily get back to the previously selected folder.
Extended Support for Controls
-
New method for changing text in edit controls. TestComplete 8 provides a new method that allows you to change text in an edit control --
SetText
. The new method has the same effect as thewText
property assignment, but reports the results to the test log, which is useful during test result analysis or test troubleshooting.Text input into single-line text boxes is now recorded using the
SetText
method instead of thewText
property orKeys
method. Those who want to record text input using theKeys
method should use the Record text input into simple editors as option (you can find it in the Recording Options dialog). -
Improved support for Developer Express controls. TestComplete 8 introduces extended support for WinForms, WPF and ASP.NET Developer Express controls that are included in the DXperience library version 2010.1.4.
-
Searching records in Qt table widgets. A new
FindRow
method has been added to theQtTableWidget
test object, which allows you to easily locate specific records in Qt table widgets as part of your test. -
Getting minimum and maximum values in Qt widgets. The
QtSpinBox
,QtDoubleSpinBox
andQtDateTimeEdit
test objects have been extended with thewMin
andwMax
properties that allow you to obtain and verify minimum and maximum values accepted by Qt spin box and date time editing widgets.
Changes in Scripting and Objects
-
Enhanced DelphiScript engine. The DelphiScript engine in TestComplete 8 has been improved and some former restrictions and specifics of the DelphiScript usage no longer exist. The following improvements in DelphiScript have been made:
-
Enumeration support in DelphiScript. DelphiScript now includes the
Enumerator
function that enables enumeration of items in a collection in a way similar to using theFor Each
statement in VBScript,Enumerator
object in JScript, C++Script and C#Script or thefor each
statement in Delphi 2005 and later. This function makes it possible, for example, to enumerate collections provided by theFileSystemObject
Windows object or process data returned by WMI queries. -
Support for Unicode. Now, DelphiScript as well as other scripting languages supported by TestComplete are Unicode-compatible. That is, DelphiScript can be used to test multi-language Unicode applications. See Testing Unicode Applications With TestComplete for more information.
-
No unit size limitations. In earlier TestComplete versions, the size of a DelphiScript unit could not exceed 1 Mb. This limitation no longer exists, so you can now format, document and otherwise organize your DelphiScript code as you wish.
-
Calling web page scripts using the DOM model. In addition to the Tree, Tag and Hybrid web tree models, DelphiScript now supports calling scripts on web pages tested using the DOM model.
-
New debugging requirements. Debugging DelphiScript scripts now has the same requirements as other scripting languages supported by TestComplete. For example, you must have a script debugger installed on the computer in order to debug DelphiScript code.
-
-
Extended support for WMI. The
WMI
object has been extended with new methods that allow you to manage processes, services and environment variables on the local or remote computer. For more information about the new methods, see the object description. -
Changing language for non-Unicode programs from tests. When testing a multi-language non-Unicode application, the currently used language must be specified in the Language for non-Unicode programs setting in the Control Panel in order for the application to correctly display text in that language. TestComplete 8 enables you to automate changing this setting as part of your test by using the new
aqEnvironment.LanguageForNonUnicodePrograms
property. This way, you can batch test multiple localized versions of your application under test with no manual intervention required. -
File system object improvements:
-
Getting file name without extension. You can now easily extract the file name without the extension from a path string using the
NameWithoutExtension
property or theaqFileSystem
object contains a newGetFileNameWithoutExtension
method. -
Recursive search for files and folders. An additional parameter has been added to the
aqFileSystem.FindFiles
andaqFileSystem.FindFolders
methods that lets you control whether TestComplete should search for the specified files and folders in the subfolders of the base folder. -
Handling collisions during file renaming. The
aqFileSystem.RenameFile
,aqFile.Rename
andaqFileInfo.Rename
methods have an additional optional RenameOnCollision parameter that controls the methods’ behavior if a folder already contains a file with the specified name and lets you resolve file name collisions. -
Better support for 64-bit values of disk drive properties. The type of the
aqDriveInfo.FreeSpace
,aqDriveInfo.SerialNumber
,aqDriveInfo.TotalSize
,aqFileInfo.Size
,aqFolderInfo.Size
properties and the return value of theaqFile.GetSize
method were changed from Decimal to Double for better support of 64-bit values. -
More flexible ways to perform common file and folder operations. The
aqFileInfo
andaqFolderInfo
objects have been extended with methods and properties that allow you to check the file and folder existence and to delete the underlying file or folder. Unlike their generic analogs defined in theaqFileSystem
object, the instance methods and properties do not need you to specify the file or folder name as they retrieve it from the appropriateaqFileInfo
oraqFolderInfo
object.
-
-
Extended support for 64-bit platforms:
-
Retrieving environment variables specific to 32-bit and 64-bit environments. TestComplete 8 provides an improved version of the
aqEnvironment.GetEnvironmentVariable
method that obtains environment variable values. When used on a 64-bit version of Windows, this method now allows you to get variable values defined in both 32-bit and 64-bit environments; the desired bitness specified using the appropriate method parameter. For example, this way you can determine locations of the 32-bit and 64-bit versions of the Program Files folder for use in your automated tests. -
Obtaining 64-bit COM server paths. The new
aqUtils.GetCOMServerPath
method has been added and allows you to get COM server paths from your automated tests. Under 64-bit versions on Windows, you can use this method to locate both 32-bit as well as 64-bit COM servers.The
BuiltIn.GetCOMServerPath
method became obsolete and is now supported for backward compatibility only.
-
-
Easier usage of Find methods in scripts. The
Find
,FindChild
,FindAll
andFindAllChildren
methods now support native JScript arrays in the input parameters. As a result, using these methods in JScript, C++Script and C#Script to locate test objects by property values is now easier as there is no need to convert the input arrays to the safe array format. -
Specifying registry access mode. When working with the system registry through the
Storages.Registry
object, you can now specify whether to access the registry in the read-only or read-write mode. The read-only mode enables your automated tests to read values from the registry even if TestComplete is running under a limited user account (for example, if it is running without administrator privileges on Windows 7, Windows Server 2008 and Windows Vista with UAC turned on). -
Getting active keyboard layout. You can now determine the keyboard layout currently used in a specific window from your tests using the
aqEnvironment.GetKeyboardLayout
method. -
The
Files.CalculateHashValue
method is deprecated in this release. To define the difference between the files being compared that is allowed for a file checkpoint to pass, use the AllowedDifference parameter of theFile.Check
method. -
The
vt_NNN
constants that specify possible data types of DLL function parameters are now available as global constants only. In previous versions, they were also available as theConsts
object properties.
User Form Enhancements
-
Property selection wizard component. A new dialog component has been added --
TSelectObjectProperty
. This component provides a wizard where the user can select an object and its property (while creating a property checkpoint). You can use this component in your script extension to provide users with the ability to select an object property to be used in your custom checkpoint or keyword test operation. -
Emulating speed buttons.
TcxButton
controls now have theSpeedButtonOptions
property that lets you make a push button look and act as a speed button (line DelphiTSpeedButton
controls). Unlike usual push buttons, speed buttons can have two states: normal and pressed, as specified by the button’sSpeedButtonOptions.Down
property. For example, you can use such buttons as an alternative to check boxes.By setting the same non-zero
SpeedButtonOptions.GroupIndex
value for several buttons, you can make them work together as a radio group, so that when a user presses one of these buttons, the previously pressed button is released. This way, you create toolbars on your form. -
Easy toggling of caption and glyph visibility in buttons. Using the new
PaintStyle
property of theTcxButton
controls, you can easily control the visibility of the caption and glyph in a button. -
Drawing a line next to label text.
TcxLabel
controls now have theProperties.LineOptions
property that allows you to draw a line next to the label text. -
Customizing spin buttons in time edit controls.
TcxTimeEdit
controls how have theProperties.SpinButtons
property that lets you control the visibility and position of the control’s normal and fast spin buttons.Also, the new
Properties.Increment
andProperties.LargeIncrement
properties allow you to specify custom increment and fast increment values for portions of a time value. -
New progress bar styles.
TcxProgressBar
controls include a newProperties.Marquee
property that enables you to create marquee progress bars that indicate general activity rather than the completion progress.In addition, the
Properties.BarStyle
property provides new options that let you display Windows Vista-style progress bars with animated highlight effects. -
Hints for buttons in edit controls. Now you can specify hints to be displayed for buttons in
TcxButtonEdit
controls using the button’sHint
property. This way, you can provide users with quick help information on the purpose of buttons embedded into the edit control.
Script Extension Improvements
-
New LogAction element. The script extension engine now supports a new LogAction element that makes it possible to create custom extensions for exporting test results. TestComplete adds items for these extensions to the test log’s toolbar. This lets users create custom exporting procedures which can be called by a single menu item. For instance, they can create extensions for exporting a test log to those issue-tracking systems which TestComplete does not support by default.
TestComplete includes a new script extension that demonstrates this functionality – this is a new menu item that lets users easily submit work items and test logs into the Atlassian JIRA and Axosoft OnTime issue-tracking systems. See Using LogAction Elements.
-
New Options element. The script engine also supports a new Options element that simplifies storing extension’s data between TestComplete sessions. See Storing Script Extensions Data.
-
Importing script extension form files into TestComplete projects. Now you can import existing forms from script extension form files (.aqfrm) into a TestComplete project. For more information, see Using Forms in Script Extensions.
Changes in the Object Browser
-
The Object Properties window has been renamed to Object Spy. The object selection controls have been moved to the top of the window and look similar to the checkpoint wizards.
-
The Fields and Events tabbed pages are not displayed if the object does not have any fields or events.
-
A new Show Object in Name Mapping command added to the context menu of the Object Browser allows you to quickly jump to the corresponding mapped object in the Name Mapping editor.
-
The following commands have been removed from the context menu as they were rarely used:
-
Display Hexadecimal Numbers -- To toggle between decimal and hexadecimal display format for numbers, use the new Display numbers in hexadecimal format setting in the Engines - General Options.
-
Sort Categories -- To change the display order of object member categories, use the new Categories sorting setting in the Object Browser Options.
-
Object Properties -- To open the Object Spy window use the Display Object Spy item on the Tools toolbar.
-
Copy to Script -- Use the Copy command instead.
-
Process Filter and GUI Explorer -- Use the Process Filter and GUI Explorer commands on the Object Browser’s toolbar.
-
Other Changes
-
The Recording toolbar and the playback indicator have a new exciting look under Windows Vista and later operating systems.
-
The Record button of the Recording toolbar now blinks during test recording to indicate that TestComplete is in the recording mode.
-
The Open File and Save File dialogs used throughout TestComplete now contain links to your Default project folder and the TestComplete Samples folder in the My Places bar. This improves your productivity by taking you directly to your working folder where you regularly open and save files. This way you can also quickly access sample TestComplete projects.
-
In TestComplete 8 you will experience performance improvements while working on test projects containing many references between script units.
-
TestComplete now adds indexes to MSAA objects with the same name in order to provide a basic way to distinguish between them.
-
Earlier, versions of TestComplete included the When referring to a non-existing object setting. It specified whether the test engine displayed an error message box or posted an error to the test log when the test tried to call a method or a property of a non-existing object. This option has been removed. Now, TestComplete always post an error message to the test log.
-
The Images setting that resided in the Engines - General Options dialog has been moved to the project level. You can find it in the General group of project properties. Scripting access to these properties is still provided by the
Options.Images
property for backward compatibility. -
The Store Object Properties dialog has been improved. Now it contains less edit fields, if you called it to save properties of only one process, window or control.
-
The Simple version of the Create New Project dialog now contains only the Project name and Location fields. The Language field was removed and is now available in the Classic mode only. The default language that TestComplete uses for new projects is specified by the Default language setting.
In the Classic mode of the dialog, the Finish button is now also available on the first page, so you can quickly create the project based on the selected template without having to configure the project items.
-
The Advanced folder of the Project Explorer no longer contains the Stores project item by default. Now when you add the Stores item to the project, it appears under the project node.
-
The Debug Services options have been moved to the project level. You can find them in the root group of the project properties.
-
Undocked panels now have the Maximize and Minimize buttons. The ability to maximize separate panels is helpful when organizing the TestComplete layout on multiple monitors.