Features Added to TestComplete 8.10

Applies to TestComplete 15.47, last modified on January 20, 2023

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

Support for Microsoft Silverlight 4 Applications

Support for Microsoft Silverlight 4 has been improved, particularly in the area of object recognition and simulation of user actions with Silverlight controls.

  • Now, you can test Silverlight 4 applications in both black-box mode and white-box mode. To test these applications in white-box mode (that is, to make them “Open” for the test engine), you need to process them with a special utility that is included in the TestComplete package. After that, the test engine will be able to access internal objects, methods, properties and fields of your Silverlight application. You can also get access to classes and static members defined in all assemblies included in the Silverlight 4 application package. See Addressing Objects of In-Browser Silverlight Applications.

  • Silverlight objects exposed by TestComplete are now marked with the icon in the Object Browser panel.

  • TestComplete 8.10 includes a number of scripting objects that simplify simulating user actions on Microsoft Silverlight 4 controls. See Supported Microsoft Controls.

For more information on support for Silverlight 4 applications, see Testing Silverlight Applications.

Support for Adobe AIR Applications

TestComplete now provides support for HTML-based and Flex-based out-of-browser Adobe AIR applications. You can test AIR applications in both black-box mode and white-box mode. TestComplete allows you to make AIR applications “Open” by compiling them with special files included in the TestComplete package. If you do this, the test engine will get access to all internal objects, methods and properties of AIR applications so that you can make calls to their internal methods and properties in your tests. See Testing AIR Applications.

Support for Other Applications, Technologies and Controls

  • Improved support for Adobe Flex applications. Support for Adobe Flex has been improved for specific cases when WMode = transparent is set. That is, now, there is no need to set this parameter to window.

  • Java 7 support. TestComplete 8.10 supports Java SE 7 (both 32-bit and 64-bit versions), that is, it allows testing Java applications that run on the latest version of the Java platform.

  • Support for Embarcadero RAD Studio XE applications. TestComplete now supports Delphi and C++Builder applications developed in Embarcadero RAD Studio XE, so now, you can test software created with the latest Delphi and C++Builder technologies.

  • Support for Qt ver. 4.7.0. TestComplete 8.10 supports white-box testing of applications that use Qt library ver. 4.7.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/

  • Support for Sybase PowerBuilder 12 .NET applications. Now, you can use TestComplete to test applications created with PowerBuilder .NET 12.0. These applications are “Open” for your tests by default, so the test engine can access their internal methods, properties and objects.

  • Integration with Microsoft Visual Studio 2010 Test Agents. Now, you can run Visual Studio test projects extended with TestComplete projects remotely using Microsoft Visual Studio Test Agents.

  • Support for Atlassian JIRA 4.1. Now, you can use TestComplete to create issues in the Atlassian JIRA 4.1 database directly from the test log. For this purpose, use the Add Bug to JIRA Database dialog.

  • AQtime 7 support. TestComplete now integrates with the latest version of AutomatedQA’s profiling tool named AQtime 7. So, you can use AQtime’s new and enhanced profilers to profile your applications during the testing and to perform coverage testing. Also, to let you set up AQtime 7 from test scripts, the AQtime7 object and the AQtimeIntegration.AQtime7 property have been added. For more information, see Integration With AQtime and Coverage Testing.

  • Improved support for XAML browser applications (XBAPs). Now, you can access the root page object of your XBAP application by using a new Process.Page("path_to_xbap") method. You can then access other objects, except for pop-up windows, as children of the root page object. This allows you to create simpler and shorter tests. Like in previous versions, all the objects are also available at their previous places in the object hierarchy.

  • Improved support for Developer Express controls. TestComplete now supports more Developer Express VCL controls. For more information, see Supported Developer Express Controls.

  • Support for Adobe Flex DataGrid controls. TestComplete 8.10 includes a new FlexDataGrid test object that lets you easily simulate user actions on Adobe Flex DataGrid controls in your application.

  • Improved support for Syncfusion controls. TestComplete 8.10 introduces extended support for .NET Windows Forms controls that are included in Syncfusion Essential Studio 2010 Vol. 3.

  • Extended support for MFC controls. TestComplete 8.10 includes new scripting objects that provide extended support for the following MFC controls and let you easily simulate user actions on them: GridCtrl (CGridCtrl), MenuButton (CMFCMenuButton), StatusBar (CMFCStatusBar) and EditBrowseCtrl (CMFCEditBrowseCtrl).

  • Support for the WPF Ribbon release version. Earlier versions of TestComplete supported the CTP version of the WPF Ribbon control. TestComplete 8.10 introduces support for the release version of this control (WPF Ribbon, ver. 3.5.40729.1, July 2010).

