Chromium Upgrade Known Issues

This troubleshooting page addresses why browser-based test results may differ between versions of Chromium.

Background

As part of ThousandEyes’ agent lifecycle management, we periodically update the Chromium browser in both our Cloud and Enterprise Agents so that agent software stays up to date with the latest browser technology and remains compliant with customer internal security policies. In any upgrade cycle, there will be two Chromium versions under consideration: “last” (default) and “latest” (newer).

During and immediately following these Chromium upgrades, your production tests may not behave consistently across different agents, and between different versions of Chromium – this is due to the scripting flexibility of our transaction tests, along with the fact that Chromium is an open-source project and does not guarantee backward compatibility.

Because Chromium updates can cause test behavior to change, customers are advised to repeat their testing debug cycles on each update, in order to ensure that all tabs, frames and other elements are still correctly interacted with in the updated DOM. Follow the procedural guidelines in Dual Chromium Option to identify potential issues in the upcoming version of Chromium prior to our regular Chromium upgrade cycle, so that they can be addressed prior to the Chromium version upgrade in the “default” Browserbot package.

This page outlines specific areas of browser functionality or behavior that is known to be different for each of the versions of Chromium used in our Cloud & Enterprise Agents.

In addition to these known issues that may be related to specific releases of Chromium, please review these general troubleshooting pages for debugging your transaction test scripts.

Chromium 118 Known Issues

Between Chromium v97 and Chromium v118, ThousandEyes has identified the following cases where the scripting syntax has changed between these Chromium versions.

1. Issue: tests fail with a message about “element click intercepted” (Chromium 118)

How to Identify

Tests fail with an error message that has the text element click intercepted. The message generally takes this form:

i: element click intercepted: Element <span>...</span> is not clickable at point (193, 619). Other element would receive the click: …

Background

This issue is very particular to the previous version of Chromium used in BrowserBot, which was Chromium 97.

Generally, the element click intercepted error happens when the same test run with Chromium 118 is presented with a different page flow than when using the previous version, Chromium 97.

In most of the cases we have encountered, the problem is actually with Chromium 97, not with Chromium 118, where the target page used the :has CSS selector in its HTML. Chromium 97 does not support that selector, and hence it does NOT show an intervening page, whereas Chromium 118 does support the :has selector, and so it yields a different page flow.

Suggested Solution or Workaround

ThousandEyes users must update their transaction script to account for the intended page flow.

Issue: test throws an error inside JSON.stringify()

How to Identify

We have seen exactly one error of this form:

r: unknown error: Runtime.callFunctionOn threw exception: TypeError: obj.hasOwnProperty is not a function
    at JSON.stringify (https://files.domain.com/static/js/lib/appUtilities.js:60:12)
    at buildError (<anonymous>:324:18)

Background

If you have defined a function to overwrite theJavascript function, JSON.stringify(), your test may no longer work in Chromium v118.

Suggested Solution or Workaround

Use the standard built-in function wherever possible.

Issue: tests fail because an element on the target page cannot be found (Chromium 118)

An error occurs where the script cannot locate an element or says that the element does not exist. There are slight inconsistencies between the Chromium browser in v97 and v118 that may have caused this behavior.

How to Identify

Tests fail with a message similar to one of the following:

no such element: Unable to locate element or Error: Unable to find element containing … or AssertionError [ERR_ASSERTION]: Username element does not exist!

These errors all stem from the script’s inability to actually locate an element on the page, either by a CSS selector, an XPath path, or by looking for text in a button or link. In the last example, the AssertionError messages are merely assertions in the test which require that an element exists on the page under examination.

Suggested Solution or Workaround

Review your test to ensure that elements can be properly located in the newer version of Chromium. Additional waits or another selector may need to be added, or that section of the test script may need to be re-written.

Last updated