Giter Site home page Giter Site logo

chrome-for-testing's Introduction

Chrome for Testing availability

JSON API endpoints

Endpoint Description
known-good-versions.json The versions for which all CfT assets are available for download. Useful for bisecting.
known-good-versions-with-downloads.json Same as above, but with an extra downloads property for each version, listing the full download URLs per asset.
last-known-good-versions.json The latest versions for which all CfT assets are available for download, for each Chrome release channel (Stable/Beta/Dev/Canary).
last-known-good-versions-with-downloads.json Same as above, but with an extra downloads property for each channel, listing the full download URLs per asset.
latest-patch-versions-per-build.json The latest versions for which all CfT assets are available for download, for each known combination of MAJOR.MINOR.BUILD versions.
latest-patch-versions-per-build-with-downloads.json Same as above, but with an extra downloads property for each version, listing the full download URLs per asset.
latest-versions-per-milestone.json The latest versions for which all CfT assets are available for download, for each Chrome milestone.
latest-versions-per-milestone-with-downloads.json Same as above, but with an extra downloads property for each milestone, listing the full download URLs per asset.

The set of “all CfT assets” for a given Chrome version is a matrix of supported binaries × platforms.

The current list of supported binaries is:

  • chrome a.k.a. Chrome for Testing (supported since v113.0.5672.0)
  • chromedriver (supported since v115.0.5763.0)
  • chrome-headless-shell (supported since v120.0.6098.0)

The current list of supported platforms is:

  • linux64
  • mac-arm64
  • mac-x64
  • win32
  • win64

Other API endpoints

For historical reasons, LATEST_RELEASE_ files containing fully qualified version numbers are available as well.

  1. E.g. https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_116 answers the question “what’s the latest available version within milestone 116?”.
  2. E.g. https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_116.0.5845 answers the question “what’s the latest available version within the 116.0.5845.* range?”.
  3. E.g. https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_STABLE answers the question “what’s the latest available Stable channel version?”. Similar for the other channels (BETA/DEV/CANARY).

These can be used instead of the latest-versions-per-milestone, latest-patch-versions-per-build, and last-known-good-versions JSON API endpoints respectively.

Additionally, each version from the known-good-versions-with-downloads.json is published as a separate JSON file containing its download URLs — for example, 123.0.6309.0.json.

You can browse the complete list of JSON and text files.

CLI utilities

Find the latest Chrome versions across channels

$ npm run find

> find
> node --no-warnings find-version.mjs

Checking the Stable channel…
Found versions: Set(2) { '113.0.5672.93', '113.0.5672.92' }
Recommended version for Stable channel: 113.0.5672.92
https://storage.googleapis.com/chrome-for-testing-public/113.0.5672.92/linux64/chrome-linux64.zip 404
https://storage.googleapis.com/chrome-for-testing-public/113.0.5672.92/mac-arm64/chrome-mac-arm64.zip 404
https://storage.googleapis.com/chrome-for-testing-public/113.0.5672.92/mac-x64/chrome-mac-x64.zip 404
https://storage.googleapis.com/chrome-for-testing-public/113.0.5672.92/win32/chrome-win32.zip 404
https://storage.googleapis.com/chrome-for-testing-public/113.0.5672.92/win64/chrome-win64.zip 404
https://storage.googleapis.com/chrome-for-testing-public/113.0.5672.92/linux64/chromedriver-linux64.zip 404
https://storage.googleapis.com/chrome-for-testing-public/113.0.5672.92/mac-arm64/chromedriver-mac-arm64.zip 404
https://storage.googleapis.com/chrome-for-testing-public/113.0.5672.92/mac-x64/chromedriver-mac-x64.zip 404
https://storage.googleapis.com/chrome-for-testing-public/113.0.5672.92/win32/chromedriver-win32.zip 404
https://storage.googleapis.com/chrome-for-testing-public/113.0.5672.92/win64/chromedriver-win64.zip 404
❌ NOT OK

Checking the Beta channel…
Found versions: Set(1) { '114.0.5735.26' }
Recommended version for Beta channel: 114.0.5735.26
https://storage.googleapis.com/chrome-for-testing-public/114.0.5735.26/linux64/chrome-linux64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/114.0.5735.26/mac-arm64/chrome-mac-arm64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/114.0.5735.26/mac-x64/chrome-mac-x64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/114.0.5735.26/win32/chrome-win32.zip 200
https://storage.googleapis.com/chrome-for-testing-public/114.0.5735.26/win64/chrome-win64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/114.0.5735.26/linux64/chromedriver-linux64.zip 404
https://storage.googleapis.com/chrome-for-testing-public/114.0.5735.26/mac-arm64/chromedriver-mac-arm64.zip 404
https://storage.googleapis.com/chrome-for-testing-public/114.0.5735.26/mac-x64/chromedriver-mac-x64.zip 404
https://storage.googleapis.com/chrome-for-testing-public/114.0.5735.26/win32/chromedriver-win32.zip 404
https://storage.googleapis.com/chrome-for-testing-public/114.0.5735.26/win64/chromedriver-win64.zip 404
✅ OK

Checking the Dev channel…
Found versions: Set(1) { '115.0.5762.4' }
Recommended version for Dev channel: 115.0.5762.4
https://storage.googleapis.com/chrome-for-testing-public/115.0.5762.4/linux64/chrome-linux64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5762.4/mac-arm64/chrome-mac-arm64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5762.4/mac-x64/chrome-mac-x64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5762.4/win32/chrome-win32.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5762.4/win64/chrome-win64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5762.4/linux64/chromedriver-linux64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5762.4/mac-arm64/chromedriver-mac-arm64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5762.4/mac-x64/chromedriver-mac-x64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5762.4/win32/chromedriver-win32.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5762.4/win64/chromedriver-win64.zip 200
✅ OK

Checking the Canary channel…
Found versions: Set(2) { '115.0.5765.0', '115.0.5763.0' }
Recommended version for Canary channel: 115.0.5763.0
https://storage.googleapis.com/chrome-for-testing-public/115.0.5763.0/linux64/chrome-linux64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5763.0/mac-arm64/chrome-mac-arm64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5763.0/mac-x64/chrome-mac-x64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5763.0/win32/chrome-win32.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5763.0/win64/chrome-win64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5763.0/linux64/chromedriver-linux64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5763.0/mac-arm64/chromedriver-mac-arm64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5763.0/mac-x64/chromedriver-mac-x64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5763.0/win32/chromedriver-win32.zip 200
https://storage.googleapis.com/chrome-for-testing-public/115.0.5763.0/win64/chromedriver-win64.zip 200
✅ OK

Check a specific Chrome version for CfT binary availability

$ npm run check 118.0.5962.0

> check
> node --no-warnings check-version.mjs "118.0.5962.0"

Checking downloads for v118.0.5962.0…
https://storage.googleapis.com/chrome-for-testing-public/118.0.5962.0/linux64/chrome-linux64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/118.0.5962.0/mac-arm64/chrome-mac-arm64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/118.0.5962.0/mac-x64/chrome-mac-x64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/118.0.5962.0/win32/chrome-win32.zip 200
https://storage.googleapis.com/chrome-for-testing-public/118.0.5962.0/win64/chrome-win64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/118.0.5962.0/linux64/chromedriver-linux64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/118.0.5962.0/mac-arm64/chromedriver-mac-arm64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/118.0.5962.0/mac-x64/chromedriver-mac-x64.zip 200
https://storage.googleapis.com/chrome-for-testing-public/118.0.5962.0/win32/chromedriver-win32.zip 200
https://storage.googleapis.com/chrome-for-testing-public/118.0.5962.0/win64/chromedriver-win64.zip 200
✅ OK

FAQ

What is Chrome for Testing?

Chrome for Testing is a new Chrome flavor that specifically targets web app testing and automation use cases. Read Chrome for Testing: reliable downloads for browser automation for more details.

What’s the easiest way to download Chrome for Testing binaries?

Use @puppeteer/browsers.

macOS says the *.app is damaged. What now?

On macOS, if you download a Chrome for Testing ZIP file using a browser instead of via @puppeteer/browsers, curl, or wget, you might get this warning:

“Google Chrome for Testing.app” is damaged and can’t be opened. You should move it to the Trash.

This happens because macOS Gatekeeper sets an extended attribute that marks the ZIP file and any files within it as “downloaded via a browser” and thus potentially dangerous.

To fix the problem, recursively remove the extended attribute:

xattr -cr 'Google Chrome for Testing.app'

Support

chrome-for-testing's People

Contributors

alexsch01 avatar dependabot[bot] avatar jlemaes avatar lightning00blade avatar mathiasbynens avatar orkon avatar thiagowfx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chrome-for-testing's Issues

Chrome 115 HTTPS requirement for downloads

As of Chrome (for Testing) 115, we're seeing this error in the logs for test suite:

http://redacted-url.com:9400/companies/72dcc448-b266-4576-b85c-4b1a5808461b/reports/foobar - The file at 'http://redacted-url.com:9400/system/reports/complete_reports/reports/000/000/014/original/gibson-and-sons-agency-payments-2023-07-2520230725-96772-bdllzx.csv' was loaded over an insecure connection. This file should be served over HTTPS.

Looks like this was a security update that was released with Chrome 115 (we weren't seeing this in 114). We've tried both Chrome and Chrome for Testing. I get what the error is saying but since this is a CI/testing environment, our server is running in HTTP. Is there a command line argument to disable this check?

Or is the desired outcome for all test environments to now be served over HTTPS with a fake, but allow-listed, SSL certificate?

Hardware and OS independent rendering

When performing visual regression testing, minute rendering differences caused by hardware and OS choice complicate the task so much as to make it unviable without relying on complex solutions, like browser pools (on-premise or SaaS). The current crop of visual comparison algorithms doesn't completely solve the issue either. Is stable cross-platform rendering a goal of the Chrome for Testing project?

Missing `chromedriver` for Stable channel

Looking at the availability dashboard: https://googlechromelabs.github.io/chrome-for-testing/ , there are no chromedriver binaries for the Stable channel

Likewise, running The puppeteer install command returns the following error:

$ npx @puppeteer/browsers install chromedriver       
@puppeteer/browsers install <browser>

Download and install the specified browser. If successful, the command outputs the actual browser buildId that was
installed and the absolute path to the browser executable (format: <browser>@<buildID> <path>).

Positionals:
  browser  Which browser to install <browser>[@<buildId|latest>]. `latest` will try to find the latest available build.
           `buildId` is a browser-specific identifier such as a version or a revision.               [string] [required]

Options:
  --version   Show version number                                                                              [boolean]
  --help      Show help                                                                                        [boolean]
  --platform  Platform that the binary needs to be compatible with.
                                [string] [choices: "linux", "mac", "mac_arm", "win32", "win64"] [default: Auto-detected]
  --path      Path to the root folder for the browser downloads and installation. The installation folder structure is
              compatible with the cache structure used by Puppeteer.       [string] [default: Current working directory]
  --base-url  Base URL to download from                                                                         [string]

Examples:
  @puppeteer/browsers install chrome                            Install the latest available build of the Chrome
                                                                browser.
  @puppeteer/browsers install chrome@latest                     Install the latest available build for the Chrome
                                                                browser.
  @puppeteer/browsers install chromium@1083080                  Install the revision 1083080 of the Chromium browser.
  @puppeteer/browsers install firefox                           Install the latest available build of the Firefox
                                                                browser.
  @puppeteer/browsers install firefox --platform mac            Install the latest Mac (Intel) build of the Firefox
                                                                browser.
  @puppeteer/browsers install firefox --path                    Install to the specified cache directory.
  /tmp/my-browser-cache

Error: Download failed: server returned code 404. URL: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/chromedriver/mac-arm64/chromedriver-mac-arm64.zip
    at /Users/tcannon/.npm/_npx/c99440fc2d0a3f00/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.js:100:31
    at ClientRequest.requestCallback (/Users/blah/.npm/_npx/c99440fc2d0a3f00/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.js:77:13)
    at Object.onceWrapper (node:events:628:26)
    at ClientRequest.emit (node:events:513:28)
    at HTTPParser.parserOnIncomingClient (node:_http_client:701:27)
    at HTTPParser.parserOnHeadersComplete (node:_http_common:119:17)
    at TLSSocket.socketOnData (node:_http_client:542:22)
    at TLSSocket.emit (node:events:513:28)
    at addChunk (node:internal/streams/readable:324:12)
    at readableAddChunk (node:internal/streams/readable:297:9)

Docker: alpine image

I ran into a problem and I can't find a way out.
Please let me know if it is at all possible to install chrome inside the alpine image via npx.

If the answer is yes, please show an example of how to do it.
Thank you!


Dockerfile:

FROM node:18-alpine3.18

ENV CHROME_BIN=/chrome/linux-116.0.5845.96/chrome-linux64/chrome

RUN npx --yes @puppeteer/[email protected] install [email protected]

It unzips fine, but won't run from terminal or puppeteer.

From puppeteer I see:

Error: Failed to launch the browser process! spawn /chrome/linux-116.0.5845.96/chrome-linux64 EACCES

puppeteer version: 21.1.1

Provide JSON API endpoint replacing ChromeDriver’s LATEST_RELEASE_$VERSION

Until now, ChromeDriver provided an API of sorts to get the last known good PATCH version within a Chrome version for which a ChromeDriver binary is available.

This lets you turn a partial version number of the form MAJOR.MINOR.BUILD into a full version number of the form MAJOR.MINOR.BUILD.PATCH. For example, https://chromedriver.storage.googleapis.com/LATEST_RELEASE_72.0.3626 returns 72.0.3626.69.

This full version number could then be used to construct a download URL pointing to any of the binaries in https://chromedriver.storage.googleapis.com/index.html?path=72.0.3626.69/.

Prior to CfT, this was useful for matching a Chrome binary to a compatible ChromeDriver binary. There could still be use cases where developers want to grab a CfT ChromeDriver binary to use with a non-CfT Chrome binary.

Ref. web-platform-tests/wpt#40119

Calling for a media api returns 304 instead of 200

Steps to reproduce

  1. Serve an mp4 file through an http server using something like serve
  2. Open Chrome for Testing and go to url of the media file (e.g: https://localhost:3000/video.mp4)
  3. Notice the video is broken. If you inspect in the dev tools you can notice that the call to the mp4 url returns a 304 instead of 200.
  4. Open the same url for the media file in Chrome.
  5. Notice the video plays as expected.

Expected behaviour

The Chrome for Testing should return 200 and play the video just like how Chrome behaves

Enable Media Source Extensions (MSE)

I am trying to use the new Chrome for Testing build 115 to play HLS video streamed from a web server it fails to create the HLS class with the error "Error: Media Source Extensions (MSE) are required for video playback. Either this browser does not support MSE or the feature is disabled."

I am not seeing any flags or any way to enable this. I am not seeing any other issues with this in regards to chromium or anywhere else on the web. Everything works fine with a normal Chrome browser. Is this a known issue or licensing issue? Are there plans to address this?

Any plans to support lower versions of Chrome?

hello!

I was very happy to read the Chrome release documentation ,because it seemed to have the stuff I needed.

However, it seems that only the latest version (113 or higher) is still supported.

It would be better if it supported all versions of Chrome (eg version 60).

Do you have any plans to apply?

CfT reading from /chromium/policies instead of /chrome/policies on Linux

Hello!
Access to the application I am testing requires accepting a SSL certificate (in a corporate environment, Linux Mint).
I have the AutoSelectCertificateForUrls rules (pattern) stored in a json file in /etc/opt/chrome/policies, which enables the standard Chrome to read from it and automatically accept the certificate, skipping the 'Select a certificate' popup.
However, Chrome for Testing does not read the certificate policies from that location and I am getting the certificate popup.
Workaround is to store the json file in /etc/chromium/policies - that way CfT will not be getting the cert popup.
It doesn't seem right that CfT is reading from the chromium directory. Could it be a bug in CfT?

My environment:
Linux Mint 19.3
Chromium 112
Chrome 113
Chrome for Testing - tested with stable 114 and beta 116

Linux/ARM?

Hi folks,

Is it on the roadmap to release a Linux/ARM binary?

Thank you,

Could not start a new session. Response code 500

Hi!
After driver update it can't start the browser.
Previous driver version 114.0.5735.90 works with no issue.

	Suppressed: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: unknown error: cannot find Chrome binary 
Build info: version: '4.10.0', revision: 'c14d967899'
System info: os.name: 'Mac OS X', os.arch: 'aarch64', os.version: '13.4.1', java.version: '20.0.1'

Chrome version - 115.0.5790.98
Chromedriver version - 115.0.5790.98

Running in sandbox fails because invalid name for chrome-sandbox in package

Hi! 👋

We switched our testing to use Chrome for testing and noted weird inconsistency. I though this might be good to report here. I'm not sure if this is a bug or just some inconsistency or misgonfiguration in our end.

The Problem

Running chrome for testing with sandbox fails with non root user.

Chrome is installed with @puppeteer/browsers as suggested here: https://developer.chrome.com/blog/chrome-for-testing/.

non_root_user $ ./google-chrome
...
[45:45:0807/062323.819853:FATAL:zygote_host_impl_linux.cc(127)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.

We definitely do not want to live dangerously :)

STRACE tells us that chrome is trying to access chrome-sandbox binary.

[pid   217] access("/chrome/linux-115.0.5790.170/chrome-linux64/chrome-sandbox", F_OK) = -1 ENOENT (No such file or directory)

We noted that the package itself contains binary with name chrome_sandbox (with underscore).

Our Workaround

Our workaround was just simply to link sandbox binary with expected name. In Dockerfile something like following

# Install chrome and chromedriver
RUN npx --yes @puppeteer/browsers install chrome@stable
RUN npx --yes @puppeteer/browsers install chromedriver@stable

# Symlink binaries
RUN ln -s $(find /chrome/linux* -name chrome) /usr/bin/google-chrome
RUN ln -s $(find /chromedriver/linux* -name chromedriver) /usr/bin/chromedriver

# Fix inconsistency with chrome-sandbox naming in the package, this should work even if package contains correct `chrome-sandbox`
RUN cd $(dirname $(find /chrome -name chrome_sandbox)) && ln chrome_sandbox chrome-sandbox; exit 0
RUN chmod 4755 $(find /chrome -name chrome-sandbox)

And after that our testing container works like a charm with sandboxed chrome installation.

Setting CHROME_DEVEL_SANDBOX doesn't seem to have effect, but I understood that CHROME_DEVEL_SANDBOX environment variable is only effective on development builds.

For running the container you also need --cap-add SYS_ADMIN.

I'm not sure if this is the correct place to report this, but I'm thinking that someone else also has hard time using chrome for testing because of this as it is not clear what is the actual problem without tracing the run.

Cannot override "download.prompt_for_download" value if running on incognito mode

From Chromedriver 117 and higher, if you need to download a file on incognito mode, the variable "download.prompt_for_download = False" on the chromeOptions is not not taken into account.

    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument("--incognito")
    prefs = {
        "download.prompt_for_download": False,
    }
    chrome_options.add_experimental_option("prefs", prefs)

It turns out that with this configs the popup to save the file will always be prompted to the user.
If I remove the linechrome_options.add_argument("--incognito"), the setting is correctly taken into account and the popup is not prompted to the user.

Chrome for testing is only for automated testing bar on all screenshots

Really appreciate the chance to fix to a chrome version for testing. The lack of this ability has been very difficult for us. We work in a regulated industry where we have extensive browser-based tests which take screenshots. These screenshots end up in validation documentation that is viewed by external auditors.

I'm noting when using a chrome-for-testing build:

image

A header that says "Chrome for testing vXXXX is only for automated testing...."

Well, yes. That's what we're doing, we are driving this with selenium. We don't need or want a header on every screenshot telling us so. Can we have a flag to turn this off?

Early Stable Releases

I'm looking to programmatically get the early stable versions when they are released to dynamically update the pdls in the Selenium repo. I want to get Selenium releases out before production chrome is released to minimize warnings in people's logs.

For https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions.json
Will the stable version get updated only after the official stable release? Or can we get an EarlyStable tag in that file when it is appropriate?

I can do it manually if needed, just trying to automate more things in our build/release cycle. Thanks.

json api endpoints doesn't have checksum

Hi everybody! i would like to know if there is the possibility to add checksum property to the json endpoints, since i have created a custom script in python to donwload the binaries but after unzipping chrome and chromedriver, chrome didn't start, after a couple of mins i said: if i donwload it manually? after unziping that one, it worked!

is that by design?

Saludos!

Create "chromium-for-testing" default user configuration folder on Linux; note to use --user-data-dir

I already had Chromium Version 116.0.5825.0 (Developer Build) (64-bit) from https://download-chromium.appspot.com/dl/Linux_x64?type=snapshots (https://github.com/beaufortfrancois/download-chromium/) running. Downloaded Google Chrome for Testing Version 116.0.5817.0 (Official Build) (64-bit) and launched.

Since this is built using Chromium, a new instance of Chromium was launched, using the same default configuration folder on Linux, Xubuntu distribution, ~/.config/chromium.

I think you need to make sure this is creating a "chromium-for-testing" default user configuration folder, just like if we install Chrome proper the first time we launch the folder "google-chrome-unstable" is created in ~/.config, and so forth for each version.

In the mean time it would be helpful to write conspicuous notices in your blog posts, et al. that the user should launch with --user-data-dir flag to avoid the case where launching Chrome for Testing executable will just launch a new Tab in an open Chromium instance when --user-data-dir flag is not set. I'm rather sure that is not what you are trying to do here.

New reduced user-agent

Hello all,

After reading about the new reduced user-agent, I wonder if in the following Google Chrome updates, the old user-agent will keep or it will be removed.

Could you clarify this topic, please? 🙂

ChromeDriver requires a Chrome for Testing binary by default

As we are starting to add support for Chrome for Testing in Selenium, we have noticed that when using ChromeDriver 115, it expects a Chrome for Testing binary, and it will only use the already installed regular Chrome if the location is passed through the goog:chromeOptions section.

Not sure if we missed that detail or if it needs to be documented.

Is it possible to have as default behavior in ChromeDriver to use the already installed "regular" Chrome binary? Almost every one using ChromeDriver right now follows that thought. Perhaps a new flag in ChromeDriver that does that.

Thanks!

CfT for Android Device

While using Android Real Device, we have Mobile Native Applications involving WebHandOff Pages, if we are to automate it, we need relevant webDriver versions based on the Android WebView System. So, if we move to this approach, how are we expected to manage them? Please help.

Installation Instructions

Could some basic installation documentation be provided to show users how to make use of the provided binaries?

The blog page demonstrates the use of the @puppeteer/browsers package to install the binaries, but this isn't possible in all environments. And this repo doesn't mention anything about installation.

I appreciate that it's complex to provide detailed instructions for every platform and use-case, but even some simple guidelines would be helpful. eg. "Download these, unzip to , mark as executable...".

I've managed to get everything working in a Debian-based container, but I'm not sure if I'm doing it right at all. For example, it appears that I also need to install the main Debian chrome package to install various dependencies the Chrome for Testing binary needs. I'm not sure if this is expected or not.

Anyway, thanks for working on this! The APIs and binaries work well, just a thought on user-experience.

Getting following google API issue with Chrome-116.0.5845.97 and Selenium 4.11.0 which is blocking browser launch

  1. Today i have updated the chrome version to latest i.e 116.0.5845.97 and i'm using selenium 4.11.0 when i'm trying
    to launch the Chrome browser i'm getting following issue.

Error Logs for your reference:
←[m13:59:45,961 ERROR [HttpClient] Error HTTP 404 executing https://chromedriver.storage.googleapis.com/LATEST_RELEASE_116
13:59:45,961 WARN [VersionDetector] Exception reading https://chromedriver.storage.googleapis.com/LATEST_RELEASE_116 to get latest version of chromedriver (Error HTTP 404 executing https://chromedriver.storage.googleapis.com/LATEST_RELEASE_116)
←[37;41m2023-08-16 14:00:00,877 [ERROR] Failed to publish message com.smartbear.events.UpdateNavigatorTreeMessage@3b7fb962 to listener method com.smartbear.ready.ui.project.ServiceVModulePanel.handleUpdateModuleTreeMessage
←[m java.lang.reflect.InvocationTargetException: null
at jdk.internal.reflect.GeneratedMethodAccessor304.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.engio.mbassy.dispatch.ReflectiveHandlerInvocation.invokeHandler(ReflectiveHandlerInvocation.java:23) [mbassador-1.1.10.jar:?]
at net.engio.mbassy.dispatch.ReflectiveHandlerInvocation.invoke(ReflectiveHandlerInvocation.java:49) [mbassador-1.1.10.jar:?]

==============================================================================
2. Selenium is started using below command to make use of Selenium Manager

java -jar selenium-server-4.11.0.jar standalone -p 4450 --session-timeout 620 --selenium-manager true

==============================================================================

  1. As i hit this below url i'm getting Latest available version as 114 only:

https://chromedriver.storage.googleapis.com/LATEST_RELEASE

image

==============================================================================

  1. Also i can see selenium manager has downloaded required chrome driver in .cache, please refer below image

image

Waiting for your response as we are blocked because of this issue

What is the latest version compatible with Windows Server 2012 R2?

I am working on a project with a dependency on Puppeteer, which uses the latest version of Chrome For Testing.

This project will require compatibility with Windows Server 2012 R2. However, it does not seem like the recent versions of Chrome for Testing is compatible with Windows Server 2012 R2.

I setup two virtual machines, one with Windows Server 2012 R2, one with Windows Server 2016. In both, I've setup the same project and installed the same version of Puppeteer with its bundled Chrome for Testing (v21.0.1 and v115.0.5790.102 respectively)

When I tried to open the bundled Chrome in Windows Server 2012 R2, I see the following error.
image

On the other hand, opening the bundled Chrome in Windows Server 2016 has no issues whatsoever.

So I'd like to know: does there exist a version of Chrome for Testing that's compatible with Windows Server 2012 R2?

Last I checked, vanilla Chrome deprecated Windows Server 2012 R2 just this month, and because of how recent this is, I wonder if there exists a relatively recent version of Chrome For Testing that works for Windows Server 2012 R2 too.

edgedl.me.gvt1.com is not working properly as of 7:40am GMT

Hello,

Not sure if this is the right place but it's the place that is Chrome For Testing.

We noticed this morning that downloads from edgedl.me.gvt1.com are no longer working on a range of EC2 servers this morning. We have hundreds of servers, all configured identical and about half of them cannot connect to edgedl.me.gvt1.com

curl -v https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/117.0.5938.149/linux64/chrome-linux64.zip
*   Trying 34.104.35.123:443...
* TCP_NODELAY set
*   Trying 2600:1900:4110:86f:::443...
* TCP_NODELAY set
* Immediate connect fail for 2600:1900:4110:86f::: Cannot assign requested address
* TCP_NODELAY set
*   Trying 2600:1900:4110:86f:::443...
* TCP_NODELAY set
* Immediate connect fail for 2600:1900:4110:86f::: Network is unreachable
*   Trying 2600:1900:4110:86f:::443...
* TCP_NODELAY set
* Immediate connect fail for 2600:1900:4110:86f::: Network is unreachable
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0*   Trying 2600:1900:4110:86f:::443...
* TCP_NODELAY set

Has something changed with edgedl.me.gvt1.com ? or are there any mirrors?

License unclear

This repository contains an Apache 2.0 LICENSE file.

Does this mean that only the code in this repository is under the Apache 2.0 license, or also the whole Chrome for Testing?

Or more concretely: Can Chrome for Testing be redistributed as part of a commercial software that uses it for some automation.

Chrome Current stable URL link returns upcoming-Stable (116.0.5845.140) instead of Stable 116.0.5845.96

Issue : Returning wrong instable package (116.0.5845.140) in place of Stable 116.0.5845.96 chrome package .
Steps :
Hit the link below and install package :
https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
Now install and verify the package

Issue :
It shows as 116.0.5845.140 .

Expected :
It should be 116.0.5845.96 as the URLS for all 116.0.5845.140 returns 404 error .So linux package as stable should return 116.0.5845.96 only not as 116.0.5845.140

chrome | linux64 |
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.140/linux64/chrome-linux64.zip | 404
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.140/mac-arm64/chrome-mac-arm64.zip | 404
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.140/mac-x64/chrome-mac-x64.zip | 404
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.140/win32/chrome-win32.zip | 404
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.140/win64/chrome-win64.zip | 404
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.140/linux64/chromedriver-linux64.zip | 404
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.140/mac-arm64/chromedriver-mac-arm64.zip | 404
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.140/mac-x64/chromedriver-mac-x64.zip | 404
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.140/win32/chromedriver-win32.zip | 404
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.140/win64/chromedriver-win64.zip

Chromedriver v118 flagged by security software as malicious

The zip file for chromedriver v118 is being flagged by our security software as malicious. The URL in question is ...

https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/118.0.5993.70/win64/chromedriver-win64.zip

... and the issues found include ...

The file hash's of the program itself appear in VirusTotal as malicious. The EXE requests PowerShell to run, then asks PowerShell to execute another program, this is suspicious. There is an imbedded email address in the zip file ([email protected]) that is associated with Hungary, that is suspicious.

Chrome for Testing is delivered with one version behind officially released version of Google Chrome

Hi, in last weeks we started using Chrome For Testing for automated tests. The solution worked for 1-2 weeks than it broke. We would like to use the same version Chrome and Chromedriver.

Currently we are installing Chrome from official distribution: https://www.google.com/chrome/. Currently it is providing application in version: 116.0.5845.187 We saw the recommended solution to install Chrome for Testing (https://developer.chrome.com/blog/chrome-for-testing/#how-can-i-get-chrome-for-testing-binaries) but it is not satisfactory because in our use case we don't have installed node/npx. There are other people that are in the same situation (https://stackoverflow.com/questions/76730257/how-to-install-chrome-for-testing-from-zip-file-on-debian). The problem is we cannot install chromedriver for the newest version of Google Chrome publicly available because the newest version of chromedriver is not being published at: https://googlechromelabs.github.io/chrome-for-testing

image

Is it possible to synchronise releases of Google Chrome for Testing with Google Chrome?

Other similar issue was reported in other GitHub repository: GoogleChrome/developer.chrome.com#7205

It is unclear if chromedriver always matches the chrome version

With chromedriver 114 and lower there was a dedicated URL to tell the latest chromedriver version:
https://chromedriver.storage.googleapis.com/LATEST_RELEASE

Here we have new links to tell the version, but it doesn't clearly specify if it is common for chrome and chromedriver:
https://github.com/GoogleChromeLabs/chrome-for-testing#other-api-endpoints

In https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json I can see that for Stable release there is a common version and I can assume that both chrome and chromedriver download links are based on that version.

Could you please confirm if it is safe to assume that the versions always match?
Nowhere in the docs it has been clearly stated.

Serve .zip files with Access-Control-Allow-Origin: * header

I wrote some code to fetch the latest Canary version, unzip and write the folder to the local file system from the browser. The hinderance is .zip are not served with Access-Control-Allow-Origin: * header.

Access to fetch at 'https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6081.0/linux64/chrome-linux64.zip' from origin 'https://www.example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Connection not private page not reachable in chrome for testing browser

Hii
We started using Chrome for testing browser instead of normal chrome browser in our automated tests in selenium c# and
some of our testcases in which we are navigating to site with private connections or invalid certificates started failing because,
it is not showing the window to allow private connection and proceed further.
Instead it is showing site is not reachable .
we are using this '--ignore-certificate-errors' argument in chromeOptions of ChromeDriver to skip the connection not private page. It is able to skip the page in normal browser but not in chrome for testing browser.
attaching the screenshot for reference
In the screenshot left side is normal chrome browser and right side is chrome for testing browser.
chrome for testing

No 117 Chrome Driver

My Chrome version's 117 now but cannot find corresponding Driver, or update google Chrome to 118 either.

[Question] Does Сhrome for Testing support old versions or only works starting from 113.0.5672.0

From the documentation it is not very clear from which version of Сhrome I can use Сhrome for Testing.
I was very happy about this news and thought that I could finally install version 48 to test old browsers that do not support ES6, but here https://googlechromelabs.github.io/chrome-for-testing/known-good-versions.json i I see beginning only from 113 version.
Is it possible to install 48 and is it planned to support versions before 113.
Thank you

how to use the python version of chrome for testing?

how to use the python version of chrome for testing?
I downloaded it, specified it in path (I had to rename it to chromedriver to make the system understand what I wanted), run the code in pycharm, the chrome for testing window opens, and that's it. even the link doesn't go through.
The error indicates that the Chrome driver cannot connect to the service. Windows platform

Driver Release Notes

Previous chromedriver releases included a notes.txt file listing which issues were addressed from previous version. Is this information accessible somewhere else now? Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.