Load Testing

The load testing subsystem has been dramatically improved and now includes the following new features:

  • Run-time monitoring and server-side counters. Now, you can view detailed information about the load test progress and performance of the tested host at run time. The Execution Progress tabbed page of the LoadTesting editor indicates an individual progress state of each station and of every virtual user that takes part in the load test.

    The Runtime Graphs tabbed page displays various server characteristics during the run: CPU load, memory consumption and many others. This helps you better understand how the server behaves during the load test.

    The page can plot several server performance metrics on a timeline. The graphs are fully customizable. You can choose the metrics for monitoring from an extended set of available metrics provided by the server’s operating system (Windows, Linux) and the web server (IIS and Apache).

  • Variables providing dynamic values for request parameters. Simulating requests with different parameter values has become a lot easier now that TestComplete provides load testing variables. The variables serve as a data source of form fields and query string parameters, such as user names, passwords, product IDs, search terms, and so on. You can bind variables to request parameters so that each virtual user plays back a request using a different set of values instead of the same recorded values. This enables you to better simulate real-life users and achieve more realistic load testing behavior.

  • Easier modifying of request parameters. The Load Testing Task editor now provides table-like editors for parameters held within GET and POST requests. This makes it easier to view and modify the parameters and helps you avoid typos.

  • Request-specific data selectors. In earlier versions, data selectors that extracted values from responses and automatically inserted these values into subsequent requests were defined globally for the entire recorded traffic. Now, they are defined for individual responses in the traffic and can be managed on the Data Selectors pane in the Load Testing Task Editor. As a result, now, it is easier to identify responses where dynamic parameters are introduced, as well as to manage data selectors that are applied only to a specific response.

    When you open a load test created with an earlier TestComplete version in TestComplete 8.10, it analyzes responses in the recorded traffic and automatically converts its existing Auto-Updated Page Parameters settings to the new Data Selectors format.

  • Think time. TestComplete now allows you to customize the think time for requests in the simulated traffic to better adjust the load on the tested web server. You can view the recorded think time of your load tests in the Think time column of the Load Testing Task editor and quickly change the values of specific requests, as well as the values of all the requests in a task.

  • Grouping requests by pages. Requests displayed in the Load Testing Task editor can now be grouped by the pages they correspond to. This helps you understand the sequence of pages accessed during the test and makes it easy to see which resources (style sheets, scripts, images, and so on) correspond to specific pages.

  • Request indexes. The Requests table in the load testing log contains a new Global Index column. It holds requests' unique IDs within the simulated traffic, which you can also see in the Load Testing Task editor. You can use these values to identify specific requests when analyzing load testing results and during the load test debugging.

