This topic describes the changes made to TestComplete 9.0. For information on the changes made to other versions of the product, see Version History.
Cross-Browser Testing and Web Testing Enhancements
Distributed Testing and Network Suite Improvements
Changes in Scripting and Objects
Cross-Browser Testing and Web Testing Enhancements
In TestComplete version 9, the web testing functionality has been dramatically improved.
-
HTML 5 support. TestComplete 9 introduces support for elements, attributes and features provided by HTML 5 standards. TestComplete recognizes new elements and provides access to their properties and methods. You can use these methods and properties in your tests to determine the element state and perform desired actions with them. See HTML5 Support.
-
Support for recent browser versions. TestComplete 9 supports the most recent versions of popular web browsers: Internet Explorer, Firefox and Chrome. As Firefox and Chrome are updated frequently, support for newer versions is available in the form of patches that you can download from our web site. See Supported Web Browsers and Technologies
-
Cross-browser testing. Web tests you create with TestComplete are now browser-independent. In other words, you can record or create a test for one of supported browsers and then run the test on other browsers with minimum or no changes at all. This simplifies the test structure and frees you from handling browser differences in tests. See About Cross-Browser Testing in TestComplete.
Implementing the cross-browser functionality involves changes and enhancements in many other TestComplete subsystems. The items below describe them.
-
Easier access to tested web pages. In earlier versions of the product, web pages were child objects of web browser processes. For instance, if a web page was opened in Firefox, you accessed it through the Firefox process. If you decided to run your test on another browser, you had to create special code that checked the browser type and used the appropriate process.
In TestComplete version 9, you access web pages through a new Browser process. This is an artificial tier that resides under the Sys node and simplifies access to web pages under test.
-
Support for modal browser and JavaScript dialogs. Different browsers use different GUI implementation for messages and dialogs that web pages display, so handling these dialogs and messages has been a challenge in previous TestComplete versions.
TestComplete 9 introduces unified API for working with commonly used browser messages and dialogs like JavaScript alerts, prompts and confirmations, standard authentication dialogs and some others. It works with them using new browser-independent objects. So, you do not have to check the browser type or modify your tests depending on the browser type. For more information, see Handle JavaScript Popups and Browser Dialogs.
-
Browser-independent access to element contents. Different web browsers use different properties to return text of web page elements. For instance, in Internet Explorer you use the
innerText
property while in Firefox it istextContent
. In earlier versions of TestComplete, you had to modify your tests so that they used the appropriate property. In version 9 the situation has changed. TestComplete 9 offers a new browser-independent property,contentText
, that specifies text of the web elements under test. So, now you do not have to control the browser version when getting data of web page elements. The “native” browser properties are still available. You can use them in case thecontentText
property does not return the value you need. -
Browser-independent access to DOM document object. In previous TestComplete versions, you had to use browser-specific syntax to access the DOM
document
object of a web page:Page.Application.Document
for Internet Explorer andPage.contentDocument
syntax for Firefox and Chrome. Now, you can use the commonPage.contentDocument
syntax for all supported browsers, including Internet Explorer. For more information, see Accessing DOM document Object. -
New Web keyword-test operations and new Browsers object.
-
TestComplete 9 includes a new Web category of keyword-test operations. It contains operations that let you open the desired web browser or tested web page from your test, or check the current browser type.
-
A new
Browsers
object provides a scripting interface to supported browser versions that are available on the current computer. You use this object to launch the desired browser at the beginning of your web test or to iterate through the browser collection. -
The recorded web tests use the new operations (keyword tests) or object (script tests) for opening the start test page. You can then easily change the browser to be used or the page’s URL by modifying parameters of the new operations or scripting methods. This makes the Tested Applications concept not so important for web tests. So, now TestComplete does not use Tested Applications for these tests. Though you can still include browsers and web pages into the TestedApps collection manually, TestComplete does not use the collection: it does not add browsers and pages to it during recording, nor does it add the TestedApps item to the web testing projects created with the Create New Project wizard.
The recommended way to launch browsers and open web pages is to use the new keyword-test operations or methods of the new Browsers object.
-
-
Support for Web 2.0 UI toolkits. TestComplete 9 offers automated testing support for controls from popular web UI libraries: jQuery UI, YUI, GWT, and MooTools.
-
Testing web image maps. TestComplete can now recognize AREA elements of web pages using the Tree web model. For more information, see Area Object Type.
-
Closing of web page tabs is now recorded and played back using the new cross-browser
Page.Close
method.
New Supported Technologies
-
Subversion support. TestComplete now supports integration into the Subversion 1.6.6, 1.7.3, 1.7.4, 1.7.5 and 1.7.6 source control system. This allows you to check in TestComplete projects, project suites and project files to the Subversion storage directly from TestComplete, get the latest version of project files, compare file versions and so on. For more information on this, see Integration With Subversion via SCC API Providers (Legacy).
-
Support for Embarcadero RAD Studio XE2 and 64-bit Delphi applications. TestComplete 9 enables you to automate testing of applications created with Delphi XE2 and C++Builder XE2, including 64-bit Delphi applications.
- Silverlight 5 support. You can now test applications created with the most recent version of Silverlight, including 64-bit applications introduced in Silverlight 5.
-
Testing self-executed Flash and Flex applications. TestComplete now supports testing of self-executed Flash and Flex applications and applications that run in standalone Flash Player.
-
Enhanced Qt support:
-
Support for Qt ver. 4.8.0. TestComplete now supports testing of applications that use Qt library ver. 4.8.0. The modules that provide support for earlier versions of the Qt library can be downloaded from our web site:
https://support.smartbear.com/downloads/testcomplete/qt-modules
-
TestComplete now supports Qt applications created with Microsoft Visual Studio 2010.
-
-
Support for Sybase PowerBuilder .NET 12.5. TestComplete now supports automated testing of .NET applications created with PowerBuilder .NET 12.5.
-
Support for Axosoft OnTime 2011. TestComplete 9 supports posting defects to Axosoft OnTime 2011. For more information on integration with issue-tracking systems, see Creating Issue Reports for Test Results.
Enhanced Web Service Testing
-
TestComplete version 9 offers enhanced support for WCF services. The new release supports the basicHttpBinding and wsHttpBinding binding types and Basic, Windows, NTLM, Certificate security types.
-
The internal implementation of web service testing in TestComplete has changed. Now TestComplete always uses .NET to work with tested web services. SOAP requests generated for tested web services now contain other namespace prefixes.
This change was implemented earlier in TestComplete 8.70 but it was left unnoticeable. Although it should not affect your web service tests, if you have scripts that parse SOAP responses returned by the
PrepareRequest
or theLastRequest
methods, you may need to modify them to make them compatible with new namespace prefixes.
Extended Support for Controls
-
Support for Telerik Silverlight controls. TestComplete now includes test objects for automating Telerik RadControls for Silverlight, including RadGridView, RadTreeView, RadMenu, RadOutlookBar and others. For a full list of the supported controls, see Supported Telerik Controls.
-
Support for Visual Studio Shell controls. This release adds capture and playback support for WPF toolbar and tab controls in applications based on Microsoft Visual Studio 2010 Shell.
-
Support for Yahoo! User Interface Library controls. TestComplete now includes various methods and properties that allow simulating user actions over Yahoo! User Interface Library controls in web applications. See Supported Yahoo! User Interface Library Controls.
-
Support for Google Web Toolkit (GWT) controls. TestComplete 9 offers special methods and properties for simulating user actions on GWT controls.
-
Support for jQuery UI controls. TestComplete 9.0 includes special methods and properties that let you easily simulate user actions over jQuery UI controls in web applications.
-
Support for MooTools controls. TestComplete now includes special methods and properties that allow simulating user actions on MooTools controls in web applications.
-
Support for CodeJock controls. TestComplete now provides support for CodeJock Xtreme controls for Visual C++ MFC via the Microsoft Active Accessibility (MSAA) technology.
-
Support for new Flex controls. TestComplete now includes methods and properties that allow simulating user actions and accessing data of the following controls in Flex applications:
-
Improved support for grid controls. TestComplete 9 supports new versions of the following grid controls:
- Developer Express ExpressQuantumGrid v2011.1.3
- Developer Express XtraVerticalGrid ver. 2010.2
- Developer Express XtraGrid ver. 2010.2
- Developer Express XtraVerticalGrid ver. 2010.2
- Syncfusion Essential Grid (GridGroupingControl) ver. 9.3, 9.4, 10.1, 10.2.
- Syncfusion GridControl, GridListControl and ScheduleGrid ver. 9.3, 9.4, 10.1, 10.2.
-
Added default class mappings for the following controls to associate them with the corresponding standard Windows controls:
- VCL TDBEdit, TDBMemo, TDBComboBox and TDBListBox
- VCL.NET TEdit, TLabeledEdit, TMemo and TPageControl
- Visual Basic 6 RichTextWndClass, ThunderRT6FileListBox and msvb_lib_header
-
TestComplete includes a new sample project that demonstrates how you can work with TMS TAdvStringGrid controls from your scripts: <TestComplete Samples>\Desktop\Working With Grids\TMS TAdvStringGrid\.
Distributed Testing and Network Suite Improvements
-
Copying slave projects to remote computers. Using the network suite’s new Deploy mode option, you can configure the network suite to automatically copy slave projects residing on the master computer to corresponding slave computers. See Copying Slave Projects to Remote Computers.
To modify the network suite’s deploy mode from tests, you can use the
NetworkSuite.DeployMode
property. -
Opening user sessions on remote computers. The Automatic logon property of a network suite host has been replaced with a new Login mode property. It specifies the way TestComplete opens a user session on the remote computer. The following modes are available:
-
Manual - TestComplete connects to the user session you have opened on the remote computer manually.
-
Automatic (RDP Session) - TestComplete automatically opens the remote desktop session for the specified user on the remote computer. The remote computer remains locked.
-
Automatic (Console Session) - TestComplete automatically opens the remote desktop session on the remote computer and retargets it to the remote computer’s console. The remote computer remains unlocked.
For more information, see Opening User Sessions on Remote Computers.
To modify the host’s logon mode from tests, use the new
LogonMode
property of theHost
program object. -
-
The Run State page of the network suite editor now displays Remote Desktop windows for remote computers where the user session is opened regardless whether the user session has been opened manually or automatically.
-
Using a new Host timeout of a network suite task, you can specify the time period the network suite will wait for the remote computer to respond when running or verifying a task. To access the new property from tests, use the
HostTimeOut
property of theTask
program object. -
The Source path property of hosts and the Project file name property of tasks in the TestComplete network suite now have default values that are used if those properties are not specified.
If the Source path host property is not specified, the path to the folder that contains the current project suite is used. See Editing Host Properties.
If the Project file name task property is not specified, the name of the current project suite is used. See Editing Task Properties.
Checkpoint Enhancements
-
TestComplete now includes a new Create Clipboard Checkpoint dialog providing new comparison features for clipboard checkpoints. The dialog allows specifying text against which the clipboard contents should be compared and the comparison conditions (whether the clipboard contents are equal to or contain the specified text). It also allows specifying whether the letter case should be ignored during the comparison.
-
Now, TestComplete does not allow modifying an existing comparison mask when you create a region checkpoint. You can just load this mask and use it without any changes. This feature lets you avoid problems when the same mask is used for several region checkpoints.
-
The Object Checkpoint and Add Object wizards contain new pages that assist you in creating baseline data for object comparison.
-
Updating checkpoints from log. You can now easily update checkpoints from test results. For this purpose, the Additional Information panel shows the Update the <Checkpoint_name> checkpoint link if the checkpoint failed. For more information on updating checkpoints, refer to the description of the desired checkpoint type.
-
Now, if you are using Windows Vista or later, most checkpoint wizards are shown using the Aero style.
-
Improved Select Checkpoint wizard. Now, after you have decided on the desired checkpoint type, the Select Checkpoint wizard shows additional pages that let you specify the settings for the chosen checkpoint type.
Name Mapping Changes
-
Merging Name Mapping files. Now, to merge Name Mapping files of the projects that were created in previous versions of TestComplete with TestComplete 9 projects, first, you need to convert these files to the format used in the current product version. For more information on how to do this, see Merge Name Mapping Files.
-
Using Extended Find during recording. Earlier versions of TestComplete used ordinary (non-mapped) object names when recording user actions against objects that were mapped using the Extended Find setting. You had to modify recorded test operations manually to make them use the appropriate mapped object names.
In version 9 the situation has been improved. TestComplete can now recognize objects mapped with Extended Find and records the appropriate object name.
-
You can now use project variables to specify conditional mapping criteria.
-
The Object Browser has a new context menu command that allows you to add all child objects of an object to Name Mapping.
-
TestComplete now recognizes and displays mapped object names in the Object Browser and other panels and dialogs for objects that were mapped with the Extended Find attribute enabled.
By clicking the ellipsis button in the MappedName property cell, you can quickly switch to the Name Mapping editor and work with the mapping settings for the object there. By clicking the button in the cell, you can view the mapping settings in the subsequent dialog without leaving the Object Browser.
Test Log Improvements
-
Using environment variables in parameter and option values. Now, the
Log.Link
andLog.File
methods let you use the environment variables for some of their parameters. For instance, you can store the path to the desired file to the environment variable and then substitute the file name parameter with the name of the corresponding variable. You can also use environment variables for a part of the desired path. For instance, you can use the %Program Files%, %Temp% and other variables to specify the folder that holds the file to be posted to the test log.Also, you can use environment variables when you specify the values of the Log location options for the test project and the project suite. For more information, see the Default Project Properties - General Options and Project Suite Properties Page help topics respectively.
-
Saving test results to disk. The
Log
program object includes the newSaveToDisk
method that generates intermediate test results and saves them to the log items collection during the test run. -
Displaying computer and user names for each test run. Now, the Properties panel shows the computer name and the user name that were used for the specified test run. For more information, see the description of the panel.
-
Exporting test results when working with TestComplete via COM. The
Integration
object includes the newExportResults
method that lets you export test results when you are working with TestComplete via COM. For more information, see Working With TestComplete via COM - Overview. -
Easier navigation to upper levels. The test log’s toolbar includes the new Move Focus to Parent Level button that lets you easily navigate within the Log Items tree.
-
Navigation between nodes in XML Comparison results. Now, the XML Comparison Results page of the test log allows navigating between nodes using the Go to Next list shown on the page’s toolbar.
-
Jumping to manual test steps. If a test log contains a message posted there by a manual test step, a double-click on the message will open the Manual Test editor and highlight the step in it.
-
Links to expected and actual images. Extended message descriptions that are shown in the test log’s Additional Information panel now include a link that lets you jump to the Picture pane to view and compare expected and actual images for simulated test commands.
-
When the Comparison Mode of the Test Log’s Picture panel is active, pixels skipped while comparing BMP or PNG images are now displayed as transparent.
Test Visualizer Improvements
-
The Visualizer Frame window now allows changing the scale of displayed images by dragging the Zoom slider that is located at the toolbar of the mentioned window.
-
The Visualizer Frame window now allows obtaining the names of displayed objects. For this purpose, the context menu of the window includes a new item - Copy Object Name. This menu item lets you copy the name of the desired object to the clipboard and then paste it to the needed place in your test.
-
The Visualizer panel lets you select images to be updated during the next test run. To command TestComplete to update the desired image, select the corresponding Update check box in the top left corner of the frame’s area. For more information on updating Visualizer frames, see Updating Visualizer Frames.
-
Visualizer’s performance has been improved. Now Visualizer captures images faster and has less impact on the test execution speed.
Keyword Testing Enhancements
-
The Convert to Script item was removed from the context menu of the Keyword Test editor. You can still convert keyword tests to scripts from the Project Explorer. For more information, see Converting Keyword Tests to Scripts.
-
If a keyword test has Test Visualizer images associated with its operations, the Convert To Script command keeps these associations for the generated script statements. In earlier versions, you got just script code without Visualizer images.
-
The Keyword Test editor offers better support for modifying parameters of enumeration types. See Specifying Enumeration Values in Parameters.
-
The Keyword Test editor now has a new Frequently Used operation category. It lists operations that you added to your keyword tests more often than other operations. The category provides quick access to frequently-used operations and saves your time when you are editing keyword tests. By default the operation is hidden. It becomes visible after you added at least one operation to a keyword test on your computer.
-
The Parameters page of the Keyword Test editor now includes a toolbar that lets you easily create and modify the order of keyword test parameters.
-
The Enable/Disable Operations item of the Keyword Test editor’s context menu is split into two separate Enable Operations and Disable Operations items.
Changes in Scripting and Objects
-
New method of the
DBTableVariable
object. When you work with external files (CSV files, Excel sheets or database tables) from tests using DB Table variables, TestComplete can lock these files. Earlier, to continue working with these files outside TestComplete, you had to wait for the test to stop and TestComplete to unlock them. Now you can unlock these files during the playback. TheDBTableVariable
object has a newDisconnect
method that allows closing the connection to the data storage to which the DB Table variable provides access. -
The
Storages.INI
method now supports Unicode INI files. -
Objects in .NET and WPF applications now have an additional
ClrAppDomain
property that returns a .NET application domain the object belongs to. This way, for example, you can determine the .NET runtime version that a specific object uses. -
The
aqDateTime.AddMonths
method’s handling of invalid resulting dates has been changed. Now, if month addition produces an invalid date (for example, April 31),AddMonths
adjusts it to the last day of the resulting month (that is, April 30). In earlier TestComplete versions,AddMonths
returned the corresponding day of the month following the resulting month (that is, May 1).You may need to modify your tests to accommodate the new method behavior.
-
The
FontStyle
property’s behavior has been changed. TheLogParams.FontStyle
property now returns theFontStyle
object that represents a collection of font styles, not an integer value as it was in earlier versions of TestComplete. To specify the font style used to display messages in the test log now, you can use properties of the returnedFontStyle
object.In this connection, old scripts that use the
FontStyle
property cannot be run correctly. You need to modify them so that they use properties of theFontStyle
object.
Test Debugging and Freeze Diagnostics
-
TestComplete 9 includes a built-in script debugger. Installing Microsoft Script Debugger is no longer needed, and script debugging now works out-of-the box.
-
You can now copy values of watched expressions in the Watch List panel. See Watch List Panel - Common Tasks.
-
The Breakpoints panel includes the new Routine column that specifies the name of the routine holding a breakpoint.
-
Tracking Windows Dump Reports. If the tested application is terminated unexpectedly during the test playback, TestComplete tracks the dump report generated by the Windows operating system and posts it to the test log. For more information, see Tracing Windows Dump Reports.
-
Improved Freeze Diagnostics. TestComplete now does not require any additional software installed to generate error reports when the tested application hangs. It does that itself. See Diagnosing Application Freezes.
User Interface Enhancements
-
TestComplete now allows changing the scale of images displayed in the Image Viewer, Visualizer Frame Window, Image Editor and Test Log Picture panel by rotating the mouse wheel while holding the Ctrl key pressed.
-
When you enter text in the Quick Search box of the Object Browser panel or the Object Spy window, TestComplete now searches for the specified text both in property names and property values. Earlier versions of the product sought for the text only in property names. The new functionality helps you find desired properties faster.
-
The Project Explorer panel now does not display the items of the Objects, Files and Regions collections. To view the elements added to these collections, use the Objects, Files or Regions editor respectively.
-
The context menu of the project’s Test Items page has new Expand All and Collapse All items that let you quickly expand and collapse all items in the test items hierarchy tree.
-
The context menu of the Call Stack panel now includes new Run to Cursor and Insert Breakpoint items that provide additional debugging functions.
-
The Docking Style option was removed from the User Interface dialog. Now, when you dock a panel, TestComplete behaves as if you have set that option to VS2005.
Other Changes
-
TestComplete provides native support for the GIF image format. Now there is no need to install image adapters (like GIF Extender) in order to add GIF images to the Stores | Regions collection or post them to the log.
-
TestComplete now provides support for ICO images. You can add ICO images to the Stores | Regions collection, use them for creating checkpoints and when comparing images and post them to the log.
-
The Add DB Table Variable wizard has been improved. Now the wizard lets you specify an existing CSV file as well as create a new CSV file to be used as a data storage. Also, it includes the special CSV Format Parameters page that allows you to specify custom parameters for the used CSV file.
-
Now project suite variables can be used to parameterize project test items that execute script routines and keyword tests.
-
TestComplete now supports LZW compression for TIFF images. You can select this compression type for TIFF images via the Image Settings dialog or set it in your tests.
-
The Character encoding project property has been renamed to Units encoding.
-
The Packer Executable column in the Packer Options dialog has been renamed into Archiver Executable. The Packer path edit box in the Archiver Properties dialog has been renamed into Archiver executable.
The Unpacker Executable column has been removed from the Packer Options dialog. Edit boxes used to specify parameters of archivers for extracting packed test results have also been removed from the Archiver Properties dialog (the unpacking functionality will not be implemented and is no longer reserved for future implementations).
-
If you try recording a test over a Delphi or C++Builder application that is compiled without debug information, TestComplete now notifies you about that with the Missing Debug Info message. Also, the Show Again Flags dialog contains a new Show the 'Missing Debug Info' message option that specifies whether TestComplete should display the notification message.
-
Exporting test results from the TestComplete command line. Now, the TestComplete command line includes the new
/exportlog
parameter that allows exporting the test run results to the .mht file. For more information, see TestComplete Command Line. -
When cloning a test project, TestComplete now keeps references to external scripts instead of cloning the referenced scripts.
-
The Object Spy offers better performance when capturing WPF objects.
-
The Project Explorer’s performance has been improved.
-
The Make Page object a child of the browser process and Use Firefox web tests compatible with TestComplete 6 options became deprecated and were removed.
-
A number of bugs have been fixed.
Discontinued Support
-
In TestComplete 9.0, we have excluded the load testing functionality. For creating load tests, we recommend that you use the special load testing tool offered by SmartBear Software - LoadComplete.
-
TestComplete no longer supports Firefox versions 4-9 for web testing, as these versions reached end-of-life.
Currently supported Firefox versions are: 3.6, 10, 11 and 12.