This page provides details about the impact of updating the current browser version to headless Chrome Version 86. 


  • Chrome version 86 is available for:
    • SaaS Controllers
    • On-premise Controllers >=21.4.x with Synthetic Server >=21.4.1
  • Jobs in AWS locations get executed in Linux-based agents with Chrome version 86

  • Jobs in Azure locations get executed in Windows-based agents with Chrome version 86

  • The behavior changes described on this page are not applicable for the agents in Azure locations

Browser Version

Current BrowserNew BrowserImpactAction

Chrome
versions - 64, 79, 81, and 83

Headless Chrome
Version 86


Headless version includes major security enhancements and changes in the browser engine that results in increased page load time and session duration.

  • Increase the timeout configuration as required in the scripts.
  • Update the performance and alerting configurations as required.

Some Python based Selenium scripts that run successfully in Chrome version 64 fail with "Script broken" error in Chrome version 86. This happens due to incompatibility between the Selenium commands and the latest Chrome web-driver.

  • Update the scripts to fix this issue.
  • If the scripts pass locally with Chrome version 86 (Headless Chrome), reach out to the AppDynamics support team.

Current Behaviour: Sessions with 4xx errors are not treated as client errors in certain cases

No action required.

Headless Chrome does not support extensions or embedded PDF viewer. The PDF is downloaded and viewable in resource waterfall but screenshot is not present. Hence, you can verify the availability of a PDF file but cannot take a screenshot.

You can verify the availability of the PDF document by sending an HTTP request using Python request library and assert on the response code.

Following is a sample script:

import requests

response = requests.get ("https://www.mohfw.gov.in/pdf/PreventionandManagementofCOVID19FLWEnglish.pdf")
print ("Got response " + str(response.status_code))
assert (response.status_code == 200)
CODE

During multi-tab script flows, if the new tab is triggered indirectly, such as by an element click, the initial resources do not get captured in the new tab.

This occurs because of a puppeteer bug.

Open the tab directly in the script and perform any operation.

Agent Machine Configuration

Current BrowserNew BrowserImpactAction
Machine configuration: 2vCPU 8GB RAM
  • Container configuration: min 0.75 vCPU - max 1.25 vCPU, 2GB RAM.
  • Uses burst-able limits of Kubernetes for better resource utilisation.

The page load time and session duration might increase.

  • Increase the timeout configuration as required in the scripts.
  • Update the performance and alerting configurations as required.

Job Execution Environment

Current BrowserNew BrowserImpactAction
Jobs are executed in Windows environment.

Jobs are executed in K8S based Alpine containers.

If the website serves content based on operating system (OS), the scripts created based on windows environment fail.

Update the scripts with Linux environment based content.

Scripts fail with 4xx error in some cases.

This issue might occur when the server denies access to Linux agents or when website access is restricted only in Windows environment.

Provide access to Linux agent.

  • The NAT based address can be different from the existing whitelisted IPs. So the existing whitelisting may not work.
  • Session might fail with '4XX client error'

Update the IP whitelisting based on the AWS IP ranges. IP ranges used in our AWS locations are available here.

The jobs with OS or file system based commands fail.

As per AppDynamics security standards, jobs are executed in stateless environments meant only for the execution of web tests. Hence, OS/file system based commands are not supported.

If you have used OS or file system based commands in your scripts, remove those commands.

Network Throttling

Current BrowserNew BrowserImpactAction
Network throttling feature is implemented using a third party library.Network throttling is implemented using Chrome browser dev tools protocols.
  • The network throttling accuracy is improved.
  • Jobs which have configured network throttling may observe increased session duration.

Either increase the timeout value or re-configure the throttling speed of the job.