Skip to content

Dynamics 365 for Finance and Operations

Overview

Microsoft has developed a new cloud-based, SaaS-only ERP/CRM solution called Microsoft Dynamics 365. This solution offers a new web-based version of Dynamics AX (now rebranded as Dynamics 365 for Finance and Operations) and an updated Microsoft Dynamics CRM Online.

This new integrated ERP/CRM solution is hosted exclusively on Microsoft Azure and is entirely web-based. Rapise offers specialized support for two main modules:

  1. Dynamics 365 for Finance and Operations – This is the subject of this section. Continue reading if you are testing these modules.
  2. Dynamics 365 for Sales – a rebrand of [Dynamics CRM], which is covered in the corresponding section.

clip0142

Recording a Test

Dynamics 365 for Finance and Operations is entirely web-based (unlike Dynamics AX), and its user interface is accessed via a web browser. Therefore, when recording a test with Rapise, you use the same web browser libraries as you would for other web tests:

  • Most of the Dynamics 365 user interface can be tested using the standard browser library for your chosen web browser (e.g., Internet Explorer HTML, Firefox HTML, or Chrome HTML).
  • In addition, there are special controls within Dynamics 365 for which Rapise offers specialized support. For this reason, you will also see the DomDynamicsAx library added to your test alongside the browser library. This DomDynamicsAx library adds additional rules to identify specific Dynamics 365 objects, making testing easier.

When you record your first test, you will see the following library selection code automatically generated by Rapise:

g_load_libraries=["Web", "DomDynamicsAx"];

If you do not see the DomDynamicsAx library listed in your test, you will need to manually add it.

Recording and Learning Objects

During recording, as you interact with Dynamics 365, Rapise captures objects and displays them in the object tree:

clip0143

Some of these objects will be standard HTML DOM objects (e.g., a button):

clip0144

Others will be specific to Dynamics 365:

clip0145

Tips for Interacting with Objects

One of the most important UI elements within Dynamics 365 is the multi-level menu bar:

clip0146

The Dynamics 365 menu bar is used to quickly and easily navigate between different parts of the application, and interacting with it in test scripts is very common.

To learn the menu, use Ctrl+2 on the menu open button:

menu open button

Rapise learns the DomDynamicsAXMenuBar object:

clip0147

In addition to the standard HTML object methods and properties, you can perform special functions on the menu:

  • DoMenu(path, separator) – selects the menu entries in the specified path, using the specified separator (or a semicolon if none is specified).

Here is a sample test recorded using Dynamics 365 for Finance and Operations with Rapise.

RVL

recorded purchase order

JavaScript

function Test(params)
{
    Navigator.Open("https://d365oef0aab7797234d85aos.cloudax.dynamics.com/?cmp=DAT&mi=DefaultDashboard");
    SeS('DAT').DoClick();
    SeS('SysCompanyChooser_DataArea_id').DoOpen();
    SeS('SysCompanyChooserLookup_Grid').DoClickCell("USPI", 1);
    SeS('NavigationSearchBox').DoClick();
    SeS('NavigationSearchBox').DoClick();
    SeS('NavigationSearchBox').DoSearch("purchase orders");
    SeS('_New').DoClick();
    SeS('PurchCreateOrder_PurchTable_Orde').DoOpen();
    SeS('VendTable_SysTL_Grid').DoClickCell("Contoso Chemicals Japan", "Name");
    SeS('PurchCreateOrder_PurchTable_Inve').DoEnsureVisible();
    SeS('PurchCreateOrder_PurchTable_Inve').DoOpen();
    SeS('InventLocationIdLookup_GridInven').DoClickCell("Ingredients - Cleaners", "Name");
    SeS('OK').DoClick();
    SeS('purchtablelistpageopen_LineSpec').DoClickCell(0, "Item number");
    SeS('InventItemIdLookupPurchase_Grid').DoClickCell("SodiumHydroxide", "Search name");
    SeS('purchtablelistpageopen_LineSpec').DoClickCell(0, "Unit");
    SeS('UnitOfMeasureLookup_GridConverti').DoClickCell("kilogram", "Translated description");
    SeS('purchtablelistpageopen_LineSpec').DoClickCell(0, "Quantity");
    SeS('purchtablelistpageopen_LineSpec').DoSetText("5");
    SeS('Add_line').DoEnsureVisible();
    SeS('Add_line').DoClick();
    SeS('purchtablelistpageopen_LineSpec').DoClickCell(1, "Item number");
    SeS('InventItemIdLookupPurchase_Grid').DoClickCell("OleicAcid", "Search name");
    SeS('purchtablelistpageopen_LineSpec').DoClickCell(1, "Quantity");
    SeS('purchtablelistpageopen_LineSpec').DoSetText("3");
    SeS('Save').DoClick();
}

g_load_libraries=["%g_browserLibrary:Chrome HTML%", "DomDynamicsAX"];

See Also