Changes to Coded UI Test in Visual Studio 2019
With the release of Visual Studio 2019, we announced that it will be the last version of Visual Studio that contains the Coded UI test functionality. I wanted to give a little bit more context on the decision and answer some of the common questions we’ve been getting on this.
Why we are deprecating Coded UI Test
Coded UI tests are used for UI-driven functional automation of web apps and desktop apps. Open source UI testing tools such as Selenium and Appium have gained momentum in recent years, have a strong community backing and are now pretty much industry standards. Our Coded UI’s cross-browser testing solution was itself based on Selenium. Additionally, both Selenium and Appium work cross-platform and support multiple programming languages.
Over the last few years as development teams have become more agile and a faster release cadence has become the norm, testing practices have evolved as well. Test automation focus is shifting from predominantly UI driven testing to more unit testing and API testing. We had blogged about our own test journey here. We see similar experience repeated in our customers using Selenium or Appium instead of Coded UI. As part of that, customers have found it useful to evaluate their test bed and only carry forward only a subset of tests with the new tools – this has helped them migrate efficiently by reducing redundancy and eliminate any tests that were no longer needed/useful.
Recommendation for alternatives to Coded UI Test
We recommend using Selenium for testing web-applications and Appium with WinAppDriver for testing desktop (WPF, WinForms, Win32) and UWP apps. For testing Dynamics 365 Customer engagement products, we recommend using the EasyRepro framework that is built on top of Selenium. For Dynamics 365 Finance and Operations, Selenium based Regression Suite Automation Tool is recommended.
Coded UI test in Visual Studio 2019 will continue to be supported for any issues that may arise during the support lifecycle of the product. As outlined in the product lifecycle and servicing documentation, you can continue to use Coded UI and will be fully supported for the next 5 years and an additional 5 years of extended support is also available should you need it. But this is limited to specific bug fixes, no new features will be added.
Different Visual Studio versions can be installed side by side. This means that developers will be able to continue to use Visual Studio 2019 to maintain any existing Coded UI test assets, while being able to use any new Visual Studio versions when they becomes available in the future for other development needs.
The same side-by-side installation mechanism allows for CI/CD pipelines to keep running smoothly without any interruptions while you migrate. This is because when Coded UI tests run as part of a CI/CD pipeline in Azure DevOps, tests are run against a particular Visual Studio version installed on the agent or a particular version of test platform. We will continue to support running tests against Visual Studio 2019 or its associated test platform in newer versions of Azure DevOps Server (formerly, TFS) until the support life cycle of Visual Studio 2019 ends. This means that you will not need to maintain two different Azure DevOps Server versions to be able to keep your existing Coded UI tests running while you migrate.
There are no automated migration tools available to move from Coded UI test to Selenium or Appium at this time. We recommend that any new test collateral being built should use the alternatives and plan your replacement of older Coded UI tests so that it is completed before the end of the Visual Studio support lifecycle. As part of this process we recommend that customer re-evaluate their test portfolio to remove tests that are no-longer useful.
Premier support for Enterprise can be engaged for help with migrating tests to alternatives – they can be reached via email on email@example.com
I hope that this post is helpful in answering any questions you may have. If you have any further queries, please reach out to the team at firstname.lastname@example.org.