Automated UI Testing is a common strategy for smoke testing and regression testing of legacy Windows applications. Especially in combination with Azure DevOps powered CI/CD(Continuous Integration/Continuous Deployment). Such applications are still widely used by many enterprises and businesses across the globe. The mobile revolution hasn't been able to dethrone the PC and Microsoft is still reigning strong in the "Office" department.
Problem is that sometimes you have the source code of Windows applications critical to your business' survival and other times you don't have it. In such cases the only option is to perform the functional testing of the said application through the UI. But, it is an ordinary task and you might need a tonne of workforce. In such cases UI test automation comes in handy.
Note: The course also covers YAML Pipelines on Azure DevOps too.
There are several options available for UI test automation, Microsoft itself offered Coded UI in the past but it is now deprecated. Right now Microsoft is supporting Windows Application Driver or WinAppDriver a.k.a WAD for UI automation of Windows applications. You must be wondering where is Azure? Well Azure DevOps will fit into this picture later on, relax. WinAppDriver is based on Appium which is an open-source API that conforms to the WebDriver standard. Microsoft WinAppDriver is not open source but it still has got a repository on GitHub for documentation.
Azure DevOps is the cloud based offspring of TFS(Team Foundation Server). It continues the legacy of once on-premise Application Lifecycle Management(ALM) solution by Microsoft. When tests are being developed they're written by software test engineers who in many cases need Visual Studio licenses for a lot of things. These people are also highly paid and after developing tests it's not wise to keep them running test automation scripts on their machines through Visual Studio. In such cases a low cost solution is needed where non-code savvy people can also run UI automation tests through a common tool like Azure DevOps.
Azure DevOps lets you create a complete infrastructure to support such scenarios. How? That's what this course is all about. I'll show you how to setup Virtual Machines to run unattended WinAppDriver and C# based UI test automation through Azure DevOps. I'll also show you how to setup things on Azure DevOps by creating organizations and projects. The course also shows you how to generate an Azure PAT(Personal Access Token) for security purposes and how to configure it to minimize its side effects.
Azure lets us store code in more than one types of source code repositories. The classic one is TFVC which is covered in this course first. Secondly we have Azure Repos Git. The set of tasks which is going to run the test automation is called a Pipeline. The UI for TFVC and Git based pipelines is different and both are explained in this course. Git repositories generate a YAML based build pipeline. Build pipelines communicate with an Azure DevOps build agent which is installed on a machine and configured to work with a specific Azure DevOps organization through a PAT.
There's an article about how to run WinAppDriver through Azure DevOps Pipelines, but it is not clear and it doesn't cover all the parts. In this course I'm going step by step from start to finish. Everything from installing tools on a test VM and creating an Azure account up to installing tools on developer machines, creating Azure DevOps repositories and Azure DevOps Pipelines is covered. Special attention is paid to the topics of interest for software testers, such as viewing test run reports.
Various options of Azure DevOps Test Run reports are explained to you. Supplementary topics like running a PowerShell task to start/stop Windows Application Driver in the build pipeline is also shown.
Please note that Azure DevOps is a highly in demand skill right now. Microsoft is heavily investing in Azure and achieving major successes in this department. If you want to prepare for the future, just learn everything about Azure that you can, it includes Azure DevOps and CI /CD.
Of course there are other important Azure features like Azure Boards which are not covered in this course. I can cover more details in future based on student demand. It is possible for a user to create bugs and link work items like stories/tasks to the Azure DevOps builds and failures.
It is high time that you get started in this direction and start learning more with practical courses like this one. Learn more about CI and CD, learn more about Microsoft Azure DevOps, source control repos etc.