Applies to TestLeft 2.50, last modified on April 10, 2018

SmartBear TestLeft is an automated UI test framework for creating and running functional tests for Windows desktop and Web applications. You can create tests in any .NET language and in Java, and run them by using the .NET or Java test runner, from your IDE, from CI systems like Jenkins, or in any other way you find suitable.

TestLeft is built on the TestComplete engine and it supports a vast majority of desktop and web applications and technologies supported by TestComplete. It helps you create automated functional and UI tests for .NET, WPF, Windows “native”, Java, Delphi and other desktop applications and for web applications running in modern web browsers like Edge, Chrome, Internet Explorer or Firefox.

How It Works

TestLeft is implemented as two libraries targeting different platforms:

  • TestLeft for .NET allows creating tests in C#, Visual Basic .NET or any other .NET language.

  • TestLeft for Java allows creating tests in Java.

Both libraries have similar functionality and provide similar methods, yet some differences still exist. Read Difference Between .NET and Java Versions of TestLeft to learn more about differences of library implementations.

You create TestLeft tests in Visual Studio (in C# or Visual Basic.NET) or in any Java IDE, like IDEA, Eclipse or NetBeans (in Java).

Your test code uses interfaces, classes, and methods provided by the respective version of the TestLeft library. You can quickly select the needed test methods or properties in the code completion window of your IDE. To explore the objects, methods, and properties available to TestLeft, you use the TestLeft UI Spy utility. It can be invoked either as a standalone application, or as a panel integrated into Visual Studio. If you use IntelliJ IDEA, you can run the utility as a standalone application directly from your IDE:

Automated UI testing with TestLeft: TestLeft components in Visual Studio

Click the image to enlarge it.

Automated UI testing with TestLeft: TestLeft components in IDEA

Click the image to enlarge it.

You compile your test code in a DLL, or executable (.exe or .jar), which you can then run with any tool you like, for instance:

  • By using any testing framework, for example, MSTest, NUnit, or xUnit.net for .NET, or JUnit or TestNG for Java, or any other framework you use in your company.

  • From your IDE.

  • As a standalone executable.

  • With Jenkins or other build automation tool.

  • In any other way you find suitable.

When you run a test, your test code sends commands to the test runtime engine that simulates user actions on the tested application:

Automated UI testing with TestLeft: Running tests

TestLeft code can send commands to the runtime engine on your computer or on a remote machine where TestLeft is installed. TestLeft supports remote instances of TestExecute and TestComplete as test runners (the latest versions of these products can accept commands from TestLeft). At that, the test runner and the tested application can reside on a physical or virtual machine in your network, or even on a cloud computer.

Why Use TestLeft?

  • You can create automated tests in your favorite IDE (Visual Studio, IDEA, Eclipse or other), which means you can use all the features of this development tool: well-known and comfortable editor, code completion, powerful debugger, and more.

  • You create automated UI tests at earlier stages of your development cycle.

  • You can create automated tests for almost any Windows desktop application running on your computer, or any Web page shown in most popular browsers: Chrome, Edge, Internet Explorer, or Firefox.

  • You take advantage of out-of-the-box support for popular controls and frameworks. For example, you do not need to know specifics of some grid control to retrieve data from it.

  • Your tests are not limited with the UI commands only. You can access “native” methods and properties of tested objects.

  • You can easily integrate your tests into automated build and test systems. For instance, you can run your TestLeft tests from Jenkins or any other build automation tool, from Visual Studio Test Manager, from your MSTest, NUnit, xUnit.net, JUnit, or TestNG test runner, from TestComplete, from the operating system (as an executable), and so on.

    You can create and run tests for applications that reside on remote machines.

  • You can easily create custom test libraries and share them with your team members.

  • Finally, TestLeft is based on TestComplete, which makes it a perfect test solution for those companies that have already been using TestComplete or TestExecute.

    The latest version of TestComplete and TestExecute understands TestLeft commands, so you can easily combine TestLeft tests that developers created earlier with TestComplete tests that QA engineers create later.

What Applications Can Be Tested?

Any Web or Windows desktop application.

Regardless of the platform you use to create TestLeft tests, .NET or Java, you can test applications created with any development tool or technology: .NET, WPF, Java, Delphi, C++Builder, and so on.

Here is a brief overview of what you get:

  • Web: With TestLeft, you can create and run functional tests for web pages shown in Chrome, Edge, Internet Explorer, or Firefox. Local web pages shown with the Chromium Embedded Framework browser control or Microsoft WebBrowser control are supported, as well.

    TestLeft tests web pages from the client side, so the tests will work whatever server framework or platform you use. TestLeft supports HTML pages and Rich Internet Applications. It recognizes individual web elements and provides access to their properties and methods. It supports many popular web controls by various vendors and offers special methods and properties for simulating user actions on them.

  • Desktop: With TestLeft, you can create and run functional tests for any Windows desktop application.

    TestLeft offers extended support applications created with popular compilers like Visual C++, Java, C#, Visual Basic, VB.NET, Delphi, C++Builder and many others. It can access internal objects, methods, and properties of your tested applications. Also, it recognizes individual controls and provides special methods and properties for simulating user actions on and retrieving data from these controls.

For detailed information on supported applications, browsers, and frameworks, see Supported Applications and Technologies.

What IDE Versions Are Needed?

.NET platform: Any edition of Microsoft Visual Studio 2013, 2015, or 2017.  Your test project must target .NET Framework 4.5 or later.

Java platform: IntelliJ IDEA 2016 or later; Eclipse Mars or later; any other Java IDE.  Your test project must target Java 8 or later.

Which TestLeft Version to Use: x64 or x32?

There are two versions of TestLeft: 32-bit and 64-bit. If your computer is running a 64-bit version of the operating system, TestLeft x64 will be installed on your computer automatically when you install or update TestLeft.

When a 32-bit application runs on 64-bit Windows, the operating system uses the WoW64 (Windows-on-Windows 64-bit) subsystem to handle the application. This layer provides communication between the 32-bit application and the 64-bit processor. TestLeft x64 works natively on 64-bit systems and does not have to use the subsystem that improves its performance in comparison with TestLeft x86.

In regards to other aspects, TestLeft x64 does not different from TestLeft x86:

  • Like TestLeft x86, TestLeft x64 can test both 32-bit and 64-bit applications. It can recognize their internal objects, methods, properties, and you can work with them in your tests.

  • The tests you create with TestLeft x64 can be run on computers where TestLeft x86 is installed and vice versa.

  • TestLeft x64 does not require any special license key. Your licenses will remain functional.

How Do I Start?

See Also

General Information