Skip to content

microsoft/EasyRepro

Repository files navigation

Overview

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.

Software Requirements

Supported Version

Supported Operating System

Windows 11, Windows 10 , Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2

Supported Visual studio

Microsoft Visual Studio 2015, Microsoft Visual Studio 2017, Microsoft Visual Studio 2019, Microsoft Visual Studio 2022

CRM Versions

Easy Repro supports below CRM Versions

  • Microsoft Dynamics 365 Online Version 9.1 (9.1.x) (DB 9.1.x) online
  • Microsoft Dynamics 365 Online Version 9.2 (9.2.x) (DB 9.2.x) online

Selenium Webdriver & Support

Selenium is a set of different software tools each with a different approach to supporting browser automation. These tools are highly flexible, allowing many options for locating and manipulating elements within a browser, and one of its key features is the support for automating multiple browser platforms. This package contains the .NET bindings for the newer, more concise and object-based Selenium WebDriver API, which uses native OS-level events to manipulate the browser, bypassing the JavaScript sandbox, and does not require the Selenium Server to automate the browser.

File Name Version Release date
Selenium.WebDriver v3.11.2 April 12, 2018
Selenium.Support v3.11.2 April 12, 2018

Coverage

CRM Functionality Covered

  • Activity Record Wall
  • Business Process Flow
  • Charts
  • Commandbar
  • Dashboards
  • Entities (Create, Update, Delete, Duplicate Detection, Assign)
  • Global Search
  • Guided Help
  • Grids
  • Sub-Grids
  • Navigation
  • Notifications
  • Performance Center
  • Quick Create
  • Run Workflows
  • Run Reports

CRM Functionality Not Covered

  • Settings Area (Administration)
  • Customization
  • Advanced Find Query execution(Open Advanced Find is available)
  • Export to Excel
  • Templates
  • Other Add on Applications

Although we don't have specific commands to cover the above funcationality, we have generic commands that will allow you to still interact with those features.

Known Issues

  • Firefox has sometimes been inconsistent with testing results. The click command is inconsistent. This is a known issue and has been reported to that team that manages that driver.
  • IE Driver has a 32-bit version and a 64-bit version. If you're using the 32-bit version on 64-bit windows with 64-bit IE then the driver will not work as intended. Use the appropriate version of IE Driver with the specific version of IE.

Setup

Install Instructions:

The Sample project should have NUGET packages added and you just need to build the solution and restore the packages. For the specific browser drivers, you can add them using NUGET. The default driver is Chrome and the NUGET package is already installed on the Sample project.

Run the Sample Project

Change the keys in your app.config below to match your environment. Open the Test explorer window. Right click and run one test to ensure everything works. Trying the CreateAccount test under Microsoft.Dynamics365.UIAutomation.Sample.Web is a good start.

<add key="OnlineUsername" value="name@name.onmicrosoft.com" />
<add key="OnlinePassword" value="*********" />
<add key="OnlineCrmUrl" value="https://org.crm.dynamics.com/" />

MFA Support

If the account you are using has MFA (Multi-Factor Authentication) enabled, you will also need to provide an MFA Secret Key. You can obtain an MFA secret key for your account using these instructions - you will need Microsoft's Authenticator App to get this working:

  1. Go to your Office365 'Security info' page at: https://mysignins.microsoft.com/security-info
  2. Enter your O365 login and password
  3. Click 'Add method' and select "Authenticator app" in Combobox, click Add
  4. Click on "I want to use a different authenticator app" link
  5. Click on the 'Next' button, click on the 'Next' button
  6. Click on 'Can't scan image?'
  7. Make a note of the 'Secret key' which is displayed
  8. Open Authenticator app and click the '+' to add an account and select 'work or school account'
  9. Scan the QR code displayed on the web page
  10. When the App displays a six-digit code, click 'Next' on the web page
  11. Enter the six-digit verification code from the app into the web page and Click the 'Next' button
  12. Add your MFA Secret key from step 7 with the spaces removed to your app.config as shown below, in the same section that you add your username and password
<add key="MfaSecretKey" value="MfaSecretKeyWithSpacesRemoved" />

Supported Browser WebDriver

The application supports following browser:

Browser WebDriver Version Release date
Chrome ChromeDriver SeleniumWebDriver.ChromeDriver Found in NuGet Package
Firefox GeckoDriver v.0.16.1 April 27, 2017
IE IEDriver v.3.4 April 22, 2017
Edge MicrosoftWebDriver v.10.0.15063.0 April 18, 2017

Browser Driver Download and install instructions

If you want to download the drivers manually you can go to the specific driver download links and put them in the bin folder of your project.

Chrome:

Download the Chrome Web driver from the below link Download chrome driver

Internet Explorer:

Download the IE Web driver from the below link Download IE driver

FireFox:

The Firefox web driver can be installed through Nuget package manager.

  • In Visual studio ,Go to Tools -> NuGet Package Manager -> Manage Nuget Packages for the solution FileName : Selenium.WebDriver.GeckoDriver.Win64

Edge:

Click on the below link to download Edge driver Download Edge driver

About

Automated UI testing API for Dynamics 365

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published