Test migration

What to do when a test automation tool reaches end of support

The tool on which your test suite relies is no longer being developed. The tests may continue to run, but new versions of the browser, Node.js, or other dependencies can gradually complicate maintenance and require workarounds.

It works for a while. The problem is that investing in more workarounds does not improve coverage or test speed. The team is paying mainly to maintain the current state.

What is the problem?

After official support ends, a tool no longer receives routine fixes from its original team for new browser or dependency versions. A community fork may continue, but its scope and trustworthiness need to be assessed separately. This covers several situations:

A tool whose development has officially ended. One example is Protractor, whose official support has ended. An existing suite may continue to run, but it no longer receives routine fixes and support for new environments.

A tool that is alive, but the particular suite around it is not. With an older Selenium suite, the architecture is often the problem, not Selenium itself. Fixed waits, selectors tied to the page structure, or test data mixed into the code can increase the extent of repairs. The state of the tool and the quality of the code or architecture therefore need to be assessed separately.

What these situations have in common is that teams can live with their limitations for some time. That is exactly why the problem can drag on for years.

When is it time to leave?

Not necessarily immediately. The decision depends on what the workarounds actually cost you.

If the tool is not progressing but your suite is stable, covers what matters, and does not need weekly attention, you can stay. There is no point in migrating simply because “it is old”.

If someone has to repair the tests before every deployment even though nobody has broken the application, if the tool cannot cover the scenarios you need, or if the team is stuck on a browser version your customers no longer use, staying costs more than moving.

How we approach it

We do not rewrite the suite line by line. The value lies in the scenarios and assertions: years of knowledge about how your product should behave. That is what we migrate. The code that currently records this knowledge is also a source of your problems, so we do not copy it into the new suite.

A frequent target is Playwright: it supports several browsers, automatically waits for the required element state, and handles scenarios across multiple tabs or domains. We design the new suite for easier maintenance, using appropriate screen abstractions, stable identifiers, and separate test data.

The migration proceeds gradually, scenario by scenario, according to priority. The old and new suites can run side by side for some time, with a coverage map tracking which suite checks each regression scenario.

If it turns out that there is no need to leave the tool, we will say so. With a large Grid infrastructure and a team that knows Selenium, it may make sense to stay and change only the architecture or language. Sometimes it is enough to repair the suite.

What you gain

A suite on an actively maintained tool, with a lower risk of problems caused by new browser and dependency versions.

You may also reduce the number of workarounds and open up scenarios that the old tool did not support or made unnecessarily difficult.

Next step

Tell us what the suite is built on and what slows you down most when working with it today. Contact us and we will assess whether moving is worthwhile or whether a smaller intervention is enough.

Related topics

You might also be interested in

We will preserve the years of knowledge stored in your tests

Is your suite built with an unsupported tool or written in a language nobody in the company understands? We migrate it gradually and reduce the risk of gaps in key checks.