logo logo

AI in Test Automation – Discover How it Works

When discussing AI in test automation, you might be thinking: “Oh well, here’s another buzzword in our testing field”… But let’s face it, AI (Artificial Intelligence) “buzzword” keeps on coming up over the past couple of years and seems to be here to stay, and rapidly transforming the testing landscape. Instead of being intimidated by the change, let’s embrace it, and what better way than with a solution that has AI built into its technology 😉

TestProject recently added AI powered Self Healing technology to its Selenium-based Smart Test Recorder. Since TestProject is built on top of Selenium, you now can get the benefits of Selenium with additional AI features to save a bunch of time and overcome the most common and difficult testing challenges, and all 100% for free.

Earlier this month, we were thrilled to host 800+ eager webinar participants to demonstrate this AI technology of TestProject. We collected dozens of questions over the 1-hour session, and have answered the most common questions for you below.

The following Q&As can shed light over how AI works in test automation in general, and particularly when utilizing TestProject ✨

Out-of-the-box AI Self Healing Technology

Q: Where can I view the full webinar recording?
A: Directly from our TestProject YouTube channel, or here:

Q: How do the AI self-healing features work?
A: TestProject’s AI works for you, both during the Recording & Execution of your tests!

  • When recording a test, you will be notified if there’s a better, more stable way, to run the test and allow you to review and confirm the proposed changes.
  • When executing a test, if a self-healing mechanism was used to recover from an error, an indication will appear in your report.

Q: Is this a native built-in option, or should I install some Addon?
A: TestProject AI-powered Self Healing technology is built-in the Web Test Recorder. No need to install anything other than the TestProject Agent. Just make sure you are using Agent version 0.64.0 or higher.

Q: Is the self-healing capability available also within the Mobile Test Recorder as well as the Web Test Recorder?
A: It will be added to the Mobile Test Recorder by Q4.

Q: Do I need to reinstall/upgrade the TestProject Agent to access the new AI self-healing version?
A: You simply need to install/update your TestProject Agent to version 0.64.0 or higher.

Q: Do I have to use the AI features? Can I modify the AI-selected locator?
A: TestProject’s AI features are designed to be non-intrusive. You can always override suggested locators with your own by making them primary or removing the automatically generated ones. In addition, you can always change (or remove) any alternative strategies from the elements management page.

Q: What are the benefits of these AI Self-Healing capabilities?
A: This revolutionary technology provides a number of new capabilities to further enhance the Smart Test Recorder, including:

  • Automatic Self-Healing capabilities, with AI to monitor your tests and select the most robust selector strategy for your elements, and can even repair tests on the fly if needed.
  • Best-in-class support for iFrames, Popups, Dynamic Elements and more. Learn more about how we help overcome these challenges in this tutorial.
  • Streamlined user interface, accelerating test creation and management of advanced features like Addons, parameters, and more.
  • Improved performance, for lightning-quick test creation, element identification, and test debugging.
  • Full compatibility with the most complex enterprise web apps, including Salesforce, SAP Fiori, MS Sharepoint, and ServiceNow.
  • Adaptive-Wait automatically handles deviations in web application loading times.

Q: Does TestProject support objects within iFrames and enables them to switch back to normal frame objects?
A: Yes, TestProject’s AI-powered test recorder supports iFrames out-of-the-box, you don’t need to do anything special for that.

Q: Do we need to perform any auto-adjust when the iFrame loads in a dynamic position or in a resized height?
A: No, there is no need to adjust anything since the iFrames are supported automatically.

Q: What happens if the element locators are changed? Will the test still proceed or will it fail?
A: For each element, TestProject’s AI will search for the most stable locator before proceeding with the test, as more than a single locator is stored for each element.

Q: Is there something special we need to do in order to enable this AI self-healing technology? 
A: The self-healing will work automatically and it will work on all types of locators.

Q: Is there an element repository? Meaning, if “name2” is broken across many tests, is there a way to update in ONE place for all tests that use the element?
A: Yes, with TestProject’s Page Object Model, all of your elements are stored in one streamlined repository in the “Elements” section within each Project.

Q: Is there an indicator on the test reports of the self-healing that occurred?
A: Each test step that was self-healed has a heart icon to represent it on the test report. See below an example of the heart icon on step 2 & 3:

Self Healing Test Report

Q: How is it possible to save the CSS locator when recording an element? By default, is it the XPath that is saved? Can we filter which type of locator the AI will be looking for? For instance, only CSS or only XPath?
A: By default, we will save more than one locator for each element (both CSS/XPath). If you want to override the default locator with a custom attribute, or a combination of custom attributes, you can do it on the application level – that will force the recorder to look for a custom attribute first Here is a short tutorial of how to do so.

Q: What is the best way to identify elements on a web page? Should we use ID, XPath, or unique attributes like “data-qa”?
A: TestProject’s Smart Test Recorder will automatically identify the best locators based on your application layout (typically more than one). You can always edit each element to learn what are the best locator strategies it picks for you. If you do the mapping manually, then ID’s, Custom CSS, and Custom attributes are preferred.

Q: What happens if the AI Self-healing cannot find an element?
A: If an element cannot be located, the step will fail and probably for a good reason 😉

Q: Will the self-healing work at all times? Are there any challenges or scenarios in which the self-healing will fail to work?
A: Yes, if the element completely changed its characterization in more than one way, we will prefer to fail the step where the certainty is not high and you might get false-positive results.

Q: Are the AI self-healing capabilities available only within the Test Recorder, or also when developing coded tests with the TestProject OpenSDK?
A: At this point, these capabilities are available within the Smart Test Recorder only.

Q: Is TestProject really offering all of this for free? Is it Open Source?
A: TestProject is part of Tricentis, a well-funded company that is the leader in software testing. This provides the resources to create tools to offer TestProject at no cost to our users, for the benefit of giving back to the testing community. TestProject is based on open source (Selenium and Appium) and its SDK is 100% open source. So, YES, TestProject is 100% FREE. Just sign up and get started: https://app.testproject.io/signup/.

Want to learn more about AI in Test Automation?

Have any more questions you were hoping to ask about AI in test automation? Please feel free to post your question on our Forum, In-app chat, or email us directly at [email protected], and we will answer all of your questions ASAP.

Happy Testing! 😎

About the author

Meital Matsafi

As the Head of Community at TestProject and a test automation enthusiast by ❤, I love building and maintaining relationships with our community members, diverse community organizations, and internal entities while learning and sharing my key findings. Assisting with the development of robust engagement plans & activities I’m extremely eager to evolve and grow the community.

Leave a Reply