This post covers how to easily automate tests of Dynamics 365 applications using the Selenium automation framework without having to program.
Microsoft Dynamics 365 is a widely used suite of enterprise applications for practically any function within customer engagement, finance, and operations. With frequent updates to the core and standard applications, Dynamics-users face a growing workload of continuously verifying thousands of business-critical processes.
The problem with testing Dynamics
The Dynamics products are somewhat complex web applications that are difficult to automate with Selenium scripts. For example, the tester will have to deal with concepts such as “nested iFrames”, “deep object trees”, and “dynamic IDs for child windows” when trying to automate simple processes in, say, the Sales application. Just making the Selenium WebDriver find the right element in the application requires the tester to spend a lot of time scripting the correct locator strategy.
Another issue from a testing perspective is that the UI paradigm of the Dynamics applications change between versions. This means that the entire markup forming the basis of the web applications have changed – even though a great deal of the functionality remains the same. If tests are automated with Selenium scripts, the codebase needs to be updated and verified. This is incredibly time-consuming and requires specialist resources that might not always be available on a test team. You don’t want to lock-in developer resources to test automation, as this would take time away from their primary tasks, such as developing your local Dynamics customization.
Utilizing Dynamics-domain knowledge in testing
As mentioned, Dynamics applications are relatively complex, and as such, testers who work with the applications on a regular basis have obtained valuable, in-depth knowledge about Dynamics-based functionalities and processes. To improve testing of Dynamics-applications, you’d want to tap into those insights. This requires alleviating testers from having to spend time on writing and maintaining Selenium-scripts.
The LEAPWORK Automation Platform uses Selenium as an engine for automating websites and web applications, but all the Selenium-code for automating tests is generated ‘under the hood’. The tester does not, at any point, have to worry about reading or writing a single line of code. In fact, the tester doesn’t need to know anything about Selenium at all.
For example, with LEAPWORK’s Capture functionality, the tester can identify a form field in a Dynamics application, and use that object in his or her test cases, without having to worry about programming languages, such as C# or Java, or even how Dynamics 365 is technically implemented.
Example of a LEAPWORK flow doing data-driven automation of Dynamics 365.
To make things easier and to increase robustness of automated test cases, we at LEAPWORK have added intelligent Dynamics-adapters on top of the Selenium engine. This means for example that you can use standard LEAPWORK components (we call them ‘building blocks’) to automate form fields of any kind in Dynamics applications. Even drop-down fields are handled the same way regardless of how they are technically implemented in Dynamics. We developed these adapters because we learned from testers that especially form fields caused headaches when trying to automate Dynamics.
Watch the video below for an example of automated testing of Dynamics 365 with codeless Selenium automation: