Form Field Locators

@data-id attribute shortened in some cases.

Current Version

//input[@type='text' and @data-id='fullname_compositionLinkControl_firstname.fieldControl-text-box-text']


Wave 2

//input[@type='text' and @data-id='firstname.fieldControl-text-box-text']


Common part in @data-id values makes It possible to adjust locators in a way to work with both versions of Dynamics 365:

//input[@type='text' and contains(@data-id,'firstname.fieldControl-text-box-text')]



Wave 2 introduces new implementation for the grid that displays table data. To address this change we created a fix release  - Rapise v7.0.23.35. Please contact support team to request this version.  Support for the new grid will be included into coming release of Rapise v7.1.

Find new grid reference here:

Old and new grids have identical actions and properties, so to update an existing test you just need to relearn grid objects. No need to change script steps.

Though Wave 2 is using new grid you may still have your tests  working with both versions of Dynamics 365. To achieve this goal complete a few steps.

Step 1

Assign two locators to a grid object.

For example, we have LeadsGrid object. We've got it after re-learn on Wave 2.

We clone the existing locator and assign old XPATH to it.

Clone option is accessible via context menu

Step 2

Add function to User.js that will assign correct object type to grids (depending on CRM version) . You may define g_wave2 variable in your test or pass from SpiraTest.

function ConfigureGridType()
    if (typeof(g_wave2) == "undefined")
        g_wave2 = false;
    var _gridType = g_wave2 ? "DomDynamicsCrmAgGrid" : "DomDynamicsCrmUnifiedInterfaceGrid";

    for(var objId in saved_script_objects)
        var obj = saved_script_objects[objId];
        if (obj.object_type == "DomDynamicsCrmAgGrid" || obj.object_type == "DomDynamicsCrmUnifiedInterfaceGrid")
            obj.object_type = _gridType;

Step 3

Call  this function in TestInit or at the beginning of RVL script.

Breaking Changes

Wave 2 also has breaking changes - some buttons and fields disappeared,, some were redesigned.  So be prepared to change logic of tests in some cases.

Example 1

We've noticed Refresh button is no longer present on some tables.

Example 2

Some forms changed from full to quick mode.

Current Version

Wave 2