Software testing is important and Dynamics 365 is no exception. Fundamentally, developing for Dynamics 365 is different from developing, say, an ASP.NET MVC application but, users don’t really care, do they? It’s a software that hopefully delivers business value, deal with it.
Developers who recognize the importance of the process, have always been making inroads into unit testing of the code they create, be it for the plugins to deliver magic on the server or javascript for the client-side functionality. Plenty of frameworks to choose from. For the C#, some developers prefer Moqs, some like Microsof Fakes, some even created CRM-specific agnostic frameworks. For javascript zealots, QUnit can be used for browser-based testing, something much more elaborate to step outside the browser, or, more recently, using Jasmine.
That’s all great but, technically, users don’t really care because with all these frameworks we’re not testing user experience.
Great news though, we now have a preview release of the UI Automation Library for Dynamics 365 CE and CRM. It comes from the Dynamics 365 team at Microsoft and is based on Selenium. I’m just going to copy their description verbatim because it sums up the purpose and the functionality really well:
The purpose of this library is to provide Dynamics customers the ability to facilitate automated UI testing for their projects. These API’s provide an easy to use set of commands that make setting up UI testing quick and easy. The functionality provided covers the core CRM commands that end users would perform on a typical workday and working to extend that coverage to more functionality.
This is great news and, in fact, it looks like the last missing piece of the fully automated testing pipeline.