EasyRepro vs. Selenium. What's the Difference?

Preparing and performing repeated UI tests for your Dynamics 365 environment requires the right tool in hand. EasyRepro and Selenium are two of the most commonly used automated frameworks to run such tests. They both save time, effort and resources spent otherwise on lengthy and tiresome testing Dynamics 365 features for every release.

What is EasyRepro?

Easy Repro is one of the automation testing frameworks which allows you to execute Dynamics 365 UI tests. It is built from the Selenium WebDriver which is used by the industry across various projects and applications.

The goal of Easy Repro is test that your environment works as expected by means of mirroring real user actions. You can use the tool to automate tests such as smoke testing, regression testing, load testing, etc.

The entire EasyRepro framework is open source.

Let’s take a look at the advantages of using Easy Repro for your testing:
  • It requires little time and effort and minimal initial investment
  • All application (CRM) and environment migration related updates are catered for in the latest release
  • It requires little customization as CRM admin specific operations are already there
  • The page object model design pattern is well defined
There are, however, some challenges related to using the Easy Repro framework, too, which are:
  • The framework might seem difficult to grasp
  • The framework functionality (e.g. data manipulation, error logging, reporting) requires a lot of effort to build
  • Scalability to execute tests in multi-browser environment (the framework is designed to work on single browser by default)
  • Because of the structure of the supporting framework, creating loosely coupled test cases is a lengthy process

What is Selenium?

Selenium is by many considered the most popular automated software testing tool. It was first released in 2004 and since then, it has evolved considerably. The latest version of Selenium tool comprise several various components, which include Selenium IDE and Selenium WebDriver (on which the Easy Repro tool has been built).

Selenium is primarily used for quick bug reproduction scrips and scrips for automation-aided exploratory testing. As far as Selenium WebDriver is concerned, it is a collection of language-specific bindings to drive the browser. Its goal is to support dynamics web pages more efficiently.

Selenium is compatible with most all od the web browsers and also support quite a number of programming languages (such as Java, JavaScript, Ruby, Python, PHP, C#, etc.). That is why it is attractive to developers and testers. Selenium also makes it possible to automate tests with not programming scripts.

Also, Selenium toolset is free. As it is an open-source automated testing framework, it is widely used by the largest browser vendors. 

EasyRepro vs. Selenium. What's the difference?

Although as mentioned above, EasyRepro is based on Selenium WebDriver, Selenium and EasyRepro operate differently. It is mainly due to the language that both frameworks use.

As long as Selenium uses the “technical” language – which means that it requires you to manipulate the source code of the given web page – EasyRepro does not need technical language at all. Instead, it is enough if you write commands with “Dynamics 365” meaning, such as:
  • OpenRecord() 
  • ClickCommand()
  • OpenEntity()
These methods with allow you to manipulate Selenium scripts source code of your D365 application. 

Automate UI testing for Dynamics 365 using EasyRepro

EasyRepro is a very convenient option for Dynamics 365 UI testing. It is thanks to the fact that the functions of XrmBrowser are readable which makes the whole testing process more “human” and descriptive (similar to a design document). You can run test with EasyRepro both locally and also from a Visual Studio (a VSTS Build Agent).

EasyRepro framework is designed to maximize flexibility and agility. However, bear in mind that there is some initial learning to be done, too, before your tool is up and running. 

  1. Dependencies: you need to consider dependency between EasyRepro assemblies and the Selenium framework. Also, depending on the project, you might want to include a testing framework to create and run your UI testing. 
  2. Consuming the framework: you can decide either on using the NuGet packages directly or clone or download from the GitHub repository. It depends on whether you need to explore or extend your testing framework. If you consider working with the source code directly, it will allow you to explore how EasyRepro interacts with Dynamics 365 app. Still, to extend your framework, it is better to use the NuGet Packages as this will increase flexibility. 
  3. NuGet Package Manager: the quickest way to get started with your EasyRepro framework is to add a NuGet package reference to your unit test project. For this purpose, you can run command in the NuGet Package Manager (command line).