top of page

Welcome
to NumpyNinja Blogs

NumpyNinja: Blogs. Demystifying Tech,

One Blog at a Time.
Millions of views. 

Beyond the Basics: Advanced TestComplete Features for Scalable Automation – Part 2

May 1, 2025
4 min read

 In the first part of this series, we explored  foundational capabilities of TestComplete— including installation, keyword-driven and scripted testing, data-driven test design, and cross-browser execution. With those ideology, it's time to move into more advanced concepts that elevate test reliability, object handling, traceability, and CI integration.


This second part focuses on these critical features: Name Mapping, Object Recognition, Reporting, Integrating Selenium and Continuous Integration. These components are essential to automation frameworks using TestComplete.


Lets see how this very important feature of Test complete enhances our Testers job


  1. Name Mapping: Centralizing Object Identification

TestComplete interacts with application elements using internal references. Without proper object naming, scripts quickly become fragile, especially when UI changes. Name Mapping solves this by creating an abstraction layer between your test logic and the actual UI objects.

Why:

  • Eliminates redundancy by storing object properties in one place

  • Makes scripts readable and easier to debug

  • Reduces maintenance effort when UI changes occur

How to Implement:

  • Step 1 :Launch the Object Browser and identify the UI element to be mapped (e.g., a Login button).

  • Step 2: Right-click the object and choose "Add to Name Mapping".




  • Step 3: Assign a logical alias (e.g., Login Button) and define unique properties (such as Object Type, Name, or id).

  • Step 4: Use the mapped name in scripts or keyword tests:

     Example (Python script )  : Aliases.browser.pageLogin.LoginButton.Click()

When the UI changes (e.g., the element's ID), only the Name Mapping needs updating — test logic remains untouched.




 

2. Object Recognition and Intelligent Object Detection


UI frameworks like React, Angular, and custom controls often result in non-standard or dynamic elements. In such cases, TestComplete’s Object Recognition Engine — including AI-based OCR (Optical Character Recognition) — becomes crucial.

When to Use OCR

  • Verifying PDF content in a viewer

  • Validating text inside image-based charts or logos

  • Testing virtualized ( Remote Desktop)


How to Use:


click on OCR Action
click on OCR Action

  • Open the Object Spy tool and point it to a complex UI element (e.g., a custom-styled button).



  • If standard object properties are missing, switch to OCR Mode.

  • Capture the element using its visible text label 

    Add an OCR Action via Keyword Test

    1. Right-click in the Keyword Test editor.

    2. Select Add → OCR Operation → OCR Checkpoint or OCR Action (Find, Click, Get Text).

    3. A screen capture tool opens. Select the area on screen where the text appears.

    4. TestComplete scans and shows the recognized text.


    So in this image the OCR Action has given all the text from the image it captured
    So in this image the OCR Action has given all the text from the image it captured

  • In Keyword Tests, use ClickObjectByText("Submit") or similar logic.

    This enables interaction even when traditional selectors are insufficient.




 

3. Reporting and Logging for Test Transparency

TestComplete offers detailed logs that are vital for test validation, failure analysis, and team communication.

Key Reporting Features:

  • Step-by-step execution logs


  • Screenshots on error

  • Checkpoint comparisons

  • Export to HTML, JUnit XML, or MHT

How to Use:

  • After running a test, navigate to the Test Log panel.



  • Expand individual steps to view:

    • Status (pass/fail)

    • Action details

    • Errors and their stack trace

    • Visual snapshots



  • Right-click the log and choose Export to HTML for sharing or archiving.



4. Continuous Integration with Jenkins

                   To incorporate TestComplete into an Agile or DevOps pipeline, integration with CI tools like Jenkins is essential. This allows scheduled or triggered test executions, automated reporting, and feedback loops.


Steps to Integrate TestComplete with Jenkins:

  • Install the TestComplete Support Plugin in Jenkins.

  • In Jenkins, create a Freestyle Project or Pipeline job.

  • Under Build Steps, choose:

    • TestComplete Test → select your .pjs (project suite file)

    • Specify the test item, log folder, and execution parameters

  • Configure triggers (example : on Git commits )

CI integration ensures test feedback is continuous, traceable, and part of the development lifecycle.

These reports integrate well with test management tools and CI systems, providing traceable results.


Last but not least , you might linger around the thought like how to use my selenium java program which i have done , how can TestComplete help me , so here .....lets dive in to know , so with the CI/CD pipeline using jenkin it eases the workflow for exsisting Java selenium projects


5.Integrating Selenium with TestComplete

This is particularly useful in teams that already maintain Java-based Selenium tests developed in IDEs like Eclipse.


 These scripts (python / java script in selenium ) it can be added to the same project suite, executed alongside keyword or data-driven tests, and included in CI pipelines for consistent reporting.


But for Selenium scripts written in Java, the most efficient approach is to continue maintaining them in Eclipse and execute them through Jenkins. Within the Jenkins pipeline, Java tests (via Maven or Gradle) can be run as one stage, followed by TestComplete tests in another. This method preserves tool strengths while offering consolidated test results.

so here the code to give in configure of a Build


Example Jenkins pipeline :


 stage('Run Java Selenium Tests') {

    steps {

        sh 'mvn test'

    }

}


stage('Run TestComplete Tests') {

    steps {

        testcomplete test: [projectSuite: 'path/to/suite.pjs']

    }

}


This dual-framework model is especially effective when web applications require a mix of visual checkpoints, desktop integrations, or object-level verifications that Selenium alone cannot handle.

 Note : jenkins version 2.7* and above only supports to add Test complete plugin


               Learning these advanced features transforms TestComplete from a recording tool into a great QA automation tool. Name Mapping simplifies test maintenance, Object Recognition expands UI compatibility, detailed Reporting brings clarity, and CI integration ensures aligning with Agile workflows and use Selenium java programs.


Together, these capabilities provide a scalable, maintainable, and productive automation solution.


Whether working with desktop, web, or hybrid applications, TestComplete simplifies the test creation process while maintaining depth and precision. As teams scale automation, the clarity of its object repository, visual logs, and structured test suites contribute to faster debugging, easier maintenance, and higher test reliability.


Happy Learning !!

 
 

+1 (302) 200-8320

NumPy_Ninja_Logo (1).png

Numpy Ninja Inc. 8 The Grn Ste A Dover, DE 19901

© Copyright 2025 by Numpy Ninja Inc.

  • Twitter
  • LinkedIn
bottom of page