License System Update and General Enhancements

  • License system update. The License Manager and the license key activation procedure have been simplified and better automated. The new license activation wizard streamlines typical cases of the activation process by guiding the user through the required steps, for automated and manual activation. The wizard is included in both TestComplete 8.1 and the standalone License Manager utility.

  • Test Data Generator. Using the built-in data generating functionality, you can easily create a set of arbitrary data for your tests. The generated data can be saved in the form of Excel worksheets or TestComplete Table variables and then used in data-driven and load tests. You can not only fill in the entire tables, but also automatically populate individual columns of Table variables. See Using Data Generators.

  • Auto-running tested applications on recording. TestComplete 8.10 can now automatically launch tested applications when the recording starts. You can specify this in a new Autorun column of the TestedApps and WinCETestedApps editors and in the Create New Project wizard.

  • Test Visualizer improvements:

    • Now, TestComplete supports updating Visualizer frames from the test log. The context menu of the test log’s Actual Image panel has a new item - Update Visualizer Data. It lets you easily update Visualizer frames with images captured during the test playback. See Updating Visualizer Frames.

    • Now, when you are updating Visualizer frames from screen, TestComplete also updates information on methods and properties of objects shown in the image.

    • Test Visualizer offers new modes for updating frame data during the test run. See Default Project Properties - Visualizer Options.

  • New run modes. TestComplete 8.10 extends the list of supported run modes with three new modes:

    • Web - Used for running and testing web pages as well as Flash, Flex and Silverlight applications.

    • Java - Used for running and testing Java code in the form of .jar and .class files.

    • AIR - Used for running and testing Adobe AIR applications.

    See Run Modes.

  • Changes in web testing. In order for the test engine to be able to simulate user actions on web pages correctly, the zoom ratio of the tested web page must be set to 100%. To prevent problems that occur when this requirement is not met, TestComplete 8.10 automatically sets the zoom ratio to 100% on the tested web pages:

    • Now, when you start recording a test on a web page, TestComplete automatically changes the page’s zoom ratio to 100%.
    • Also, the Page.ToURL and Page.NavigateTo methods that are used to navigate to web pages in tests now automatically set the zoom ratio of the destination page to 100%.
  • Improved support for Perforce source control system. Now, the TestComplete source control integration subsystem supports Perforce 2009.2 and Perforce 2010.1.

  • Updated Create New Project wizard. The Create New Project wizard has been improved. It includes special pages and dialogs for easier adding tested applications to your project. The pages of the previous wizard that were not used frequently have been removed. All of these will help novice users to start working with the product faster.

  • Improved Code Completion. The Code Completion window of the Code Editor now displays local script variables defined in the currently edited routine and the routine’s parameters.

  • Easier troubleshooting:

    • Now, if users try to record tests on Flex or Silverlight applications that are not prepared for TestComplete, the latter displays balloons that warn the users of this and suggest to prepare the application for testing. This will help novice users not to miss important steps.

    • TestComplete now detects when test run errors are caused by specific user session states (such as locked sessions, disconnected Remote Desktop sessions, and so on) and automatically adds appropriate troubleshooting information and solutions to the test log. This helps testers diagnose causes of test failures and eliminate them more easily.

  • Generating dump files for tested applications. Now, you can easily generate a dump file for the tested application’s process, if it hangs or crashes during the test run, by using a new Dump Generator utility shipped along with TestComplete (<TestComplete>\Bin\aqDumpGenerator.exe). You can then send this dump file to our Support Team manually via e-mail. Dump files generated with this utility contain a memory dump, information about threads running in the application process, CPU registers, modules used by the process, the call stack, and other information that can be useful for developers. If the problem with the tested application is caused by the TestComplete improper behavior, information from such a dump file can help the TestComplete Development Team to find the exact cause of the problem and solve it faster.

  • Performance improvements. Now, it takes less time to open large project suites over the network and to clone existing test projects.

Keyword Testing

  • Using Table variables for data-driven testing. Keyword test variables of the Table type can now be used as a data source for data-driven tests. Using the new Data Generator functionality (see above), you can easily generate the entire tables of test data or populate tables’ individual columns.

  • Disable and enable operations. Now, you can disable and enable individual operations in your keyword test. This allows you to exclude operations from or include them into the execution flow without removing and restoring them. You enable and disable operations by using a new Enable/Disable Operations item of the keyword test editor’s context menu. This functionality is very similar to commenting and uncommenting script lines. See Enabling and Disabling Operations.

  • Improved Keyword Test editor:

    • The keyword test editor now displays the contents of Table variables below the test contents. This lets you easily view the tables’ data and modify it. See Keyword Test Editor - Test Steps Page.

    • The keyword test editor now highlights the comment text. This makes it easier to distinguish among comments of different operations. You can specify the highlighting color in the new Keyword Test Editor - Highlighting Options dialog.

    • TestComplete includes a new options group - Keyword Test editor | Highlighting. It allows you to customize highlighting settings that are used for a keyword test’s operations and categories. For more information, see Highlighting Options Dialog.

    • The Description column of the Keyword Test editor now contains a more detailed text on the appropriate checkpoint’s effect while a test is run.

    • Now, the set of commands available in the context menu of the Keyword Test editor at run-time differs from that which is available at design time. At run time, TestComplete hides design-time commands to allow you to quickly find the needed one.

    • Now, if you add a new operation to your keyword test, TestComplete shows you exactly where the operation will be inserted within your test. So, if you move the mouse cursor, the operation’s further location is also changed.

  • New operation for property comparison - TestComplete 8.10 adds a new Compare Properties operation to the Checkpoints category that enables you to verify the value of the tested object’s property as part of your keyword test.

  • Improved Edit Parameters dialog. The Edit Parameter dialog that is used to alter operation parameters includes a number of improvements:

    • In TestComplete 8.10, the dialog has a new Object Property mode that lets you easier select properties of on-screen objects.

    • The On-screen Action operation’s wizard now contains the Quick Search box that helps you search for the needed property or object faster.

    • If you choose the Code Expression mode, you can use the Code Completion functionality to enter the script snippet into the Value box. This prevents mistakes in the entered code and lets you input code faster.

    • If you enter a code snippet into the dialog, it now automatically checks the script syntax on exit.

    • The dialog now displays a brief description of the selected Mode. This description helps novice users quickly understand what this or that mode does.

Checkpoints

  • Easier analysis of comparison results:

    • If a region comparison fails, TestComplete posts a link that opens a new Calculate Region Checkpoint Parameters dialog to the test log. This dialog analyzes the comparison parameters and, if the images slightly differ, calculates recommended values for the checkpoint parameters that will allow the test engine to treat the images as equal during the next run.

      The same functionality is also implemented for file checkpoints: a link in the test log invokes a new Calculate File Checkpoint Parameters dialog that analyzes the file checkpoint’s parameters and calculates recommended values for them. If you use these values, the test engine will treat the files as equal when comparing them next time.

    • TestComplete 8.10 also includes a new File Comparison Results pane, which visually represents the file difference.

    • Log messages posted by the region and file checkpoints now have a link to documentation. This helps novice users faster understand why the compared images and files differ.

  • Improved mechanism of specifying checkpoint parameters. Now, you can use sliders to specify the Pixel Tolerance and Color Tolerance parameters of region checkpoints.

  • Now it is easier to specify a mask for image comparison. A mask lets you easily exclude variable parts of an image from a comparison. The Create Region Checkpoint wizard now contains a new Edit Comparison Mask page that assists you in specifying the needed comparison mask.

  • Now DBTable and Table checkpoints can use empty tables as the baseline data. DB Table and Table checkpoints now can store empty tables (databases or query results) and then use them as the baseline data for a comparison.

  • Property checkpoints now post more detailed messages to the test log.

Name Mapping

  • Using nested object properties in name mapping templates. TestComplete now supports using nested object properties, such as NativeClrObject.Name or NativeWebObject.id, in name mapping templates. This allows you to add these properties to the default identification properties for the objects being mapped.

  • Improved mechanism of storing mapped objects’ information. TestComplete 8.10 introduces some enhancements in the way it stores information about methods and properties of mapped objects:

    • The Store Code Completion information option is now project-specific and available in the Name Mapping category of project properties. This allows you to better adjust member information stored for mapped objects in individual test projects.

    • The Store Code Completion information option has a new additional value, Brief. It means that TestComplete will save information only about basic methods and properties. These are the methods and properties that you can see in the Basic View of the Object Browser and Object Spy.

    • If your Name Mapping file's size became very large due to the object member information stored in it, you can now easily remove this information and reduce the file size. To do this, simply set the project’s Store Code Completion information option to None and save the changes.

    • The meaning of the StoreCodeCompletionInfo parameter of the AddNamedChild method has been changed. Now, if this parameter is True, TestComplete looks at the project’s Store Code Completion information property to determine whether to save the object member information and the amount of information to store.

  • The Conditional Mode check box in the Name Mapping editor is now read-only. To enable or disable conditional mapping of an object, double-click it and use the ensuing wizard. For more information, see Name Mapping - Conditional Mapping Criteria.

Distributed Testing and Network Suite

  • New script method to copy projects to remote computers. TestComplete 8.10 includes a new Host.CopyProjectToSlave method providing a convenient way to copy slave projects from master hosts to slave hosts in scripts.

  • The NetworkSuite object has a new SynchPoints property that provides access to the collection of synchronization points defined in the current project. To access a specific synchpoint within the synchpoint collection, you can use the following syntax: NetworkSuite.SynchPoints.synchpoint_name. The returned object contains the WaitFor method that pauses the test run until other projects reach this checkpoint. That is, to synchronize projects, you can use code like NetworkSuite.SynchPoints.synchpoint_name.WaitFor() rather than NetworkSuite.Synchronize("synchpoint_name"), which was used in earlier versions. The new approach lets you avoid test malfunctions caused by misprints in the synchpoint name.

New and Modified Scripting Functions

  • The TableVariable object has a number of new methods and properties that allow you to work with variables of the Table type from scripts and iterate through the table’s rows.

  • The aqBinaryFile object has a new WriteByte method that allows you to convert a Variant-compatible value to a byte value and write it to a binary file.

  • The aqString object now has a new FindLast method that allows searching for the last occurrence of a substring within the specified string.

  • The aqFolderInfo object has a new SetAttributes method that allows you to set the attributes of the specified folder.

  • The aqFileSystem object has two new methods, MapNetworkDrive and DisconnectNetworkDrive, which allow you to map a remote network folder to a local drive and unmap it when needed.

  • TestComplete provides a new ManualTests program object to access manual tests added to a project from scripts. Now, mtsa constants are defined in the ManualTests object. The corresponding mtsa members of the ManualTesting object have become obsolete and are supported only for backward compatibility.

  • The ExtendedMessageAsPlainText property of the LogAttributes object is now True by default.

Testing Windows Mobile Applications

  • The way PDA support is installed on Windows mobile-based devices has changed. Now, TestComplete checks whether PDA support is installed (for TestComplete 7.x - 8.0). If it is installed, the existing files are not uninstalled during the installation of PDA support for TestComplete 8.10. To uninstall the obsolete files, you can use the device’s control panel.

  • The PDA Controller panel is called easily. Now, you can quickly activate the PDA Controller panel if it is hidden. To do this, click the Show PDA Controller button on the Recording toolbar.

Miscellaneous

  • Test log improvements:

    • Now, if the Show log on pause option is enabled, TestComplete automatically shows the test log on pause and highlights the log message which was posted last.

    • The Remarks panel has been renamed to Additional Information.

  • Now, TestExecute has a new command-line parameter, test, which allows running individual tests provided by TestComplete test projects.

  • Changes in the DLLAccess plugin. In general, to call a DLL function from script, you have to write script code that forms a function definition. Now, this is not necessary provided that the DLL is compiled with debug information. In this case, the DLLAccess plugin takes the function definition from debug information. If your tests create a function definition, this definition will overwrite the definition which the test engine creates from the debug information. See Calling DLL Functions From Tests.

  • Now you can copy the text displayed in the Step Description dialog (the Manual Testing subsystem) to the clipboard.

  • When opening TestComplete 7 projects, TestComplete 8 automatically enabled the Test Visualizer functionality for these projects. In certain cases, this might cause performance slowdown for converted projects. In version 8.10 this behavior has been corrected and now the Visualizer is not switched on automatically.

  • The structure of TestComplete plugin modules has been changed: plugins that solve related tasks (like support for third-party controls) have been united into one physical module. This has reduced the number of files in the TestComplete installation folder.

See Also

Version History

Highlight search results