Features Added to TestLeft 2.0

Applies to TestLeft 15.40, last modified on March 17, 2022

This topic describes the changes made to TestLeft 2.0. For information about changes in other versions of TestLeft, see TestLeft Version History.

Mapping Test Objects

TestLeft version 2.0 introduces object models (or simply models). These are classes that describe the object hierarchy of your tested application. You can create models manually or generate code by using the new Copy Model menu command in the TestLeft UI Spy panel. After that, you can map your test objects to a model and access the objects in your test code easier. Besides simplifying access to objects, the models also make your test code better organized by separating the object identification code from the code that simulates user actions. See Mapping Test Objects for complete information.

TestLeft UI Spy Enhancements

  • The new Point and Fix mode for selecting objects on screen: you hover the mouse pointer over an object and then click a shortcut to capture it. This way, you can capture popup windows, menus, drop-down lists, tooltips and similar objects that are displayed temporarily.

    Selecting an object from screen with the Point and Fix tool
  • UI Spy can now connect to remote computers, so you can explore remotely running applications and generate test code for them. The remote computer needs to have TestLeft, TestComplete or TestExecute installed, and must allow connections from UI Spy (see the requirements for remote computers).

    Connecting UI Spy to a remote computer
  • UI Spy can now generate code for calling a specific method or property of an object, including native methods and properties:

    Generating code that calls native properties and methods
  • New code generation options:

    • Change the starting object for the generated code – Driver, process or window.

    • Choose whether Find calls should be single-line or multiline.

  • You can view the values of indexed properties: Click Params next to the property name, enter the parameter values and see the result.

  • If a property returns an object, you can view the properties of that object by clicking the ellipsis button (...).

  • The new Highlight on Screen command helps you locate a specific object in your application.

    Viewing objects on screen
  • UI Spy now shows application icons.

  • Invisible objects, like hidden controls, are now shown in gray:

    UI Spy visualizes information on applications and their objects better
  • You can filter methods and properties to quickly find the ones you need.

  • UI Spy now shows the description of methods and properties:

    UI Spy shows information on properties and methods that TestLeft interfaces provide
  • UI Spy now shows the basic IObject and IObjectTreeNode interfaces and their methods and properties:

    Basic interfaces in UI Spy’s Objects Tree
  • The Refresh command now updates the entire object tree, rather than the immediate children of the selected object like it did before.

  • Easier access to UI Spy: the command to open UI Spy has been moved from Visual Studio’s View | Other Windows submenu to the View menu.

    Opening UI Spy in Visual Studio

xUnit.net Support

TestLeft now provides templates for xUnit.net test projects and tests for Visual Studio.

Support for Oracle Forms

TestLeft now supports testing of Oracle Forms 11g and 12c. You can use TestLeft UI Spy to explore objects in Oracle Forms and generate test code. See also Preparing Oracle Forms for Testing.


TestLeft 2.0 includes Visualizer– a subsystem that automatically captures images of top-level windows or the entire screen during the test run. These images are helpful when you create or debug tests: they help you easily retrace the test steps and understand what happened in the tested application or system during the test run.

API Enhancements

  • The new FindAll method lets you find all the objects that match a pattern. The returned collection supports LINQ queries. See Searching for Test Objects.

  • The Driver.Applications.Run(…) method now returns the IProcess object. This makes the object identification code shorter, because now, there is no need to start it with a Find method call to get a process.

  • The Driver.Applications.RunNNN methods now return the object of the launched application, so you do not need to call Driver.Find to find it.

  • The Driver.Options.MSAA.AddWindow method now accepts not only window class names, but also window captions. The syntax for the argument is WndClass or WndClass;@text=WndCaption (optionally, with wildcards).

  • Debug mode: TestLeft has a number of settings that assist in debugging your tests. Namely, you can verify whether an object is being cast to an unsupported interface, or whether ambiguous object recognition has occurred.

Other Improvements

  • Checking for updates: When you launch Visual Studio, TestLeft checks for updates and shows a notification if an update is available.

  • Now TestLeft can automatically expose elements in CEF-based applications.

  • TestLeft now includes sample Visual Studio test projects that demonstrate how to create tests with TestLeft. The samples are installed to <User>\Public\Documents\TestLeft 15 Samples. For details, see TestLeft Samples.

  • The TestLeft .NET API reference is now installed and integrated into Visual Studio’s help system. You can now press F1 in Visual Studio’s Code Editor to get help on a TestLeft-specific word under the cursor. Formerly, you had to download and install the help file manually to enable F1 help.

Bug Fixes

  • Fixed: TestLeft closed unexpected windows automatically.

See Also

TestLeft Version History
Introducing TestLeft

Highlight search results