microsoft / EasyRepro

Automated UI testing API for Dynamics 365
MIT License
512 stars 285 forks source link

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

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

CRM Functionality Not Covered

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

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.