cypress-io / cypress

Fast, easy and reliable testing for anything that runs in a browser.
https://cypress.io
MIT License
47.07k stars 3.19k forks source link

WebKit missing in cypress info #27304

Open MikeMcC399 opened 1 year ago

MikeMcC399 commented 1 year ago

Current behavior

When WebKit is installed, cypress info fails to list it. On a GitHub-hosted windows-2022 runner, where Chrome, Edge and Firefox are installed by default, only these browsers are listed, not WebKit:

> cypress info

DevTools listening on ws://127.0.0.1:50007/devtools/browser/4365da44-b352-4df7-b28c-7b73cd27ed2a
Displaying Cypress info...

Detected 3 browsers installed:

1. Chrome
  - Name: chrome
  - Channel: stable
  - Version: 114.0.5735.199
  - Executable: C:\Program Files\Google\Chrome\Application\chrome.exe

2. Edge
  - Name: edge
  - Channel: stable
  - Version: 114.0.1823.79
  - Executable: C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe

3. Firefox
  - Name: firefox
  - Channel: stable
  - Version: 115.0
  - Executable: C:\Program Files\Mozilla Firefox\firefox.exe

Note: to run these browsers, pass <name>:<channel> to the '--browser' field

Examples:
- cypress run --browser firefox
- cypress run --browser chrome

Learn More: https://on.cypress.io/launching-browsers

Proxy Settings: none detected
Environment Variables:
CYPRESS_CACHE_FOLDER: C:\Users\runneradmin\.cache\Cypress

Application Data: C:\Users\runneradmin\AppData\Roaming\cypress\cy\development
Browser Profiles: C:\Users\runneradmin\AppData\Roaming\cypress\cy\development\browsers
Binary Caches: C:\Users\runneradmin\.cache\Cypress

Cypress Version: 12.17.1 (stable)
System Platform: win32 (10.0.20348)
System Memory: 7.52 GB free 5.5 GB

Desired behavior

cypress info should list WebKit when it is installed and npx cypress info is executed.

For comparison, when the Cypress app is started with npx cypress open --e2e a WebKit icon is shown for selection.

cy app webkit

Test code to reproduce

Execute:

npx playwright install-deps webkit
git clone --branch webkit https://github.com/MikeMcC399/github-action
cd github-action/examples/webkit
npm ci
npx cypress info

Also

Cypress Version

First reported on version: 12.17.1 Continues to be reproducible on version: 13.15.2

Node version

18.16.1 & 20.11.1 v20.17.0

WebKit version

18.0

Operating System

Windows Server 2022 (GitHub-hosted runner windows-2022) The issue is reproducible on Ubuntu and macOS runners as well.

Debug Logs

See GitHub Action job 10141577366

cypress:launcher:detect detecting if the following browsers are present 
[ 
{ name: 'chrome', family: 'chromium', channel: 'stable', displayName: 'Chrome', versionRegex: /Google Chrome (\S+)/m, binary: [ 'google-chrome', 'chrome', 'google-chrome-stable' ], minSupportedVersion: 64 },
{ name: 'chromium', family: 'chromium', channel: 'stable', displayName: 'Chromium', versionRegex: /Chromium (\S+)/m, binary: [ 'chromium-browser', 'chromium' ], minSupportedVersion: 64 },
{ name: 'chrome', family: 'chromium', channel: 'beta', displayName: 'Chrome Beta', versionRegex: /Google Chrome (\S+) beta/m, binary: 'google-chrome-beta', minSupportedVersion: 64 },
{ name: 'chrome', family: 'chromium', channel: 'canary', displayName: 'Canary', versionRegex: /Google Chrome Canary (\S+)/m, binary: 'google-chrome-canary', minSupportedVersion: 64 },
{ name: 'firefox', family: 'firefox', channel: 'stable', displayName: 'Firefox', versionRegex: /^Mozilla Firefox ([^\sab]+)$/m, binary: 'firefox', minSupportedVersion: 86, validator: [Function: validator] },
{ name: 'firefox', family: 'firefox', channel: 'dev', displayName: 'Firefox Developer Edition', versionRegex: /^Mozilla Firefox (\S+b\S*)$/m, binary: [ 'firefox-developer-edition', 'firefox' ], minSupportedVersion: 86 },
{ name: 'firefox', family: 'firefox', channel: 'nightly', displayName: 'Firefox Nightly', versionRegex: /^Mozilla Firefox (\S+a\S*)$/m, binary: [ 'firefox-nightly', 'firefox-trunk' ], minSupportedVersion: 86 },
{ name: 'edge', family: 'chromium', channel: 'stable', displayName: 'Edge', versionRegex: /Microsoft Edge (\S+)/im, binary: [ 'edge', 'microsoft-edge' ], minSupportedVersion: 79 },
{ name: 'edge', family: 'chromium', channel: 'canary', displayName: 'Edge Canary', versionRegex: /Microsoft Edge.+?(\S*(?= canary)|(?<=canary )\S*)/im, binary: [ 'edge-canary', 'microsoft-edge-canary' ], minSupportedVersion: 79 },
{ name: 'edge', family: 'chromium', channel: 'beta', displayName: 'Edge Beta', versionRegex: /Microsoft Edge.+?(\S*(?= beta)|(?<=beta )\S*)/im, binary: [ 'edge-beta', 'microsoft-edge-beta' ], minSupportedVersion: 79 },
{ name: 'edge', family: 'chromium', channel: 'dev', displayName: 'Edge Dev', versionRegex: /Microsoft Edge.+?(\S*(?= dev)|(?<=dev )\S*)/im, binary: [ 'edge-dev', 'microsoft-edge-dev' ], minSupportedVersion: 79 } ] +0ms

...

    {
      name: 'webkit',
      channel: 'stable',
      family: 'webkit',
      displayName: 'WebKit',
      version: '16.4',
      path: 'C:\\Users\\runneradmin\\AppData\\Local\\ms-playwright\\webkit-1848\\Playwright.exe',
      majorVersion: '16',
      warning: 'WebKit support is currently experimental. Some functions may not work as expected.'
    },

Other

Since WebKit support is experimental, this may be a feature request rather than a bug.

MikeMcC399 commented 9 months ago