SmartBear TestLeft is an automated test framework for creating and running functional and UI tests for Windows desktop and Web applications. You can create tests in C#, Visual Basic .NET or in any other .NET language, and run them from CI systems like Jenkins, from Visual Studio Test Explorer, or in any other way.
TestLeft is built on the TestComplete engine (both of them have a similar object recognition engine) and it supports most applications and technologies supported by TestComplete.
Creating a Test
You create TestLeft tests in Microsoft Visual Studio 2013–2019. Your TestLeft project must target .NET Framework version 4.5. or later.
Exploring the Application Hierarchy
You explore objects, methods, and properties with the TestLeft UI Spy tool. It comes as a panel that the TestLeft installer adds to Visual Studio and as a standalone application.
TestLeft UI Spy shows the applications running on the computer, the object hierarchy of these applications and object properties and methods.
You can select an object on screen to view its properties and methods. To select the object that is currently under the mouse cursor, use the Pick Object tool. To select an object while moving the mouse cursor in the application, use the Point and Fix tool.
You can also locate objects in the hierarchy by highlighting appropriate interface elements in the application.
Writing Test Code
You write test code using interfaces, classes and methods provided by the SmartBear.TestLeft.dll assembly included in your project.
You can write code manually or you can command TestLeft to generate the needed code automatically:
In addition to the panel and assembly, the TestLeft installer also extends Visual Studio with pre-defined templates for creating MSTest-, NUnit- and xUnit.net-compatible test projects. These templates make creating TestLeft tests a lot easier. Your projects will automatically get —
A reference to the SmartBear.TestLeft library.
Links to the SmartBear.TestLeft namespaces at the beginning of your source file.
An automatically created Driver object (this is a core object that is used to exchange data with the test runner and performing other test-related actions).
An automatically created Log object for receiving custom messages.
In addition to the project templates, the TestLeft installer also adds templates for creating individual MSTest-, NUnit- and xUNit.net-based TestLeft tests.
After you have compiled a project based on the templates, you get a module that can be run with the MSTest, NUnit or xUnit.net unit testing framework that you already use in your company.
We recommend using these templates for your test projects. However, you can place your TestLeft code in any application, for example, in a console program or in a regular WinForms application. In this case, you will have to manually perform all the actions needed to create TestLeft tests.
After you write test code in Visual Studio, you can compile it into a DLL or executable.
After you compile your test code, you can run it in any way: from Visual Studio Test Explorer, from Jenkins or any other build automation tool, from the command line (if you compiled your code as an executable), from your MSTest or Unit test runner, from TestComplete, or in any other way.
When your test is running, it sends commands to the test runtime engine, which, in its turn, simulates user actions on the tested application:
The test can send commands to the runtime engine that resides on your computer or on any other computer that has TestLeft installed and that is available in your network. Your test code can also send commands to remote instances of TestExecute and TestComplete (the latest versions of these products can accept commands from TestLeft).
About Web Service
TestLeft interacts with the test runner through a RESTful web service. This web service is part of TestLeft and installs automatically, when you install TestLeft.
TestLeft UI Spy uses the service for exposing applications, windows and controls existing in your computer. The service provides information on objects, methods and properties that TestLeft UI Spy shows.
To learn more about the web service, see TestLeft RESTful Web Service.