Question: The rate at which AI tools keep coming up feels like they are going to replace Selenium and other conventional automation tools sooner than we think. But, as of now what are the real life practical limitations of such tools? Can somebody share their project experience?

**EDIT:**

This question is basically asking to address the limitations of AI backed "codeless" automation tools like the one described above when compared to Selenium (or other "codeful" automation tools).

Answer: 
First of all: "Selenium automates browsers. That's it!" (Quote from [SeleniumHQ](https://www.seleniumhq.org/).) It provides an open-source, standardized, and widely-used interface to drive browsers, respectively, web applications. This not just enables developers/testers/… to use it for testing purposes, but also it can be used by vendors to build different kinds of testing tools/frameworks/… on top of it. Because of this, I think that a) Selenium is gonna stay for a very long time and b) the progress in the field of AI-based testing is mostly unrelated to Selenium's lifetime expectations.

> 
> "Because some things will be better done using them. Other things will be better done using Selenium" My question is to know exactly what those things are.
> 
> 
> 

Since you mention products like mabl and Testim, I assume you focus on GUI-based system testing for web applications? Today, most of such (off-the-shelf) tools that incorporate some sort of AI basically can be divided into the following two main categories (although some also fit in both):

1. Test maintenance: the tool takes care of maintenance tasks such as updating locators after changes or carrying out special checks to detect visual differences.
2. Test generation: the tool generates actual tests that can be executed. For instance, automated exploration to find broken links or the creation of regression test suites.

When it comes to test maintenance, machines can—as already pointed out by [João Farias](https://sqa.stackexchange.com/a/36567/21973)—easily process vast amounts of data, which is a huge advantage here. For instance, when the system under test (SUT) changes, you often find yourself fixing a bunch of locators. In contrast, machines can use historical data to assign new and old locators in order to "auto-heal" tests.

However, in the case of test generation, humans are usually superior. While machines can use various techniques to create non-functional tests, they have a hard time to generate actual functional tests that effectively cover particular use cases and business needs. In general, I think this relates to the testing vs. checking debate (see my answer [here](https://sqa.stackexchange.com/a/29477/21973)).
Talking about the general limitations of AI would fit at least a book - given only our current understanding of it. 5 more years and half the book can be re-written.

In summary, to the context software testing in general, I would raise two points:

1 - **AI system do not learn as humans do**. AI systems are algorithms - they are data-driven, which allow more flexibility than path/logical-expressions driven algorithms. They do somethings better than humans: Finding patterns in a large dataset and classifying new data, for instance. But they cannot put in context the subjective aspects of human behavior - one needs to encode it somehow, so the AI system can use this data; this is transforming subjective into objective - thus, losing information in the process.

2 - Projects have a life-time: A project is implemented in a certain time-frame. Therefore, it would bound to the tools available of the time, or that can be efficiently built during this time-frame. Therefore, some problems would not be solved by AI for certain projects because the system would not be available of the time.

About Selenium itself, considering the [Lindy Effect](https://en.wikipedia.org/wiki/Lindy_effect), it should be around for some time yet. However, for the same principle, some of these AI tools will surely take some of the marketshare.

Why? Because some things will be better done using them. Other things will be better done using Selenium - probably some tools will use Selenium as helper for some things, instead of re-creating the wheel.

Cobol is around there until today - and probably will still be around for some time.