Skip to content
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

chrome was not found within cypress/included:11.2.0 #24810

Closed
SMenigat opened this issue Nov 24, 2022 · 2 comments
Closed

chrome was not found within cypress/included:11.2.0 #24810

SMenigat opened this issue Nov 24, 2022 · 2 comments

Comments

@SMenigat
Copy link

Current behavior

When running cypress within an container built using the cypress/included:11.2.0 image, cypress fails to locate the chrome browser:

myapp-cypress-1   | [245:1124/154308.162964:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported.
myapp-cypress-1   | Can't run because you've entered an invalid browser name.
myapp-cypress-1   |
myapp-cypress-1   | Browser: chrome was not found on your system or is not supported by Cypress.
myapp-cypress-1   |
myapp-cypress-1   | Cypress supports the following browsers:
myapp-cypress-1   |  - electron
myapp-cypress-1   |  - chrome
myapp-cypress-1   |  - chromium
myapp-cypress-1   |  - chrome:canary
myapp-cypress-1   |  - edge
myapp-cypress-1   |  - firefox
myapp-cypress-1   |
myapp-cypress-1   | You can also use a custom browser: https://on.cypress.io/customize-browsers
myapp-cypress-1   |
myapp-cypress-1   | Available browsers found on your system are:
myapp-cypress-1   |  - electron
myapp-cypress-1   | Can't run because you've entered an invalid browser name.
myapp-cypress-1   |
myapp-cypress-1   | Browser: chrome was not found on your system or is not supported by Cypress.
myapp-cypress-1   |
myapp-cypress-1   | Cypress supports the following browsers:
myapp-cypress-1   |  - electron
myapp-cypress-1   |  - chrome
myapp-cypress-1   |  - chromium
myapp-cypress-1   |  - chrome:canary
myapp-cypress-1   |  - edge
myapp-cypress-1   |  - firefox
myapp-cypress-1   |
myapp-cypress-1   | You can also use a custom browser: https://on.cypress.io/customize-browsers
myapp-cypress-1   |
myapp-cypress-1   | Available browsers found on your system are:
myapp-cypress-1   |  - electron
myapp-cypress-1   | error Command failed with exit code 1.
myapp-cypress-1   | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Desired behavior

Cypress being executed within cypress/included images should be able to find chrome and run it.

Test code to reproduce

We have the following Docker image:

FROM cypress/included:11.2.0
WORKDIR /app

COPY ./cypress /app/cypress
COPY ./cypress.config.js /app/cypress.config.js
COPY ./package.json /app/package.json

COPY ../.git /app/.git

We execute the follwing command within the running docker container:

npx cypress run --browser chrome --record --key my-secret-key 

Cypress Version

11.2.0

Node version

v16.16.0 (within the cypress/included:11.2.0 container)

Operating System

macOS 13.0.1 (m1-max)

Debug Logs

myapp-cypress-1   |   cypress:server:reporter trying to load reporter: spec +0ms
myapp-cypress-1   |   cypress:server:reporter spec is Mocha reporter +0ms
myapp-cypress-1   |   cypress:server:saved_state noop saved state +246ms
myapp-cypress-1   |   cypress:server:project project has config { projectId: 'w32psm', browser: null, baseUrl: 'http://frontend:3000', setupNodeEvents: '[Function setupNodeEvents]', projectRoot: '/app', projectName: 'app', repoRoot: null, rawJson: { projectId: 'w32psm', browser: { chromeWebSecurity: false }, e2e: { baseUrl: 'http://localhost:3000', setupNodeEvents: '[Function setupNodeEvents]' }, baseUrl: 'http://localhost:3000', setupNodeEvents: '[Function setupNodeEvents]', envFile: {}, projectRoot: '/app', projectName: 'app', repoRoot: undefined }, configFile: 'cypress.config.js', morgan: false, isTextTerminal: true, socketId: '1bef2g7j5q', report: true, animationDistanceThreshold: 5, arch: 'arm64', blockHosts: null, chromeWebSecurity: true, clientCertificates: [], defaultCommandTimeout: 4000, downloadsFolder: '/app/cypress/downloads', env: { CACHE_FOLDER: '/root/.cache/Cypress' }, execTimeout: 60000, experimentalFetchPolyfill: false, experimentalInteractiveRunEvents: false, experimentalRunAllSpecs: false, experimentalSessionAndOrigin: false, experimentalModifyObstructiveThirdPartyCode: false, experimentalSourceRewriting: false, experimentalSingleTabRunMode: false, experimentalStudio: false, experimentalWebKitSupport: false, fileServerFolder: '/app', fixturesFolder: '/app/cypress/fixtures', excludeSpecPattern: '*.hot-update.js', includeShadowDom: false, keystrokeDelay: 0, modifyObstructiveCode: true, nodeVersion: undefined, numTestsKeptInMemory: 0, platform: 'linux', pageLoadTimeout: 60000, port: 41649, redirectionLimit: 20, reporter: 'spec', reporterOptions: null, requestTimeout: 5000, resolvedNodePath: '/usr/local/bin/node', resolvedNodeVersion: '16.16.0', responseTimeout: 30000, retries: { runMode: 0, openMode: 0 }, screenshotOnRunFailure: true, screenshotsFolder: '/app/cypress/screenshots', slowTestThreshold: 10000, scrollBehavior: 'top', supportFile: '/app/cypress/support/e2e.js', supportFolder: '/app/cypress/support', taskTimeout: 60000, testIsolation: null, trashAssetsBeforeRuns: true, userAgent: null, video: true, videoCompression: 32, videosFolder: '/app/cypress/videos', videoUploadOnPasses: true, viewportHeight: 660, viewportWidth: 1000, waitForAnimations: true, watchForFileChanges: false, specPattern: 'cypress/e2e/**/*.cy.{js,jsx,ts,tsx}', additionalIgnorePattern: [], autoOpen: false, browsers: [ { name: 'electron', channel: 'stable', family: 'chromium', displayName: 'Electron', version: '106.0.5249.51', path: '', majorVersion: 106 } ], clientRoute: '/__/', cypressBinaryRoot: '/root/.cache/Cypress/11.2.0/Cypress/resources/app', devServerPublicPathRoute: '/__cypress/src', hosts: null, isInteractive: true, namespace: '__cypress', reporterRoute: '/__cypress/reporter', socketIoCookie: '__socket', socketIoRoute: '/__socket', version: '11.2.0', xhrRoute: '/xhrs/', cypressEnv: 'production', resolved: { animationDistanceThreshold: { value: 5, from: 'default' }, arch: { value: 'arm64', from: 'default' }, baseUrl: { value: 'http://frontend:3000', from: 'env' }, blockHosts: { value: null, from: 'default' }, chromeWebSecurity: { value: true, from: 'default' }, clientCertificates: { value: [], from: 'default' }, defaultCommandTimeout: { value: 4000, from: 'default' }, downloadsFolder: { value: 'cypress/downloads', from: 'default' }, env: { CACHE_FOLDER: [Object] }, execTimeout: { value: 60000, from: 'default' }, experimentalFetchPolyfill: { value: false, from: 'default' }, experimentalInteractiveRunEvents: { value: false, from: 'default' }, experimentalRunAllSpecs: { value: false, from: 'default' }, experimentalSessionAndOrigin: { value: false, from: 'default' }, experimentalModifyObstructiveThirdPartyCode: { value: false, from: 'default' }, experimentalSourceRewriting: { value: false, from: 'default' }, experimentalSingleTabRunMode: { value: false, from: 'default' }, experimentalStudio: { value: false, from: 'default' }, experimentalWebKitSupport: { value: false, from: 'default' }, fileServerFolder: { value: '', from: 'default' }, fixturesFolder: { value: 'cypress/fixtures', from: 'default' }, excludeSpecPattern: { value: '*.hot-update.js', from: 'default' }, includeShadowDom: { value: false, from: 'default' }, keystrokeDelay: { value: 0, from: 'default' }, modifyObstructiveCode: { value: true, from: 'default' }, nodeVersion: { value: undefined, from: 'default' }, numTestsKeptInMemory: { value: 0, from: 'config' }, platform: { value: 'linux', from: 'default' }, pageLoadTimeout: { value: 60000, from: 'default' }, port: { value: null, from: 'default' }, projectId: { value: 'w32psm', from: 'config' }, redirectionLimit: { value: 20, from: 'default' }, reporter: { value: 'spec', from: 'default' }, reporterOptions: { value: null, from: 'default' }, requestTimeout: { value: 5000, from: 'default' }, resolvedNodePath: { value: null, from: 'default' }, resolvedNodeVersion: { value: null, from: 'default' }, responseTimeout: { value: 30000, from: 'default' }, retries: { value: [Object], from: 'default' }, screenshotOnRunFailure: { value: true, from: 'default' }, screenshotsFolder: { value: 'cypress/screenshots', from: 'default' }, slowTestThreshold: { value: 10000, from: 'default' }, scrollBehavior: { value: 'top', from: 'default' }, supportFile: { value: 'cypress/support/e2e.{js,jsx,ts,tsx}', from: 'default' }, supportFolder: { value: false, from: 'default' }, taskTimeout: { value: 60000, from: 'default' }, testIsolation: { value: null, from: 'default' }, trashAssetsBeforeRuns: { value: true, from: 'default' }, userAgent: { value: null, from: 'default' }, video: { value: true, from: 'default' }, videoCompression: { value: 32, from: 'default' }, videosFolder: { value: 'cypress/videos', from: 'default' }, videoUploadOnPasses: { value: true, from: 'default' }, viewportHeight: { value: 660, from: 'default' }, viewportWidth: { value: 1000, from: 'default' }, waitForAnimations: { value: true, from: 'default' }, watchForFileChanges: { value: false, from: 'config' }, specPattern: { value: 'cypress/e2e/**/*.cy.{js,jsx,ts,tsx}', from: 'default' }, browsers: { value: [Array], from: 'runtime' }, hosts: { value: null, from: 'default' }, isInteractive: { value: true, from: 'default' } }, testingType: 'e2e', remote: {}, specs: [], proxyUrl: 'http://localhost:41649', browserUrl: 'http://frontend:3000/__/', reporterUrl: 'http://frontend:3000/__cypress/reporter', xhrUrl: '__cypress/xhrs/', proxyServer: 'http://localhost:41649', state: {} } +3ms
myapp-cypress-1   |   cypress:network:cors Parsed URL { port: '3000', protocol: 'http:', subdomain: null, domain: '', tld: 'frontend' } +6ms
myapp-cypress-1   |   cypress:server:remote-states getting remote state: { auth: undefined, origin: 'http://frontend:3000', strategy: 'http', fileServer: null, domainName: 'frontend', props: { port: '3000', protocol: 'http:', subdomain: null, domain: '', tld: 'frontend' } } for: http://frontend:3000 +5ms
myapp-cypress-1   |   cypress:server:run project created and opened with config { projectId: 'w32psm', browser: null, baseUrl: 'http://frontend:3000', setupNodeEvents: '[Function setupNodeEvents]', projectRoot: '/app', projectName: 'app', repoRoot: null, rawJson: { projectId: 'w32psm', browser: { chromeWebSecurity: false }, e2e: { baseUrl: 'http://localhost:3000', setupNodeEvents: '[Function setupNodeEvents]' }, baseUrl: 'http://localhost:3000', setupNodeEvents: '[Function setupNodeEvents]', envFile: {}, projectRoot: '/app', projectName: 'app', repoRoot: undefined }, configFile: 'cypress.config.js', morgan: false, isTextTerminal: true, socketId: '1bef2g7j5q', report: true, animationDistanceThreshold: 5, arch: 'arm64', blockHosts: null, chromeWebSecurity: true, clientCertificates: [], defaultCommandTimeout: 4000, downloadsFolder: '/app/cypress/downloads', env: { CACHE_FOLDER: '/root/.cache/Cypress' }, execTimeout: 60000, experimentalFetchPolyfill: false, experimentalInteractiveRunEvents: false, experimentalRunAllSpecs: false, experimentalSessionAndOrigin: false, experimentalModifyObstructiveThirdPartyCode: false, experimentalSourceRewriting: false, experimentalSingleTabRunMode: false, experimentalStudio: false, experimentalWebKitSupport: false, fileServerFolder: '/app', fixturesFolder: '/app/cypress/fixtures', excludeSpecPattern: '*.hot-update.js', includeShadowDom: false, keystrokeDelay: 0, modifyObstructiveCode: true, nodeVersion: undefined, numTestsKeptInMemory: 0, platform: 'linux', pageLoadTimeout: 60000, port: 41649, redirectionLimit: 20, reporter: 'spec', reporterOptions: null, requestTimeout: 5000, resolvedNodePath: '/usr/local/bin/node', resolvedNodeVersion: '16.16.0', responseTimeout: 30000, retries: { runMode: 0, openMode: 0 }, screenshotOnRunFailure: true, screenshotsFolder: '/app/cypress/screenshots', slowTestThreshold: 10000, scrollBehavior: 'top', supportFile: '/app/cypress/support/e2e.js', supportFolder: '/app/cypress/support', taskTimeout: 60000, testIsolation: null, trashAssetsBeforeRuns: true, userAgent: null, video: true, videoCompression: 32, videosFolder: '/app/cypress/videos', videoUploadOnPasses: true, viewportHeight: 660, viewportWidth: 1000, waitForAnimations: true, watchForFileChanges: false, specPattern: 'cypress/e2e/**/*.cy.{js,jsx,ts,tsx}', additionalIgnorePattern: [], autoOpen: false, browsers: [ { name: 'electron', channel: 'stable', family: 'chromium', displayName: 'Electron', version: '106.0.5249.51', path: '', majorVersion: 106 } ], clientRoute: '/__/', cypressBinaryRoot: '/root/.cache/Cypress/11.2.0/Cypress/resources/app', devServerPublicPathRoute: '/__cypress/src', hosts: null, isInteractive: true, namespace: '__cypress', reporterRoute: '/__cypress/reporter', socketIoCookie: '__socket', socketIoRoute: '/__socket', version: '11.2.0', xhrRoute: '/xhrs/', cypressEnv: 'production', resolved: { animationDistanceThreshold: { value: 5, from: 'default' }, arch: { value: 'arm64', from: 'default' }, baseUrl: { value: 'http://frontend:3000', from: 'env' }, blockHosts: { value: null, from: 'default' }, chromeWebSecurity: { value: true, from: 'default' }, clientCertificates: { value: [], from: 'default' }, defaultCommandTimeout: { value: 4000, from: 'default' }, downloadsFolder: { value: 'cypress/downloads', from: 'default' }, env: { CACHE_FOLDER: [Object] }, execTimeout: { value: 60000, from: 'default' }, experimentalFetchPolyfill: { value: false, from: 'default' }, experimentalInteractiveRunEvents: { value: false, from: 'default' }, experimentalRunAllSpecs: { value: false, from: 'default' }, experimentalSessionAndOrigin: { value: false, from: 'default' }, experimentalModifyObstructiveThirdPartyCode: { value: false, from: 'default' }, experimentalSourceRewriting: { value: false, from: 'default' }, experimentalSingleTabRunMode: { value: false, from: 'default' }, experimentalStudio: { value: false, from: 'default' }, experimentalWebKitSupport: { value: false, from: 'default' }, fileServerFolder: { value: '', from: 'default' }, fixturesFolder: { value: 'cypress/fixtures', from: 'default' }, excludeSpecPattern: { value: '*.hot-update.js', from: 'default' }, includeShadowDom: { value: false, from: 'default' }, keystrokeDelay: { value: 0, from: 'default' }, modifyObstructiveCode: { value: true, from: 'default' }, nodeVersion: { value: undefined, from: 'default' }, numTestsKeptInMemory: { value: 0, from: 'config' }, platform: { value: 'linux', from: 'default' }, pageLoadTimeout: { value: 60000, from: 'default' }, port: { value: null, from: 'default' }, projectId: { value: 'w32psm', from: 'config' }, redirectionLimit: { value: 20, from: 'default' }, reporter: { value: 'spec', from: 'default' }, reporterOptions: { value: null, from: 'default' }, requestTimeout: { value: 5000, from: 'default' }, resolvedNodePath: { value: null, from: 'default' }, resolvedNodeVersion: { value: null, from: 'default' }, responseTimeout: { value: 30000, from: 'default' }, retries: { value: [Object], from: 'default' }, screenshotOnRunFailure: { value: true, from: 'default' }, screenshotsFolder: { value: 'cypress/screenshots', from: 'default' }, slowTestThreshold: { value: 10000, from: 'default' }, scrollBehavior: { value: 'top', from: 'default' }, supportFile: { value: 'cypress/support/e2e.{js,jsx,ts,tsx}', from: 'default' }, supportFolder: { value: false, from: 'default' }, taskTimeout: { value: 60000, from: 'default' }, testIsolation: { value: null, from: 'default' }, trashAssetsBeforeRuns: { value: true, from: 'default' }, userAgent: { value: null, from: 'default' }, video: { value: true, from: 'default' }, videoCompression: { value: 32, from: 'default' }, videosFolder: { value: 'cypress/videos', from: 'default' }, videoUploadOnPasses: { value: true, from: 'default' }, viewportHeight: { value: 660, from: 'default' }, viewportWidth: { value: 1000, from: 'default' }, waitForAnimations: { value: true, from: 'default' }, watchForFileChanges: { value: false, from: 'config' }, specPattern: { value: 'cypress/e2e/**/*.cy.{js,jsx,ts,tsx}', from: 'default' }, browsers: { value: [Array], from: 'runtime' }, hosts: { value: null, from: 'default' }, isInteractive: { value: true, from: 'default' } }, testingType: 'e2e', remote: { auth: undefined, origin: 'http://frontend:3000', strategy: 'http', fileServer: null, domainName: 'frontend', props: { port: '3000', protocol: 'http:', subdomain: null, domain: '', tld: 'frontend' } }, specs: [], proxyUrl: 'http://localhost:41649', browserUrl: 'http://frontend:3000/__/', reporterUrl: 'http://frontend:3000/__cypress/reporter', xhrUrl: '__cypress/xhrs/', proxyServer: 'http://localhost:41649', state: {} } +128ms
myapp-cypress-1   |   cypress:server:browsers:utils searching for browser { nameOrPath: 'chrome', filter: { name: 'chrome', channel: 'stable' }, knownBrowsers: [ { name: 'electron', channel: 'stable', family: 'chromium', displayName: 'Electron', version: '106.0.5249.51', path: '', majorVersion: 106 } ] } +130ms
myapp-cypress-1   |   cypress:server:cypress exiting with err Error: Can't run because you've entered an invalid browser name.
myapp-cypress-1   |
myapp-cypress-1   | Browser: chrome was not found on your system or is not supported by Cypress.
myapp-cypress-1   |
myapp-cypress-1   | Cypress supports the following browsers:
myapp-cypress-1   |  - electron
myapp-cypress-1   |  - chrome
myapp-cypress-1   |  - chromium
myapp-cypress-1   |  - chrome:canary
myapp-cypress-1   |  - edge
myapp-cypress-1   |  - firefox
myapp-cypress-1   |
myapp-cypress-1   | You can also use a custom browser: https://on.cypress.io/customize-browsers
myapp-cypress-1   |
myapp-cypress-1   | Available browsers found on your system are:
myapp-cypress-1   |  - electron
myapp-cypress-1   |     at throwBrowserNotFound (/root/.cache/Cypress/11.2.0/Cypress/resources/app/packages/server/lib/browsers/utils.js:262:19)
myapp-cypress-1   |     at Object.ensureAndGetByNameOrPath (/root/.cache/Cypress/11.2.0/Cypress/resources/app/packages/server/lib/browsers/utils.js:251:5)
myapp-cypress-1   |     at /root/.cache/Cypress/11.2.0/Cypress/resources/app/packages/server/lib/modes/run.js:770:54
myapp-cypress-1   |     at ready (/root/.cache/Cypress/11.2.0/Cypress/resources/app/packages/server/lib/modes/run.js:773:11)
myapp-cypress-1   |  {
myapp-cypress-1   |   isCypressErr: true,
myapp-cypress-1   |   type: 'BROWSER_NOT_FOUND_BY_NAME',
myapp-cypress-1   |   details: undefined,
myapp-cypress-1   |   messageMarkdown: "Can't run because you've entered an invalid browser name.\n" +
myapp-cypress-1   |     '\n' +
myapp-cypress-1   |     'Browser: `chrome` was not found on your system or is not supported by Cypress.\n' +
myapp-cypress-1   |     '\n' +
myapp-cypress-1   |     'Cypress supports the following browsers:\n' +
myapp-cypress-1   |     ' - electron\n' +
myapp-cypress-1   |     ' - chrome\n' +
myapp-cypress-1   |     ' - chromium\n' +
myapp-cypress-1   |     ' - chrome:canary\n' +
myapp-cypress-1   |     ' - edge\n' +
myapp-cypress-1   |     ' - firefox\n' +
myapp-cypress-1   |     '\n' +
myapp-cypress-1   |     'You can also use a custom browser: https://on.cypress.io/customize-browsers\n' +
myapp-cypress-1   |     '\n' +
myapp-cypress-1   |     'Available browsers found on your system are:\n' +
myapp-cypress-1   |     ' - electron',
myapp-cypress-1   |   originalError: undefined,
myapp-cypress-1   |   stackWithoutMessage: '    at throwBrowserNotFound (/root/.cache/Cypress/11.2.0/Cypress/resources/app/packages/server/lib/browsers/utils.js:262:19)\n' +
myapp-cypress-1   |     '    at Object.ensureAndGetByNameOrPath (/root/.cache/Cypress/11.2.0/Cypress/resources/app/packages/server/lib/browsers/utils.js:251:5)\n' +
myapp-cypress-1   |     '    at /root/.cache/Cypress/11.2.0/Cypress/resources/app/packages/server/lib/modes/run.js:770:54\n' +
myapp-cypress-1   |     '    at ready (/root/.cache/Cypress/11.2.0/Cypress/resources/app/packages/server/lib/modes/run.js:773:11)\n'
myapp-cypress-1   | } +1s
myapp-cypress-1   |   cypress:server:cypress calling exit 1 +1ms
myapp-cypress-1   |   cypress:server:cypress about to exit with code 1 +0ms
myapp-cypress-1   | Can't run because you've entered an invalid browser name.
myapp-cypress-1   |
myapp-cypress-1   | Browser: chrome was not found on your system or is not supported by Cypress.
myapp-cypress-1   |
myapp-cypress-1   | Cypress supports the following browsers:
myapp-cypress-1   |  - electron
myapp-cypress-1   |  - chrome
myapp-cypress-1   |  - chromium
myapp-cypress-1   |  - chrome:canary
myapp-cypress-1   |  - edge
myapp-cypress-1   |  - firefox
myapp-cypress-1   |
myapp-cypress-1   | You can also use a custom browser: https://on.cypress.io/customize-browsers
myapp-cypress-1   |
myapp-cypress-1   | Available browsers found on your system are:
myapp-cypress-1   |  - electron
myapp-cypress-1   |   cypress:server:browsers browsers.kill called with no active instance +0ms
myapp-cypress-1   |   cypress:proxy:http:util:prerequests metrics: { browserPreRequestsReceived: 0, proxyRequestsReceived: 0, immediatelyMatchedRequests: 0, unmatchedRequests: 0, unmatchedPreRequests: 0 } +0ms
myapp-cypress-1   | 2022-11-24T16:25:35.016Z cypress:cli child event fired { event: 'exit', code: 1, signal: null }
myapp-cypress-1   | 2022-11-24T16:25:35.016Z cypress:cli Stopping Xvfb
myapp-cypress-1   | 2022-11-24T16:25:35.019Z cypress:cli child event fired { event: 'close', code: 1, signal: null }
myapp-cypress-1   | error Command failed with exit code 1.
myapp-cypress-1   | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
myapp-cypress-1 exited with code 1

Other

I also tried the 10.x versions and have the same effect on my machine.

@SMenigat
Copy link
Author

SMenigat commented Nov 28, 2022

When digging down into the node16.16.0-chrome105-ff104-edge Dockerfile that cypress/included:11.2.0 is based on, we find the following:

# install Chrome browser
RUN node -p "process.arch === 'arm64' ? 'Not downloading Chrome since we are on arm64: https://crbug.com/677140' : process.exit(1)" || \
  (wget --no-verbose -O /usr/src/google-chrome-stable_current_amd64.deb "http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_105.0.5195.125-1_amd64.deb" && \
  dpkg -i /usr/src/google-chrome-stable_current_amd64.deb ; \
  apt-get install -f -y && \
  rm -f /usr/src/google-chrome-stable_current_amd64.deb)

This means: when building and executing the image on M1 Mac (arm64), no chrome browser is installed and actually "included" into the image. There is an open issue in the cypres-docker-images repo about this.

Now it makes sense why cypress can not find the "installed" chrome, its literally not there so the error message reported in this issue is completely correct.

What workarounds are there to get a chromium / chrome started on all platforms (amd64 and arm64)?

It is not really an option for our team to switch to Electron since we need the chromeWebSecurity=false flag for now, which only workes in chrome.

@AtofStryker
Copy link
Contributor

@SMenigat I'm going to close as a duplicate of cypress-io/cypress-docker-images#695. Right now for the docker images themselves for arm64 devices, there isn't a work around to run other browsers. But you should be able to set chromeWebSecurity in electron as it is chromium based. Is that not working for you?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants