-
Notifications
You must be signed in to change notification settings - Fork 395
feat: add Chrome for Testing to cypress/factory build process #1371
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @MikeMcC399. I'm having some trouble running the verification steps on the chrome for testing example. It looks like none of the browsers are installed in the image? I am thinking I missed something here

If you're running the verification steps that I provided, then the only browser that is supposed to be installed is Here is a simplified set of steps you can try, together with logs: git clone --branch factory/cft https://github.com/MikeMcC399/cypress-docker-images
cd cypress-docker-images
cd factory
docker compose build factory
cd test-project
set -a && . ../.env && set +a
docker compose run --build --rm test-factory-chrome-for-testing
|
@MikeMcC399 I think I know whats going on. I am on
|
The fact that Chrome for Testing, like Chrome, isn't available for It does say so on https://github.com/MikeMcC399/cypress-docker-images/tree/factory/cft/examples/chrome-for-testing though and on https://github.com/MikeMcC399/cypress-docker-images/blob/factory/cft/factory/README.md#chrome_for_testing_version IIRC you only see the arm64 skip message if you use if (process.arch !== 'x64') {
console.log(`Chrome for Testing only available for x64. Not currently available for architecture: ${process.arch}`)
process.exit(0)
} |
I've added notes for the README and the .env file to call out the non-availability of Chrome for Testing on |
@MikeMcC399 thanks for adding this! I was able to test on my amd64 machine and things worked as expected. |
Thanks for testing it out! I'm glad to see it merged 😄 |
Situation
Google targets web app testing with their Chrome for Testing flavor of Chrome.
Currently the cypress/factory build process supports the installation of Google Chrome by specifying CHROME_VERSION. It does not support Chrome for Testing.
Cypress introduced support for Chrome for Testing in [email protected].
Google has restricted the use of the
--load-extension
flag in Chrome version 137 and above and continues to allow its use in Chrome for Testing. See also [email protected] changelog.The directory examples/chrome-for-testing shows how to add Chrome for Testing to a custom Cypress Docker image using shell commands in a Dockerfile. This diverges from the method used to install other browsers through
cypress/factory
that require only a single version parameter to install any of the browsers: Chrome, Edge or Firefox.Change
Add an option to install the Google Chrome for Testing browser using the cypress/factory build process.
Chrome for Testing is downloaded from
https://storage.googleapis.com/chrome-for-testing-public
as defined in Chrome for Testing > JSON API endpoints. Puppeteer is not used.The Docker ARG parameter is
CHROME_FOR_TESTING_VERSION
Factory version is bumped to
5.11.0
CircleCI contains an additional test:
test-factory-chrome-for-testing
Verification