Cypress: Firefox Nightly - no version found

Created on 6 Feb 2020  路  6Comments  路  Source: cypress-io/cypress

Current behavior:

Tried to launch Cypress while having Firefox Nightly installed and Cypress will not open beyond this screen.

We're unable to pull of the 'version' of Firefox Nightly so it does not continue.

Screen Shot 2020-02-06 at 4 25 04 PM

It looks like the version is 74.0a1, maybe the letter is throwing it off.

Screen Shot 2020-02-06 at 4 42 37 PM

Desired behavior:

Ability to Cypress in Firefox Nightly

Versions

firefox branch - prerelease

mac firefox bug v4.0.0

Most helpful comment

I should have checked this yesterday, but this is not fixed for me. I am experiencing the exact same error as above in 4.0.0.

All 6 comments

Believe I have it fixed, the versionRegexes were incorrect for Firefox. Try with these changes: https://github.com/cypress-io/cypress/pull/1359/commits/69d80d5f22bbf627e39c166173ea0cf52fae8df9

Also fixed a bug where on Linux, the binary names are firefox for dev edition and firefox-trunk for nightly.

I should have checked this yesterday, but this is not fixed for me. I am experiencing the exact same error as above in 4.0.0.

I think I have found the issue affecting firefox nightly, and edge builds.

These apps for chrome and firefox have 4 params in https://github.com/cypress-io/cypress/blob/develop/packages/launcher/lib/darwin/index.ts

const detectCanary = partial(findApp, [
  'Google Chrome Canary.app',
  'Contents/MacOS/Google Chrome Canary',
  'com.google.Chrome.canary',
  'KSVersion',
])
const detectChrome = partial(findApp, [
  'Google Chrome.app',
  'Contents/MacOS/Google Chrome',
  'com.google.Chrome',
  'KSVersion',
])
const detectChromium = partial(findApp, [
  'Chromium.app',
  'Contents/DMacOS/Chromium',
  'org.chromium.Chromium',
  'CFBundleShortVersionString',
])
const detectFirefox = partial(findApp, [
  'Firefox.app',
  'Contents/MacOS/firefox-bin',
  'org.mozilla.firefox',
  'CFBundleShortVersionString',
])
const detectFirefoxDeveloperEdition = partial(findApp, [
  'Firefox Developer Edition.app',
  'Contents/MacOS/firefox-bin',
  'org.mozilla.firefoxdeveloperedition',
  'CFBundleShortVersionString',
])

These for firefox nightly and edge have 3

const detectFirefoxNightly = partial(findApp, [
  'Firefox Nightly.app',
  'Contents/MacOS/firefox-bin',
  'org.mozilla.nightly',
])
const detectEdgeCanary = partial(findApp, [
  'Contents/MacOS/Microsoft Edge Canary',
  'com.microsoft.Edge.Canary',
  'CFBundleShortVersionString',
])
const detectEdgeBeta = partial(findApp, [
  'Contents/MacOS/Microsoft Edge Beta',
  'com.microsoft.Edge.Beta',
  'CFBundleShortVersionString',
])
const detectEdgeDev = partial(findApp, [
  'Contents/MacOS/Microsoft Edge Dev',
  'com.microsoft.Edge.Dev',
  'CFBundleShortVersionString',
])
const detectEdge = partial(findApp, [
  'Contents/MacOS/Microsoft Edge',
  'com.microsoft.Edge',
  'CFBundleShortVersionString',
])

There needs to be a 4th param for

detectFirefoxNightly

const detectFirefoxNightly = partial(findApp, [
  'Firefox Nightly.app',
  'Contents/MacOS/firefox-bin',
  'org.mozilla.nightly',
  'CFBundleShortVersionString'
])

For edge, it should be

const detectEdgeCanary = partial(findApp, [
'Microsoft Edge Canary.app',
  'Contents/MacOS/Microsoft Edge Canary',
  'com.microsoft.Edge.Canary',
  'CFBundleShortVersionString',
])
const detectEdgeBeta = partial(findApp, [
'Microsoft Edge Beta.app',
  'Contents/MacOS/Microsoft Edge Beta',
  'com.microsoft.Edge.Beta',
  'CFBundleShortVersionString',
])
const detectEdgeDev = partial(findApp, [
'Microsoft Edge Dev.app',
  'Contents/MacOS/Microsoft Edge Dev',
  'com.microsoft.Edge.Dev',
  'CFBundleShortVersionString',
])
const detectEdge = partial(findApp, [
'Microsoft Edge.app',
  'Contents/MacOS/Microsoft Edge',
  'com.microsoft.Edge',
  'CFBundleShortVersionString',
])

This is because findApp function in utils.ts (https://github.com/cypress-io/cypress/blob/develop/packages/launcher/lib/darwin/util.ts) takes 4 parameters

  appName: string,
  executable: string,
  appId: string,
  versionProperty: string

The code for this is done in cypress-io/cypress#6364, but has yet to be released.
We'll update this issue and reference the changelog when it's released.

Released in 4.0.1.

This comment thread has been locked. If you are still experiencing this issue after upgrading to
Cypress v4.0.1, please open a new issue.

Was this page helpful?
0 / 5 - 0 ratings