Skip to content

Compatibility issue with latest Workday release: client-side navigation fails, gives Error parsing JSON #8549

Description

@harry7771

What is your Scenario?

We're seeing what appears to be a compatibility issue between TestCafe and the latest Workday Preview release.
Reproduced in both Classic mode and Native Automation, suggesting it is not specific to Hammerhead.
Clicks execute successfully, but any click that should navigate to another Workday page does not navigate.
Note that not only clicks, but other ways of interacting with page elements (spacebar, Enter) demonstrate the exact same behavior (UI element is activated, but fails to navigate anywhere).

What is the Current behavior?

Please note that clicks execute successfully on the webpage, but clicks that should navigate to another Workday page do not navigate.
The issue is reproducible against the latest Workday Preview release, but not against earlier Workday releases we tested.
**After unlocking the browser during a TestCafe run, even manually clicking the same element still fails to navigate, which leads me to think it is not related to our TestCafe code.

What is the Expected behavior?

Expected behavior is that a successful click should navigate to the web page for that page element.

What is the public URL of the test page? (attach your complete example)

Unfortunately, there is no public URL. I can supplement as best I can with any screenshots or other technical info.

What is your TestCafe test code?

I've provided the beginning of our test script, to at least give you an idea of how our scripts start off, but I haven't provided other code yet since the issue is present when interacting with any/all page elements that should lead to other pages.

import locators from '../locators/locators.js';
import * as constants from '../constants/constants.js';
import commonKeywords from '../keywords/keywords.js';
import loginPageKeywords from '../keywords/loginPage.js';
import topNavBarKeywords from '../keywords/topNavBar.js';
import startProxyPageKeywords from '../keywords/startProxyPage.js';
import userProfilePageKeywords from '../keywords/userProfilePage.js';
import commonWorkdayKeywords from '../keywords/commonWorkday.js';
import learnKeywords from '../keywords/learn.js';
import talentPoolKeywords from '../keywords/talentPool.js';
import commonWorkday from '../keywords/commonWorkday.js';
import helpers from '../keywords/helpers.js';

fixture('Manager Add Verbal Warning')
.meta({ regression: 'true' });

test('Manager Add Verbal Warning', async t => {
await commonWorkdayKeywords.maximizeWindow(t);

const todayMMDDYYYY = helpers.getCurrentDateMMDDYYYY(0);
const threeMonthsMMDDYYYY = helpers.getCurrentDateMMDDYYYY(3);

await commonKeywords.navigateToWd(t, 'preview');
await loginPageKeywords.clickOutOfNetworkLogin(t, 'Out of Network');
await loginPageKeywords.enterUsername(t, constants.WD_USERNAME);
await loginPageKeywords.enterPassword(t, constants.WD_PASSWORD);
await loginPageKeywords.clickSignIn(t);
await t.debug();
await topNavBarKeywords.searchGlobal(t, 'start proxy', 'Start Proxy');
await topNavBarKeywords.clickSearchResult(t, 'Start Proxy');

Your complete configuration file

{
"assertionTimeout": 30000,
"selectorTimeout": 30000
}

Your complete test report

Using locally installed version of TestCafe.
Running tests in:

  • Chrome 151.0.0.0 / Tahoe 26

Manager Add Verbal Warning
Maximized browser window
Clicked 'Out of Network' login option and verified username input is visible
Entered username: isu_qa_automation
Entered password
Clicked Sign-In button and verified search bar is visible
Entered search text 'start proxy' in global search bar and verified search result 'Start Proxy' is displayed
Clicked search result: 'Start Proxy'
✖ Manager Add Verbal Warning

  1. AssertionError: expected false to be truthy

    Browser: Chrome 151.0.0.0 / Tahoe 26

    7 |     * @param {Object} t - TestCafe test controller
    8 |     * @param {string} employeeId - Employee ID to enter
    9 |     */
    

    10 | async enterProxyUser(t, employeeId) {
    11 | await t

    12 | .expect(locators.proxyUserSearch.visible).ok()
    13 | .typeText(locators.proxyUserSearch, employeeId)
    14 | .pressKey('enter')
    15 | .expect(locators.selectedSearchResult.visible).ok();
    16 | console.log(Entered proxy user ID '${employeeId}' and verified search result is visible);
    17 | }

    at (/Users/andrew.harrison/Desktop/apps/workday-test-automation/keywords/startProxyPage.js:12:55)
    at asyncGeneratorStep (/Users/andrew.harrison/Desktop/apps/workday-test-automation/keywords/startProxyPage.js:1:48)
    at _next (/Users/andrew.harrison/Desktop/apps/workday-test-automation/keywords/startProxyPage.js:1:48)
    at (/Users/andrew.harrison/Desktop/apps/workday-test-automation/keywords/startProxyPage.js:1:48)
    at (/Users/andrew.harrison/Desktop/apps/workday-test-automation/keywords/startProxyPage.js:1:48)
    at StartProxyPageKeywords.enterProxyUser [as enterProxyUser] (/Users/andrew.harrison/Desktop/apps/workday-test-automation/keywords/startProxyPage.js:16:100)
    at (/Users/andrew.harrison/Desktop/apps/workday-test-automation/tests/managerAddVerbalWarning.js:31:34)
    at asyncGeneratorStep (/Users/andrew.harrison/Desktop/apps/workday-test-automation/tests/managerAddVerbalWarning.js:12:46)
    at _next (/Users/andrew.harrison/Desktop/apps/workday-test-automation/tests/managerAddVerbalWarning.js:12:46)

1/1 failed (49s)

Screenshots

Image

Steps to Reproduce

  1. Launch any script that attempts to interact with any page element in the latest Workday release.
  2. Observe that clicks and other methods of interacting with Workday page elements successfully engage those elements, but a SEVERE JSON error is generated in the console and the clicks fail to trigger the expected page navigation.

TestCafe version

3.7.6 (same results with 3.7.4)

Node.js version

No response

Command-line arguments

testcafe chrome tests/script.js

Browser name(s) and version(s)

Chrome 151; Firefox latest also

Platform(s) and version(s)

No response

Other

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    STATE: Need responseAn issue that requires a response or attention from the team.TYPE: bugThe described behavior is considered as wrong (bug).

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions