Running JUnit and TestNG Unit Tests and Selenium Tests Created With JUnit or TestNG

Applies to TestComplete 14.30, last modified on November 21, 2019

In TestComplete, you can run JUnit and TestNG unit tests and Selenium tests created by using JUNit and TestNG testing framework as part of your TestComplete project. In the Java Unit Test editor, you configure the tests to be run.

To learn about TestComplete support for third-party unit testing frameworks, see:

Integration With Unit Testing Frameworks

To learn about TestComplete support for Selenium WebDriver tests, see:

Integration With Selenium

Requirements

To run JUnit and TestNG tests in TestComplete:

  • Specify the full path to the Java Virtual Machine executable (java.exe) in the Unit Testing Options dialog.

  • If you want to use Maven to run your tests, the Maven modules must be installed and configured on your computer. For information on how to do this, see the Maven documentation.

  • To run Selenium tests, make sure that your computer and TestComplete project meet the requirements described in Integration With Selenium - Prerequisites.

1. Prepare Your Test Machine, TestComplete and Tests
  • Make sure that the computer where you will run tests, TestComplete and your tests are prepared for testing.

    To learn how to prepare Selenium tests for testing, see –

    Integration With Selenium - Prerequisites

  • Copy your test files to your TestComplete computer.

2. Configure Your TestComplete Project
3. Configure the Added Item to Run Needed Tests
  • Select how you will run your tests:

    • To run your tests by using Maven, select Use Maven project.

      Enter the path to the Maven project configuration file (pom.xml) or click the ellipsis button and browse for the needed file in the subsequent dialog.

      Run JUnit Tests by Using Maven

      Run JUnit Selenium tests by using Maven

      Run TestNG Tests by Using Maven

      Run TestNG Selenium tests by using Maven
    • To run your tests using the classpath, select Specify the classpath directly.

      Enter not only your tests' classpaths, but also the paths to all modules and libraries your tests use:

      • For JUnit tests, the path to the junit-n.nn.jar file. For example, C:\JUnit\junit-4.12.jar.

        For TestNG tests, the path to the testng-n.n.n.jar file. For example, C:\TestNG\testng-6.8.8.jar.

      • The paths to the classes that define tests to run.

        Note: The full path to a Java class file (.class) reflects the class’s package name. For example, the com.smartbear.seltest.AppTestClass class is in the <classes>\com\smartbear\seltest folder.

        The class path is the name of the top-level folder that contains folders whose names indicate to which package they belong. In this case, the class path is <classes>.

        For example, if the files that define your test classes are in the C:\JUnitSeleniumTests\target\classes folder, specify the path to that folder.

      • For Selenium tests, the paths to the Selenium modules that your tests use. For example, C:\Selenium\selenium-java-2.43.1.jar.

      • The paths to the classes that your tests use.

      The examples below demonstrate how you can specify a classpath:

      Run JUnit Tests by Classpath

      C:\JUnit\junit-4.12.jar;C:\JUnit\hamcrest-core-1.3.jar;C:\Tests\SeleniumJUnitTests\target\classes;C:\Selenium\selenium-java-2.43.jar;
      Run JUnit Selenium Tests by classpath

      Run TestNG Tests by Classpath

      C:\TestNG\testng-6.8.8.jar;C:\Tests\SeleniumTestNGTests\target\classes;C:\Selenium\selenium-java-2.43.jar;
      Run TestNG Selenium Tests by specifying classpath
  • Specify the test classes you want to run:

    • To run all the test classes defined in your test, select Run all tests. Note that this mode is available only if you run your tests by using Maven.

    • To run only specific test classes, select Run the following test classes. In the test list, enter the test classes to run.

      JUnit Test Classes to Run

      Selenium test classes to run

      TestNG Test Classes to Run

      Selenium test classes to run

      To add a test class to the list, click Add and enter the needed test class name. For example, com.smartbear.seltest.AppTestClass or TestCaseClass1.

      Tip: If you do not know the test class names, contact the developer who created the test. As an alternative, you can explore the source files of your tests and find all the classes whose methods use the @Test annotation.

      To remove the selected test class from the list, click Remove. To temporary exclude a test class from a test run, clear the check box next to the test class name in the list.

4. Run the Test Item

Run the test item in TestComplete. For information on how to run unit test items, see Running Unit Tests.

TestComplete will command the appropriate unit testing framework to run the specified tests.

After the test run is over, view the test results.

JUnit Test Results

Selenium test results

TestNG Test Results

Selenium test results

Alternatives to JUnit and TestNG Tests

Another way to test units of your Java application is to create unit tests by using TestComplete and use TCUnitTest project item. See TestComplete Unit Tests - Java Applications.

See Also

Integration With Unit Testing Frameworks
Running Unit Tests
Integration With Selenium
Unit Testing Options Dialog
TestComplete Unit Tests - Java Applications

Highlight search results