diff --git a/circle.yml b/circle.yml index fe8e8791f50f..af705010732c 100644 --- a/circle.yml +++ b/circle.yml @@ -36,6 +36,7 @@ macWorkflowFilters: &darwin-workflow-filters or: - equal: [ develop, << pipeline.git.branch >> ] - equal: [ 'tbiethman/22272-globbing-working-dir', << pipeline.git.branch >> ] + - equal: [ 'skip-or-fix-flaky-tests-2', << pipeline.git.branch >> ] - matches: pattern: "-release$" value: << pipeline.git.branch >> @@ -45,6 +46,7 @@ linuxArm64WorkflowFilters: &linux-arm64-workflow-filters or: - equal: [ develop, << pipeline.git.branch >> ] - equal: [ "lmiller/experimental-single-tab-component-testing", << pipeline.git.branch >> ] + - equal: [ 'skip-or-fix-flaky-tests-2', << pipeline.git.branch >> ] - matches: pattern: "-release$" value: << pipeline.git.branch >> @@ -65,6 +67,7 @@ windowsWorkflowFilters: &windows-workflow-filters - equal: [ develop, << pipeline.git.branch >> ] - equal: [ linux-arm64, << pipeline.git.branch >> ] - equal: [ 'marktnoonan/windows-path-fix', << pipeline.git.branch >> ] + - equal: [ 'skip-or-fix-flaky-tests-2', << pipeline.git.branch >> ] - matches: pattern: "-release$" value: << pipeline.git.branch >> diff --git a/npm/cypress-schematic/src/schematics/ng-generate/e2e/index.spec.ts b/npm/cypress-schematic/src/schematics/ng-generate/e2e/index.spec.ts index d7b50b924f35..25acd6deb786 100644 --- a/npm/cypress-schematic/src/schematics/ng-generate/e2e/index.spec.ts +++ b/npm/cypress-schematic/src/schematics/ng-generate/e2e/index.spec.ts @@ -30,7 +30,7 @@ describe('@cypress/schematic:e2e ng-generate', () => { appTree = await schematicRunner.runExternalSchematicAsync('@schematics/angular', 'application', appOptions, appTree).toPromise() }) - it('should create cypress spec file', async () => { + it('should create cypress spec file', () => { return schematicRunner.runSchematicAsync('e2e', { name: 'foo', project: 'sandbox' }, appTree).toPromise().then((tree) => { const files = tree.files diff --git a/npm/vite-dev-server/.percy.yml b/npm/vite-dev-server/.percy.yml index b4289dae89f8..aebc136943bc 100644 --- a/npm/vite-dev-server/.percy.yml +++ b/npm/vite-dev-server/.percy.yml @@ -4,4 +4,4 @@ snapshot: - 1280 min-height: 1024 discovery: - network-idle-timeout: 1000 + network-idle-timeout: 750 diff --git a/npm/webpack-dev-server/.percy.yml b/npm/webpack-dev-server/.percy.yml index b4289dae89f8..aebc136943bc 100644 --- a/npm/webpack-dev-server/.percy.yml +++ b/npm/webpack-dev-server/.percy.yml @@ -4,4 +4,4 @@ snapshot: - 1280 min-height: 1024 discovery: - network-idle-timeout: 1000 + network-idle-timeout: 750 diff --git a/npm/webpack-dev-server/cypress/e2e/angular.cy.ts b/npm/webpack-dev-server/cypress/e2e/angular.cy.ts index 312ac07c8161..052581ed615d 100644 --- a/npm/webpack-dev-server/cypress/e2e/angular.cy.ts +++ b/npm/webpack-dev-server/cypress/e2e/angular.cy.ts @@ -55,7 +55,8 @@ for (const project of WEBPACK_REACT) { cy.get('.passed > .num').should('contain', 1) }) - it('should detect new spec', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23455 + it.skip('should detect new spec', () => { cy.visitApp() cy.withCtx(async (ctx) => { diff --git a/npm/webpack-dev-server/cypress/e2e/next.cy.ts b/npm/webpack-dev-server/cypress/e2e/next.cy.ts index 870ab0863cc3..adaba83d0958 100644 --- a/npm/webpack-dev-server/cypress/e2e/next.cy.ts +++ b/npm/webpack-dev-server/cypress/e2e/next.cy.ts @@ -55,7 +55,8 @@ for (const project of WEBPACK_REACT) { cy.get('.passed > .num').should('contain', 1) }) - it('should detect new spec', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23417 + it.skip('should detect new spec', () => { cy.visitApp() cy.withCtx(async (ctx) => { @@ -73,7 +74,8 @@ for (const project of WEBPACK_REACT) { cy.get('.passed > .num').should('contain', 1) }) - it('should allow import of global styles in support file', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23417 + it.skip('should allow import of global styles in support file', () => { cy.visitApp() cy.contains('styles.cy.js').click() cy.waitForSpecToFinish() diff --git a/npm/webpack-dev-server/cypress/e2e/nuxt.cy.ts b/npm/webpack-dev-server/cypress/e2e/nuxt.cy.ts index 10f77d4c9bec..2092253d0fd0 100644 --- a/npm/webpack-dev-server/cypress/e2e/nuxt.cy.ts +++ b/npm/webpack-dev-server/cypress/e2e/nuxt.cy.ts @@ -49,7 +49,8 @@ for (const project of PROJECTS) { cy.get('.passed > .num').should('contain', 1) }) - it('should detect new spec', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23455 + it.skip('should detect new spec', () => { cy.visitApp() cy.withCtx(async (ctx) => { diff --git a/packages/app/cypress/e2e/cypress-in-cypress-e2e.cy.ts b/packages/app/cypress/e2e/cypress-in-cypress-e2e.cy.ts index c657da01ae69..c4a1da589e05 100644 --- a/packages/app/cypress/e2e/cypress-in-cypress-e2e.cy.ts +++ b/packages/app/cypress/e2e/cypress-in-cypress-e2e.cy.ts @@ -110,7 +110,7 @@ describe('Cypress In Cypress E2E', { viewportWidth: 1500, defaultCommandTimeout: .its('href') .should('eq', 'http://localhost:4455/__/#/specs') - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 // should clear after reload cy.reload() @@ -172,7 +172,7 @@ describe('Cypress In Cypress E2E', { viewportWidth: 1500, defaultCommandTimeout: // We could consider removing this after percy is // up and running for e2e tests. - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) it('should show visit failure blank page', () => { @@ -181,7 +181,7 @@ describe('Cypress In Cypress E2E', { viewportWidth: 1500, defaultCommandTimeout: .click() cy.get('[data-model-state="failed"]').should('contain', 'renders the blank page') - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) it('set the correct viewport values from CLI', () => { diff --git a/packages/app/cypress/e2e/cypress-in-cypress-run-mode.cy.ts b/packages/app/cypress/e2e/cypress-in-cypress-run-mode.cy.ts index 28586433bc90..b9f3a4130a00 100644 --- a/packages/app/cypress/e2e/cypress-in-cypress-run-mode.cy.ts +++ b/packages/app/cypress/e2e/cypress-in-cypress-run-mode.cy.ts @@ -30,7 +30,7 @@ describe('Cypress In Cypress - run mode', { viewportWidth: 1200 }, () => { cy.contains('Chrome 1').click() cy.contains('Firefox').should('not.exist') - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23306 @@ -61,7 +61,7 @@ describe('Cypress In Cypress - run mode', { viewportWidth: 1200 }, () => { cy.contains('Chrome 1').click() cy.contains('Firefox').should('not.exist') - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) it('hides reporter when NO_COMMAND_LOG is set in run mode', () => { diff --git a/packages/app/cypress/e2e/cypress-in-cypress.cy.ts b/packages/app/cypress/e2e/cypress-in-cypress.cy.ts index d02745f839d6..1c3cb50838e4 100644 --- a/packages/app/cypress/e2e/cypress-in-cypress.cy.ts +++ b/packages/app/cypress/e2e/cypress-in-cypress.cy.ts @@ -41,7 +41,7 @@ describe('Cypress in Cypress', { viewportWidth: 1500, defaultCommandTimeout: 100 expect(ctx.actions.project.launchProject).to.have.been.called }) - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) it(`handles automation missing in ${testingType}`, () => { @@ -74,11 +74,11 @@ describe('Cypress in Cypress', { viewportWidth: 1500, defaultCommandTimeout: 100 cy.contains('h3', 'The Cypress extension is missing') - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.get('[data-cy="select-browser"]').click() - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.withCtx((ctx, { sinon }) => { sinon.stub(ctx.actions.project, 'launchProject').resolves() @@ -92,7 +92,8 @@ describe('Cypress in Cypress', { viewportWidth: 1500, defaultCommandTimeout: 100 }) }) - it(`scales the AUT correctly in ${testingType}`, () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23307 + it.skip(`scales the AUT correctly in ${testingType}`, () => { const assertNoScaleShown = () => { // check that no message about scale % is shown, // meaning the AUT is at 100% scale @@ -117,7 +118,7 @@ describe('Cypress in Cypress', { viewportWidth: 1500, defaultCommandTimeout: 100 // validate that the width we set in `withCtx` above is the starting point cy.get(`[data-cy="reporter-panel"]`).invoke('outerWidth').should('eq', 800) - cy.percySnapshot('initial state') + // cy.percySnapshot('initial state') // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.contains('[aria-controls=reporter-inline-specs-list]', 'Specs') .click({ force: true }) @@ -152,7 +153,10 @@ describe('Cypress in Cypress', { viewportWidth: 1500, defaultCommandTimeout: 100 assertNoScaleShown() } - cy.percySnapshot(`panel 2 at ${ position } px`) + /* + TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 + cy.percySnapshot(`panel 2 at ${ position } px`) + */ }) }) @@ -171,11 +175,11 @@ describe('Cypress in Cypress', { viewportWidth: 1500, defaultCommandTimeout: 100 cy.contains('Expand Specs List') assertNoScaleShown() - cy.percySnapshot('tall viewport') + // cy.percySnapshot('tall viewport') // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.viewport(1500, 400) cy.contains(testingTypeExpectedScales[`${ testingType }ShortViewport`]).should('be.visible') - cy.percySnapshot('short viewport') + // cy.percySnapshot('short viewport') // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) cy.get('[data-cy="select-browser"]').as('selectBrowser') diff --git a/packages/app/cypress/e2e/runner/sessions.ui.cy.ts b/packages/app/cypress/e2e/runner/sessions.ui.cy.ts index 329d5c48e4dc..a50a8d6486b4 100644 --- a/packages/app/cypress/e2e/runner/sessions.ui.cy.ts +++ b/packages/app/cypress/e2e/runner/sessions.ui.cy.ts @@ -56,7 +56,7 @@ describe('runner/cypress sessions.ui.spec', { validateSetupSessionGroup() }) - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.get('.command-name-session').eq(0).get('.command-expander').first().click() cy.get('.command').should('have.length', 2) @@ -91,7 +91,7 @@ describe('runner/cypress sessions.ui.spec', { .contains('runValidation') }) - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.get('.command-name-session').eq(0).get('.command-expander').first().click() @@ -128,7 +128,7 @@ describe('runner/cypress sessions.ui.spec', { cy.contains('CypressError') - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) describe('restores saved session', () => { @@ -246,7 +246,8 @@ describe('runner/cypress sessions.ui.spec', { .find('.command-alias') .contains('runValidation') }) - .percySnapshot() + + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.get('.runnable-err').should('have.length', 1) @@ -309,7 +310,7 @@ describe('runner/cypress sessions.ui.spec', { .find('.command-alias') .contains('runValidation') }) - .percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.get('.runnable-err').should('have.length', 2) }) @@ -323,7 +324,7 @@ describe('runner/cypress sessions.ui.spec', { }) validateSessionsInstrumentPanel(['user1', 'user2']) - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) }) diff --git a/packages/app/cypress/e2e/runner/support/snapshot-reporter.ts b/packages/app/cypress/e2e/runner/support/snapshot-reporter.ts index b3dcca09aa51..4aa85c3c83f1 100644 --- a/packages/app/cypress/e2e/runner/support/snapshot-reporter.ts +++ b/packages/app/cypress/e2e/runner/support/snapshot-reporter.ts @@ -1,4 +1,4 @@ -// Takes percy snapshot with navigation/AUT hidden and run duration mocked +// Takes percy snapshot with navigation/AUT/reporter hidden export const snapshotReporter = () => { cy.percySnapshot({ width: 450, diff --git a/packages/app/cypress/e2e/runs.cy.ts b/packages/app/cypress/e2e/runs.cy.ts index b4a0d8050a23..e5c9aac554b2 100644 --- a/packages/app/cypress/e2e/runs.cy.ts +++ b/packages/app/cypress/e2e/runs.cy.ts @@ -658,7 +658,7 @@ describe('App: Runs', { viewportWidth: 1200 }, () => { moveToRunsPage() cy.contains('h2', 'Cannot connect to the Cypress Dashboard') - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.remoteGraphQLIntercept((obj) => { if (obj.operationName === 'Runs_currentProject_cloudProject_cloudProjectBySlug') { diff --git a/packages/app/cypress/e2e/settings.cy.ts b/packages/app/cypress/e2e/settings.cy.ts index 82352d7ebc2f..6c36b4425b73 100644 --- a/packages/app/cypress/e2e/settings.cy.ts +++ b/packages/app/cypress/e2e/settings.cy.ts @@ -438,7 +438,7 @@ describe('App: Settings without cloud', () => { cy.contains(`channel: 'stable',`) cy.contains(`displayName: 'Chrome',`) - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) }) }) diff --git a/packages/app/cypress/e2e/sidebar_navigation.cy.ts b/packages/app/cypress/e2e/sidebar_navigation.cy.ts index 5746ec90fcb1..b0d195d723b2 100644 --- a/packages/app/cypress/e2e/sidebar_navigation.cy.ts +++ b/packages/app/cypress/e2e/sidebar_navigation.cy.ts @@ -77,7 +77,7 @@ describe('Sidebar Navigation', { viewportWidth: 1280 }, () => { it('expands the left nav bar by default', () => { cy.findByTestId('sidebar').should('have.css', 'width', '248px') // assert width to ensure transition has finished - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) it('highlights indicator on hover showing you can click to expand', () => { @@ -87,14 +87,15 @@ describe('Sidebar Navigation', { viewportWidth: 1280 }, () => { cy.findByTestId('toggle-sidebar').realHover() cy.get(navIndicatorSelector).should('be.visible') - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) it('closes the left nav bar when clicking the expand button (if expanded)', () => { cy.findByTestId('sidebar').contains('todos').should('be.visible') cy.findByTestId('toggle-sidebar').click() cy.findByTestId('sidebar').contains('todos').should('not.be.visible') - cy.percySnapshot() + + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) it('closes the left nav bar when clicking the expand button and persist the state if browser is refreshed', () => { @@ -107,7 +108,7 @@ describe('Sidebar Navigation', { viewportWidth: 1280 }, () => { cy.findByTestId('sidebar').contains('todos').should('not.be.visible') - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 }) it('has menu item that shows the keyboard shortcuts modal (unexpanded state)', () => { @@ -123,7 +124,7 @@ describe('Sidebar Navigation', { viewportWidth: 1280 }, () => { cy.get('li span').contains('s') cy.get('li span').contains('f') - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.get('[aria-label="Close"]').click() cy.findAllByTestId('keyboard-modal').should('not.exist') }) @@ -134,7 +135,7 @@ describe('Sidebar Navigation', { viewportWidth: 1280 }, () => { cy.findByTestId('sidebar-header').trigger('mouseenter') cy.contains('.v-popper--some-open--tooltip', 'todos') - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.findByTestId('sidebar-header').trigger('mouseout') cy.findByTestId('sidebar-link-runs-page').trigger('mouseenter') @@ -243,7 +244,7 @@ describe('Sidebar Navigation', { viewportWidth: 1280 }, () => { cy.findAllByTestId('spec-item').first().click() cy.location('hash').should('contain', '#/specs/runner') cy.contains('.router-link-exact-active', 'Specs').should('not.exist') - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.findByTestId('sidebar-link-specs-page').click() cy.location('hash').should('equal', '#/specs') diff --git a/packages/app/cypress/e2e/specs.cy.ts b/packages/app/cypress/e2e/specs.cy.ts index 33397bbbd222..4838370b028a 100644 --- a/packages/app/cypress/e2e/specs.cy.ts +++ b/packages/app/cypress/e2e/specs.cy.ts @@ -120,7 +120,7 @@ describe('App: Specs', () => { })).to.have.lengthOf(options.expectedScaffoldPathsForPlatform.length) }, { expectedScaffoldPathsForPlatform }) - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 // Dismisses dialog with close button press cy.get('@CloseDialogButton').click() @@ -163,7 +163,7 @@ describe('App: Specs', () => { cy.get('[data-cy="card"]').contains(defaultMessages.createSpec.e2e.importEmptySpec.header).click() }) - cy.percySnapshot('Default') + // cy.percySnapshot('Default') // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.findAllByLabelText(defaultMessages.createSpec.e2e.importEmptySpec.inputPlaceholder) .as('enterSpecInput') @@ -178,7 +178,7 @@ describe('App: Specs', () => { cy.contains(defaultMessages.createSpec.e2e.importEmptySpec.invalidSpecWarning) cy.contains('button', defaultMessages.createSpec.createSpec).should('be.disabled') - cy.percySnapshot('Invalid spec error') + // cy.percySnapshot('Invalid spec error') // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 // Create spec cy.get('@enterSpecInput').clear().type(getPathForPlatform('cypress/e2e/MyTest.cy.js')) @@ -189,7 +189,7 @@ describe('App: Specs', () => { cy.get('pre').should('contain', 'describe(\'empty spec\'') - cy.percySnapshot('Generator success') + // cy.percySnapshot('Generator success') // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.get('[aria-label="Close"]').click() @@ -272,7 +272,7 @@ describe('App: Specs', () => { cy.get('[data-cy="card"]').contains(defaultMessages.createSpec.e2e.importEmptySpec.header).click() }) - cy.percySnapshot('Default') + // cy.percySnapshot('Default') // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.findAllByLabelText(defaultMessages.createSpec.e2e.importEmptySpec.inputPlaceholder) .as('enterSpecInput') @@ -287,7 +287,7 @@ describe('App: Specs', () => { cy.contains(defaultMessages.createSpec.e2e.importEmptySpec.invalidSpecWarning) cy.contains('button', defaultMessages.createSpec.createSpec).should('be.disabled') - cy.percySnapshot('Invalid spec error') + // cy.percySnapshot('Invalid spec error') // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 // Create spec cy.get('@enterSpecInput').clear().type(getPathForPlatform('cypress/e2e/MyTest.cy.ts')) @@ -296,7 +296,7 @@ describe('App: Specs', () => { cy.get('[data-cy="file-row"]').contains(getPathForPlatform('cypress/e2e/MyTest.cy.ts')).click() - cy.percySnapshot('Generator success') + // cy.percySnapshot('Generator success') // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.get('pre').should('contain', 'describe(\'empty spec\'') @@ -423,7 +423,7 @@ describe('App: Specs', () => { cy.contains(defaultMessages.createSpec.e2e.importEmptySpec.invalidSpecWarning) cy.contains('button', defaultMessages.createSpec.createSpec).should('be.disabled') - cy.percySnapshot('Invalid spec error') + // cy.percySnapshot('Invalid spec error') // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 // Create spec cy.get('@enterSpecInput').clear().type(getPathForPlatform('src/MyTest.cy.js')) @@ -434,7 +434,7 @@ describe('App: Specs', () => { cy.get('pre').should('contain', 'describe(\'empty spec\'') - cy.percySnapshot('Generator success') + // cy.percySnapshot('Generator success') // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.get('[aria-label="Close"]').click() @@ -492,7 +492,8 @@ describe('App: Specs', () => { cy.get('@enterSpecInput').clear().type(getPathForPlatform('src/e2e/MyTest.spec.jsx')) cy.contains(defaultMessages.createSpec.e2e.importEmptySpec.specExtensionWarning) - cy.percySnapshot('Non-recommended spec pattern warning') + // cy.percySnapshot('Non-recommended spec pattern warning') // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 + cy.contains('span', '{filename}.cy.jsx') }) }) diff --git a/packages/app/cypress/e2e/specs_list_latest_runs.cy.ts b/packages/app/cypress/e2e/specs_list_latest_runs.cy.ts index c1a0e13861ab..0e5fbf617b77 100644 --- a/packages/app/cypress/e2e/specs_list_latest_runs.cy.ts +++ b/packages/app/cypress/e2e/specs_list_latest_runs.cy.ts @@ -621,7 +621,8 @@ describe('App/Cloud Integration - Latest runs and Average duration', { viewportW allVisibleSpecsShouldBePlaceholders() }) - it('shows offline alert then hides it after coming online', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23419 + it.skip('shows offline alert then hides it after coming online', () => { cy.findByTestId('offline-alert') .should('contain.text', defaultMessages.specPage.offlineWarning.title) .and('contain.text', defaultMessages.specPage.offlineWarning.explainer) diff --git a/packages/app/cypress/e2e/specs_list_no_git_repo.cy.ts b/packages/app/cypress/e2e/specs_list_no_git_repo.cy.ts index 3f30ddeddbe1..24311a6ebcc4 100644 --- a/packages/app/cypress/e2e/specs_list_no_git_repo.cy.ts +++ b/packages/app/cypress/e2e/specs_list_no_git_repo.cy.ts @@ -6,7 +6,8 @@ describe('Spec List - Last updated with no git info', () => { cy.visitApp() }) - it('shows no icon and file system timestamp for files', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23474 + it.skip('shows no icon and file system timestamp for files', () => { cy.get('[data-cy-row="blank-contents.spec.js"] [data-cy="git-info-row"] svg') .should('not.exist') diff --git a/packages/app/cypress/e2e/top-nav.cy.ts b/packages/app/cypress/e2e/top-nav.cy.ts index b8a94ff7d142..f52bf0bf2ad9 100644 --- a/packages/app/cypress/e2e/top-nav.cy.ts +++ b/packages/app/cypress/e2e/top-nav.cy.ts @@ -547,7 +547,7 @@ describe('App Top Nav Workflows', () => { cy.contains('button', loginText.actionCancel).should('be.visible') }) - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.withCtx((ctx) => { (ctx._apis.authApi.logIn as SinonStub).callsFake(async (onMessage) => { @@ -594,7 +594,7 @@ describe('App Top Nav Workflows', () => { cy.contains('An unexpected error occurred').should('be.visible') }) - cy.percySnapshot() + // cy.percySnapshot() // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 cy.findByRole('dialog', { name: loginText.titleFailed }).within(() => { cy.contains('button', loginText.actionTryAgain).should('be.visible') diff --git a/packages/app/src/navigation/SidebarNavigation.cy.tsx b/packages/app/src/navigation/SidebarNavigation.cy.tsx index 7b914f19e5d5..b7d21dc6dd92 100644 --- a/packages/app/src/navigation/SidebarNavigation.cy.tsx +++ b/packages/app/src/navigation/SidebarNavigation.cy.tsx @@ -27,7 +27,7 @@ describe('SidebarNavigation', () => { }) cy.findByText('test-project').should('be.visible') - + cy.findByTestId('sidebar-link-specs-page').should('have.class', 'router-link-active') // assert active link to prevent percy flake cy.percySnapshot() }) diff --git a/packages/app/src/runner/screenshot/screenshot.cy.tsx b/packages/app/src/runner/screenshot/screenshot.cy.tsx index 150f6afd7854..6a4f9fc9d456 100644 --- a/packages/app/src/runner/screenshot/screenshot.cy.tsx +++ b/packages/app/src/runner/screenshot/screenshot.cy.tsx @@ -53,6 +53,11 @@ function removeGlobalStyles () { describe('screenshot', () => { captureTypes.forEach((capture) => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23424 + if (capture === 'runner') { + return + } + it(`takes a standard screenshot with viewport: ${capture}`, () => { cy.viewport(500, 500) mount(() => , { diff --git a/packages/app/src/runner/selector-playground/SelectorPlayground.cy.tsx b/packages/app/src/runner/selector-playground/SelectorPlayground.cy.tsx index b8d6afb772a9..854d1d976bb1 100644 --- a/packages/app/src/runner/selector-playground/SelectorPlayground.cy.tsx +++ b/packages/app/src/runner/selector-playground/SelectorPlayground.cy.tsx @@ -44,7 +44,10 @@ describe('SelectorPlayground', () => { cy.get('[data-cy="playground-toggle"]').click().then(() => { expect(selectorPlaygroundStore.isEnabled).to.be.true expect(autIframe.toggleSelectorPlayground).to.have.been.called - cy.percySnapshot('toggle-enabled') + /* + TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23436 + cy.percySnapshot('toggle-enabled') + */ }) }) @@ -112,10 +115,15 @@ describe('SelectorPlayground', () => { cy.get('[data-cy="playground-copy"]').trigger('mouseenter') cy.get('[data-cy="selector-playground-tooltip"]').should('be.visible').contains('Copy to clipboard') - cy.percySnapshot('Copy to clipboard hover tooltip') + + // TODO: fix flaky snapshot https://github.com/cypress-io/cypress/issues/23436 + // cy.percySnapshot('Copy to clipboard hover tooltip') + cy.get('[data-cy="playground-copy"]').click() cy.get('[data-cy="selector-playground-tooltip"]').should('be.visible').contains('Copied!') - cy.percySnapshot('Copy to clipboard click tooltip') + + // TODO: fix flaky snapshot https://github.com/cypress-io/cypress/issues/23436 + // cy.percySnapshot('Copy to clipboard click tooltip') cy.wrap(copyStub).should('have.been.calledWith', 'cy.get(\'.foo-bar\')') }) @@ -130,12 +138,18 @@ describe('SelectorPlayground', () => { cy.get('[data-cy="playground-print"]').trigger('mouseenter') cy.get('[data-cy="selector-playground-tooltip"]').should('be.visible').contains('Print to console') - cy.percySnapshot('Print to console hover tooltip') + + /* + TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23436 + cy.percySnapshot('Print to console hover tooltip') + */ cy.get('[data-cy="playground-print"]').click() cy.get('[data-cy="selector-playground-tooltip"]').should('be.visible').contains('Printed!') - cy.percySnapshot('Print to console click tooltip') - + /* + TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23436 + cy.percySnapshot('Print to console click tooltip') + */ cy.then(() => { expect(logger.logFormatted).to.have.been.calledWith({ Command: `cy.get('.foo-bar')`, diff --git a/packages/app/src/specs/LastUpdatedHeader.cy.tsx b/packages/app/src/specs/LastUpdatedHeader.cy.tsx index d63cee0deddc..93b9fd8071be 100644 --- a/packages/app/src/specs/LastUpdatedHeader.cy.tsx +++ b/packages/app/src/specs/LastUpdatedHeader.cy.tsx @@ -19,7 +19,9 @@ describe('', () => { cy.get(popperContentSelector).should('have.text', expectedTooltipText) - cy.percySnapshot() + /* TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23436 + cy.percySnapshot() + */ }) it('mounts correctly with git unavailable', () => { diff --git a/packages/app/src/specs/SpecListGitInfo.cy.tsx b/packages/app/src/specs/SpecListGitInfo.cy.tsx index f448d46f730b..49480d470729 100644 --- a/packages/app/src/specs/SpecListGitInfo.cy.tsx +++ b/packages/app/src/specs/SpecListGitInfo.cy.tsx @@ -34,7 +34,10 @@ describe('SpecListGitInfo', () => { cy.findByTestId('git-info-tooltip').should('be.visible') .and('have.text', 'Created') - cy.percySnapshot() + /* + TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23436 + cy.percySnapshot() + */ }) }) @@ -53,8 +56,10 @@ describe('SpecListGitInfo', () => { cy.get('.v-popper').trigger('mouseenter') cy.findByTestId('git-info-tooltip').should('be.visible') .and('have.text', 'Modified') - - cy.percySnapshot() + /* + TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23436 + cy.percySnapshot() + */ }) }) @@ -75,7 +80,10 @@ describe('SpecListGitInfo', () => { .and('contain', 'chore: did stuff') .and('contain', 'abc123 by Bob') - cy.percySnapshot() + /* + TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23436 + cy.percySnapshot() + */ }) }) }) diff --git a/packages/driver/cypress/e2e/commands/actions/check.cy.js b/packages/driver/cypress/e2e/commands/actions/check.cy.js index 66d4cc46631b..49a37886a623 100644 --- a/packages/driver/cypress/e2e/commands/actions/check.cy.js +++ b/packages/driver/cypress/e2e/commands/actions/check.cy.js @@ -903,16 +903,19 @@ describe('src/cy/commands/actions/check', () => { }) }) - it('can forcibly click even when being covered by another element', (done) => { + it('can forcibly click even when being covered by another element', () => { + let clicked = false const checkbox = $('').attr('id', 'checkbox-covered-in-span').prop('checked', true).prependTo($('body')) $('span on checkbox').css({ position: 'absolute', left: checkbox.offset().left, top: checkbox.offset().top, padding: 5, display: 'inline-block', backgroundColor: 'yellow' }).prependTo($('body')) checkbox.on('click', () => { - done() + clicked = true }) - cy.get('#checkbox-covered-in-span').uncheck({ force: true }) + cy.get('#checkbox-covered-in-span').uncheck({ force: true }).then(() => { + expect(clicked).to.be.true + }) }) it('passes timeout and interval down to click', (done) => { diff --git a/packages/driver/cypress/e2e/commands/actions/select.cy.js b/packages/driver/cypress/e2e/commands/actions/select.cy.js index 956ab67d2194..f0ed01b70247 100644 --- a/packages/driver/cypress/e2e/commands/actions/select.cy.js +++ b/packages/driver/cypress/e2e/commands/actions/select.cy.js @@ -146,17 +146,19 @@ describe('src/cy/commands/actions/select', () => { cy.get('#select-maps').select('de_train') }) - // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23156 - it.skip('can forcibly click even when being covered by another element', (done) => { + it('can forcibly click even when being covered by another element', () => { + let clicked = false const select = $('').attr('id', 'select-covered-in-span').prependTo(cy.$$('body')) $('span on select').css({ position: 'absolute', left: select.offset().left, top: select.offset().top, padding: 5, display: 'inline-block', backgroundColor: 'yellow' }).prependTo(cy.$$('body')) select.on('click', () => { - done() + clicked = true }) - cy.get('#select-covered-in-span').select('foo', { force: true }) + cy.get('#select-covered-in-span').select('foo', { force: true }).then(() => { + expect(clicked).to.be.true + }) }) it('passes timeout and interval down to click', (done) => { @@ -174,15 +176,18 @@ describe('src/cy/commands/actions/select', () => { cy.get('#select-covered-in-span').select('foobar', { timeout: 1000, interval: 60 }) }) - // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23157 - it.skip('can forcibly click even when element is invisible', (done) => { + it('can forcibly click even when element is invisible', () => { + let clicked = false + const select = cy.$$('#select-maps').hide() select.click(() => { - done() + clicked = true }) - cy.get('#select-maps').select('de_dust2', { force: true }) + cy.get('#select-maps').select('de_dust2', { force: true }).then(() => { + expect(clicked).to.be.true + }) }) it('can forcibly click when select is disabled', () => { diff --git a/packages/driver/cypress/e2e/commands/command_option_immutability.cy.js b/packages/driver/cypress/e2e/commands/command_option_immutability.cy.js index 18d0728186a3..99e1f5e9d2d9 100644 --- a/packages/driver/cypress/e2e/commands/command_option_immutability.cy.js +++ b/packages/driver/cypress/e2e/commands/command_option_immutability.cy.js @@ -233,9 +233,10 @@ describe('command log', () => { // Ignore cy.server() because it doesn't log to reporter. - testOptions('setCookie', { httpOnly: true }, 0, (options) => { - cy.setCookie('auth_key', '123key', options) - }) + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23444 + // testOptions('setCookie', { httpOnly: true }, 0, (options) => { + // cy.setCookie('auth_key', '123key', options) + // }) // Ignore cy.should() because it doesn't have options. diff --git a/packages/driver/cypress/e2e/commands/cookies.cy.js b/packages/driver/cypress/e2e/commands/cookies.cy.js index eb4c3a40642a..b739a8a7af8b 100644 --- a/packages/driver/cypress/e2e/commands/cookies.cy.js +++ b/packages/driver/cypress/e2e/commands/cookies.cy.js @@ -435,7 +435,8 @@ describe('src/cy/commands/cookies', () => { }) }) - context('#setCookie', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23444 + context.skip('#setCookie', () => { beforeEach(() => { cy.stub(Cypress.utils, 'addTwentyYears').returns(12345) }) @@ -509,7 +510,8 @@ describe('src/cy/commands/cookies', () => { }) describe('timeout', () => { - it('sets timeout to Cypress.config(responseTimeout)', { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23444 + it.skip('sets timeout to Cypress.config(responseTimeout)', { responseTimeout: 2500, }, () => { Cypress.automation.resolves(null) @@ -521,7 +523,8 @@ describe('src/cy/commands/cookies', () => { }) }) - it('can override timeout', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23444 + it.skip('can override timeout', () => { Cypress.automation.resolves(null) const timeout = cy.spy(Promise.prototype, 'timeout') @@ -531,7 +534,8 @@ describe('src/cy/commands/cookies', () => { }) }) - it('clears the current timeout and restores after success', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23444 + it.skip('clears the current timeout and restores after success', () => { Cypress.automation.resolves(null) cy.timeout(100) @@ -563,7 +567,8 @@ describe('src/cy/commands/cookies', () => { return null }) - it('logs once on error', function (done) { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23444 + it.skip('logs once on error', function (done) { const error = new Error('some err message') error.name = 'foo' @@ -583,7 +588,8 @@ describe('src/cy/commands/cookies', () => { cy.setCookie('foo', 'bar') }) - it('throws after timing out', function (done) { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23444 + it.skip('throws after timing out', function (done) { Cypress.automation.resolves(Promise.delay(1000)) cy.on('fail', (err) => { diff --git a/packages/driver/cypress/e2e/commands/navigation.cy.js b/packages/driver/cypress/e2e/commands/navigation.cy.js index f1da6de4a875..fdcd033a66dc 100644 --- a/packages/driver/cypress/e2e/commands/navigation.cy.js +++ b/packages/driver/cypress/e2e/commands/navigation.cy.js @@ -271,7 +271,8 @@ describe('src/cy/commands/navigation', () => { }) }) - context('#go', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23308 + context.skip('#go', () => { // TODO: fix this it('sets timeout to Cypress.config(pageLoadTimeout)', { pageLoadTimeout: 4567, @@ -735,7 +736,8 @@ describe('src/cy/commands/navigation', () => { }) // https://github.com/cypress-io/cypress/issues/14445 - it('should eventually fail on assertion despite redirects', (done) => { + // TODO: skip flaky test https://github.com/cypress-io/cypress/issues/23472 + it.skip('should eventually fail on assertion despite redirects', (done) => { cy.on('fail', (err) => { expect(err.message).to.contain('The application redirected to') diff --git a/packages/driver/cypress/e2e/commands/net_stubbing.cy.ts b/packages/driver/cypress/e2e/commands/net_stubbing.cy.ts index 287e38e343b0..ccea3125e0e2 100644 --- a/packages/driver/cypress/e2e/commands/net_stubbing.cy.ts +++ b/packages/driver/cypress/e2e/commands/net_stubbing.cy.ts @@ -20,7 +20,8 @@ const uniqueRoute = (route) => { return `${route}-${routeCount}` } -describe('network stubbing', function () { +// TODO: fix flaky tests https://github.com/cypress-io/cypress/issues/23434 +describe.skip('network stubbing', function () { const { $, _, sinon, state, Promise } = Cypress beforeEach(function () { @@ -1636,7 +1637,8 @@ describe('network stubbing', function () { }) }) - it('can add a body to a request that does not have one', function () { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23422 + it.skip('can add a body to a request that does not have one', function () { const body = '{"foo":"bar"}' cy.intercept('/post-only', function (req) { @@ -1692,7 +1694,8 @@ describe('network stubbing', function () { }) }) - it('can delay with deprecated delayMs param', function () { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23404 + it.skip('can delay with deprecated delayMs param', function () { const delayMs = 250 cy.intercept('/timeout*', (req) => { @@ -1709,7 +1712,8 @@ describe('network stubbing', function () { }) // @see https://github.com/cypress-io/cypress/issues/14446 - it('should delay the same amount on every response', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23406 + it.skip('should delay the same amount on every response', () => { const delay = 250 const testDelay = () => { @@ -1817,7 +1821,8 @@ describe('network stubbing', function () { cy.wait('@getUrl') }) - it('by doing both', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23407 + it.skip('by doing both', () => { cy.intercept({ url: '/users*' }, (req) => { req.query = { a: 'b', @@ -1839,7 +1844,8 @@ describe('network stubbing', function () { cy.wait('@getUrl') }) - it('by deleting query member', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23414 + it.skip('by deleting query member', () => { cy.intercept({ url: '/users*' }, (req) => { req.query = { a: 'b', @@ -1862,7 +1868,8 @@ describe('network stubbing', function () { }) context('by setting new url', () => { - it('absolute path', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23415 + it.skip('absolute path', () => { cy.intercept({ url: '/users*' }, (req) => { req.url = 'http://localhost:3500/users?a=b' @@ -1879,7 +1886,8 @@ describe('network stubbing', function () { cy.wait('@getUrl') }) - it('relative path', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23433 + it.skip('relative path', () => { cy.intercept({ url: '/users*' }, (req) => { req.url = '/users?a=b' @@ -1897,7 +1905,8 @@ describe('network stubbing', function () { cy.wait('@getUrl') }) - it('empty string', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23434 + it.skip('empty string', () => { cy.intercept({ url: '/users*' }, (req) => { req.url = '' @@ -1916,7 +1925,8 @@ describe('network stubbing', function () { }) context('throwing errors correctly', () => { - it('defineproperty', (done) => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23423 + it.skip('defineproperty', (done) => { cy.on('fail', (err) => { expect(err.message).to.eq('`defineProperty()` is not allowed.') @@ -1944,7 +1954,7 @@ describe('network stubbing', function () { cy.wait('@getUrl') }) - // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23100 + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23147 it.skip('setPrototypeOf', (done) => { cy.on('fail', (err) => { expect(err.message).to.eq('`setPrototypeOf()` is not allowed.') @@ -1974,7 +1984,8 @@ describe('network stubbing', function () { context('request events', function () { context('can end response', () => { for (const eventName of ['before:response', 'response']) { - it(`in \`${eventName}\``, () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23434 + it.skip(`in \`${eventName}\``, () => { const url = uniqueRoute('/foo') const expectBeforeResponse = eventName === 'response' let beforeResponseCalled = false @@ -2184,7 +2195,8 @@ describe('network stubbing', function () { }) context('with `times`', function () { - it('only uses each handler N times', function () { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23434 + it.skip('only uses each handler N times', function () { const url = uniqueRoute('/foo') const third = sinon.stub() diff --git a/packages/driver/cypress/e2e/commands/xhr.cy.js b/packages/driver/cypress/e2e/commands/xhr.cy.js index b05bad7ade44..39efbbd72b08 100644 --- a/packages/driver/cypress/e2e/commands/xhr.cy.js +++ b/packages/driver/cypress/e2e/commands/xhr.cy.js @@ -2385,7 +2385,8 @@ describe('src/cy/commands/xhr', () => { }) }) - describe('{force404: false}', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23245 + describe.skip('{force404: false}', () => { beforeEach(() => { cy .server() diff --git a/packages/driver/cypress/e2e/cypress/proxy-logging.cy.ts b/packages/driver/cypress/e2e/cypress/proxy-logging.cy.ts index a9d810344aa8..0d99501c4d57 100644 --- a/packages/driver/cypress/e2e/cypress/proxy-logging.cy.ts +++ b/packages/driver/cypress/e2e/cypress/proxy-logging.cy.ts @@ -46,7 +46,8 @@ describe('Proxy Logging', () => { } context('request logging', () => { - it('fetch log shows resource type, url, method, and status code and has expected snapshots and consoleProps', (done) => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23443 + it.skip('fetch log shows resource type, url, method, and status code and has expected snapshots and consoleProps', (done) => { fetch('/some-url') // trigger: Cypress.Log() called @@ -95,8 +96,7 @@ describe('Proxy Logging', () => { done() } catch (err) { - // eslint-disable-next-line no-console - console.log('assertion error, retrying', err) + done(new Error(err)) } }) }) @@ -133,8 +133,7 @@ describe('Proxy Logging', () => { done() } catch (err) { - // eslint-disable-next-line no-console - console.log('assertion error, retrying', err) + done(new Error(err)) } }) @@ -181,8 +180,7 @@ describe('Proxy Logging', () => { done() } catch (err) { - // eslint-disable-next-line no-console - console.log('assertion error, retrying', err) + done(new Error(err)) } }) @@ -265,7 +263,8 @@ describe('Proxy Logging', () => { .visit('/fixtures/empty.html') }) - it('intercept log has consoleProps with intercept info', (done) => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23420 + it.skip('intercept log has consoleProps with intercept info', (done) => { cy.intercept('/some-url', 'stubbed response').as('alias') .then(() => { fetch('/some-url') diff --git a/packages/driver/cypress/e2e/e2e/e2e_cookies.cy.js b/packages/driver/cypress/e2e/e2e/e2e_cookies.cy.js index 6f71522c1aa0..671691caab16 100644 --- a/packages/driver/cypress/e2e/e2e/e2e_cookies.cy.js +++ b/packages/driver/cypress/e2e/e2e/e2e_cookies.cy.js @@ -19,7 +19,8 @@ describe('e2e cookies spec', () => { context('__Host- prefix', () => { // https://github.com/cypress-io/cypress/issues/8261 - it('can set __Host- cookie', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23444 + it.skip('can set __Host- cookie', () => { cy.visit('https://example.com') cy.setCookie('__Host-foobar', 'someval', { domain: 'example.com', @@ -35,7 +36,8 @@ describe('e2e cookies spec', () => { })) }) - it('errors when __Host- cookie and secure:false', (done) => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23444 + it.skip('errors when __Host- cookie and secure:false', (done) => { cy.visit('https://example.com') cy.setCookie('__Host-foobar', 'someval') @@ -48,7 +50,8 @@ describe('e2e cookies spec', () => { }) }) - it('errors when __Host- cookie and path', (done) => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23444 + it.skip('errors when __Host- cookie and path', (done) => { cy.visit('https://example.com') cy.setCookie('__Host-foobar', 'someval', { secure: true, @@ -63,7 +66,8 @@ describe('e2e cookies spec', () => { }) context('__Secure- prefix', () => { - it('can set __Secure- cookie', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23444 + it.skip('can set __Secure- cookie', () => { cy.visit('https://example.com') cy.setCookie('__Secure-foobar', 'someval', { domain: 'example.com', @@ -79,7 +83,8 @@ describe('e2e cookies spec', () => { })) }) - it('errors when __Secure- cookie secure:false', (done) => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23444 + it.skip('errors when __Secure- cookie secure:false', (done) => { cy.visit('https://example.com') cy.setCookie('__Secure-foobar', 'someval', { domain: 'example.com', diff --git a/packages/driver/cypress/e2e/e2e/origin/basic_login.cy.ts b/packages/driver/cypress/e2e/e2e/origin/basic_login.cy.ts index d843a0bb4dc0..a06c7a1a4406 100644 --- a/packages/driver/cypress/e2e/e2e/origin/basic_login.cy.ts +++ b/packages/driver/cypress/e2e/e2e/origin/basic_login.cy.ts @@ -168,7 +168,8 @@ describe('Multi-step Auth', () => { .should('equal', 'Welcome MarkyMark') }) - it('final-auth redirects back to localhost - flat', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23481 + it.skip('final-auth redirects back to localhost - flat', () => { cy.visit('/fixtures/auth/index.html') cy.get('[data-cy="login-with-approval"]').click() // takes you to foobar.com.../approval cy.origin('http://foobar.com:3500', () => { // Parent origin is localhost diff --git a/packages/driver/cypress/e2e/e2e/origin/commands/actions.cy.ts b/packages/driver/cypress/e2e/e2e/origin/commands/actions.cy.ts index 3ed50a18259d..3d6819a00e74 100644 --- a/packages/driver/cypress/e2e/e2e/origin/commands/actions.cy.ts +++ b/packages/driver/cypress/e2e/e2e/origin/commands/actions.cy.ts @@ -466,7 +466,8 @@ context('cy.origin actions', () => { }) }) - it('.submit()', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23480 + it.skip('.submit()', () => { cy.get('a[data-cy="dom-link"]').click() cy.origin('http://foobar.com:3500', () => { cy.get('form#multiple-inputs-and-input-submit input[name="fname"]').type('foo') diff --git a/packages/driver/cypress/e2e/e2e/origin/logging.cy.ts b/packages/driver/cypress/e2e/e2e/origin/logging.cy.ts index 3121df5ef22a..0b1887d42771 100644 --- a/packages/driver/cypress/e2e/e2e/origin/logging.cy.ts +++ b/packages/driver/cypress/e2e/e2e/origin/logging.cy.ts @@ -30,7 +30,8 @@ describe('cy.origin logging', () => { }) }) - it('logs cy.origin as group when failing with validation failure', (done) => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/21300 + it.skip('logs cy.origin as group when failing with validation failure', (done) => { const logs: any[] = [] cy.on('log:added', (attrs) => { @@ -58,7 +59,8 @@ describe('cy.origin logging', () => { cy.origin(false, () => {}) }) - it('logs cy.origin as group when failing with serialization failure', (done) => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/21300 + it.skip('logs cy.origin as group when failing with serialization failure', (done) => { const logs: any[] = [] cy.on('log:added', (attrs) => { diff --git a/packages/driver/cypress/e2e/e2e/origin/navigation.cy.ts b/packages/driver/cypress/e2e/e2e/origin/navigation.cy.ts index e84fb90e7ee5..9693647e2f6d 100644 --- a/packages/driver/cypress/e2e/e2e/origin/navigation.cy.ts +++ b/packages/driver/cypress/e2e/e2e/origin/navigation.cy.ts @@ -417,7 +417,8 @@ describe('errors', () => { .should('equal', 'Welcome BJohnson') }) - it('fails in cy.origin when a command is run after we return to localhost', { defaultCommandTimeout: 50 }, (done) => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23481 + it.skip('fails in cy.origin when a command is run after we return to localhost', { defaultCommandTimeout: 50 }, (done) => { cy.on('fail', (err) => { expect(err.message).to.include(`Timed out retrying after 50ms: Expected to find element: \`[data-cy="cannot_find"]\`, but never found it`) expect(err.message).to.include(`The command was expected to run against origin \`http://idp.com:3500\` but the application is at origin \`http://localhost:3500\`.`) diff --git a/packages/driver/cypress/e2e/e2e/origin/snapshots.cy.ts b/packages/driver/cypress/e2e/e2e/origin/snapshots.cy.ts index 08af38a0a00e..9510f116e6b8 100644 --- a/packages/driver/cypress/e2e/e2e/origin/snapshots.cy.ts +++ b/packages/driver/cypress/e2e/e2e/origin/snapshots.cy.ts @@ -48,7 +48,8 @@ describe('cy.origin - snapshots', () => { }) }) - it('verifies fetch requests made while a secondary origin is active eventually update with snapshots of the secondary origin', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23437 + it.skip('verifies fetch requests made while a secondary origin is active eventually update with snapshots of the secondary origin', () => { cy.origin('http://foobar.com:3500', () => { // need to set isInteractive in the spec bridge in order to take xhr snapshots in run mode, similar to how isInteractive is set within support/defaults.js // @ts-ignore diff --git a/packages/driver/cypress/e2e/e2e/origin/uncaught_errors.cy.ts b/packages/driver/cypress/e2e/e2e/origin/uncaught_errors.cy.ts index 1c1827bb0431..379cd991f95c 100644 --- a/packages/driver/cypress/e2e/e2e/origin/uncaught_errors.cy.ts +++ b/packages/driver/cypress/e2e/e2e/origin/uncaught_errors.cy.ts @@ -247,7 +247,8 @@ describe('cy.origin - uncaught errors', () => { }) }) - it('fails the current test/command if a promise is rejected from the cy.origin callback after it is finished running', (done) => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23484 + it.skip('fails the current test/command if a promise is rejected from the cy.origin callback after it is finished running', (done) => { cy.on('fail', (err) => { expect(err.name).to.eq('Error') expect(err.message).to.include('rejected promise') diff --git a/packages/driver/cypress/e2e/e2e/origin/validation.cy.ts b/packages/driver/cypress/e2e/e2e/origin/validation.cy.ts index da326175f05d..2de82525ca1d 100644 --- a/packages/driver/cypress/e2e/e2e/origin/validation.cy.ts +++ b/packages/driver/cypress/e2e/e2e/origin/validation.cy.ts @@ -207,7 +207,8 @@ describe('cy.origin', () => { }) }) - it('uses cy.origin twice', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23451 + it.skip('uses cy.origin twice', () => { cy.visit('/fixtures/auth/index.html') cy.get('[data-cy="login-idp"]').click() cy.origin('http://idp.com:3500', () => { diff --git a/packages/frontend-shared/cypress/e2e/support/e2eSupport.ts b/packages/frontend-shared/cypress/e2e/support/e2eSupport.ts index b2cce8cb6688..d9ddffbcf3cd 100644 --- a/packages/frontend-shared/cypress/e2e/support/e2eSupport.ts +++ b/packages/frontend-shared/cypress/e2e/support/e2eSupport.ts @@ -544,6 +544,9 @@ Cypress.Commands.add('validateExternalLink', { prevSubject: ['optional', 'elemen installCustomPercyCommand({ elementOverrides: { + '[data-cy=top-nav-cypress-version-current-link]': ($el) => { + $el.attr('style', 'display: none !important') // TODO: display and set dummy text to vX.X.X once flake is fixed. See issue https://github.com/cypress-io/cypress/issues/21897 + }, '.runnable-header .duration': ($el) => { $el.text('XX:XX') }, diff --git a/packages/frontend-shared/src/gql-components/HeaderBarContent.cy.tsx b/packages/frontend-shared/src/gql-components/HeaderBarContent.cy.tsx index 102115453f64..2695fb0c5817 100644 --- a/packages/frontend-shared/src/gql-components/HeaderBarContent.cy.tsx +++ b/packages/frontend-shared/src/gql-components/HeaderBarContent.cy.tsx @@ -30,7 +30,10 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( .should('be.visible') .click() - cy.percySnapshot('after browsers open') + /* + TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23436 + cy.percySnapshot('after browsers open') + */ cy.contains('Edge Canary') .should('be.visible') @@ -55,7 +58,10 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( cy.contains('Unsupported browser').should('be.visible') - cy.percySnapshot('unsupported browser tooltip') + /* + TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23436 + cy.percySnapshot('unsupported browser tooltip') + */ }) describe('breadcrumbs', () => { diff --git a/packages/launchpad/cypress/e2e/choose-a-browser.cy.ts b/packages/launchpad/cypress/e2e/choose-a-browser.cy.ts index 0e8db68f92c7..d2acd567841c 100644 --- a/packages/launchpad/cypress/e2e/choose-a-browser.cy.ts +++ b/packages/launchpad/cypress/e2e/choose-a-browser.cy.ts @@ -1,6 +1,7 @@ import type { FoundBrowser } from '@packages/types/src' -describe('Choose a Browser Page', () => { +// TODO: fix flaky tests https://github.com/cypress-io/cypress/issues/23418 +describe.skip('Choose a Browser Page', () => { beforeEach(() => { cy.scaffoldProject('launchpad') }) @@ -14,7 +15,8 @@ describe('Choose a Browser Page', () => { }) }) - it('preselects browser that is provided through the command line', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23158 + it.skip('preselects browser that is provided through the command line', () => { cy.withCtx((ctx, o) => { // stub launching project since we have `--browser --testingType --project` here o.sinon.stub(ctx._apis.projectApi, 'launchProject').resolves() diff --git a/packages/launchpad/cypress/e2e/config-warning.cy.ts b/packages/launchpad/cypress/e2e/config-warning.cy.ts index 222983059b69..8e5ec9be09a1 100644 --- a/packages/launchpad/cypress/e2e/config-warning.cy.ts +++ b/packages/launchpad/cypress/e2e/config-warning.cy.ts @@ -68,7 +68,8 @@ describe('baseUrl', () => { }) describe('experimentalSingleTabRunMode', () => { - it('is a valid config for component testing', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23158 + it.skip('is a valid config for component testing', () => { cy.scaffoldProject('experimentalSingleTabRunMode') cy.openProject('experimentalSingleTabRunMode') cy.visitLaunchpad() diff --git a/packages/launchpad/cypress/e2e/project-setup.cy.ts b/packages/launchpad/cypress/e2e/project-setup.cy.ts index 44250413f219..597d6af1f3d2 100644 --- a/packages/launchpad/cypress/e2e/project-setup.cy.ts +++ b/packages/launchpad/cypress/e2e/project-setup.cy.ts @@ -568,7 +568,8 @@ describe('Launchpad: Setup Project', () => { cy.get('code').should('contain.text', 'yarn add -D ') }) - it('makes the right command for pnpm', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23153 + it.skip('makes the right command for pnpm', () => { scaffoldAndOpenProject('pristine-pnpm') cy.visitLaunchpad() @@ -655,7 +656,8 @@ describe('Launchpad: Setup Project', () => { verifyScaffoldedFiles('e2e') }) - it('takes the user to first step of ct setup when switching from app', () => { + // TODO: fix flaky tests https://github.com/cypress-io/cypress/issues/23418 + it.skip('takes the user to first step of ct setup when switching from app', () => { scaffoldAndOpenProject('pristine-with-e2e-testing') cy.visitLaunchpad() verifyWelcomePage({ e2eIsConfigured: true, ctIsConfigured: false }) diff --git a/packages/launchpad/cypress/e2e/scaffold-component-testing.cy.ts b/packages/launchpad/cypress/e2e/scaffold-component-testing.cy.ts index e7fccd081b26..4d1682b2bf7c 100644 --- a/packages/launchpad/cypress/e2e/scaffold-component-testing.cy.ts +++ b/packages/launchpad/cypress/e2e/scaffold-component-testing.cy.ts @@ -109,7 +109,8 @@ describe('scaffolding component testing', { }) context('angular-cli-unconfigured', () => { - it('scaffolds component testing for Angular', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23452 + it.skip('scaffolds component testing for Angular', () => { startSetupFor('angular-cli-unconfigured') // should detect correctly diff --git a/packages/launchpad/cypress/e2e/slow-network.cy.ts b/packages/launchpad/cypress/e2e/slow-network.cy.ts index b15e78e8ef42..ed709d17eaf3 100644 --- a/packages/launchpad/cypress/e2e/slow-network.cy.ts +++ b/packages/launchpad/cypress/e2e/slow-network.cy.ts @@ -38,7 +38,8 @@ describe('slow network: launchpad', () => { cy.get('h1').should('contain', 'Choose a Browser') }) - it('shows the versions after they resolve', () => { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/21897 + it.skip('shows the versions after they resolve', () => { cy.visitLaunchpad() cy.get('[data-cy=top-nav-cypress-version-current-link]').should('not.exist') cy.contains('Log In') diff --git a/packages/launchpad/src/setup/OpenBrowserList.cy.tsx b/packages/launchpad/src/setup/OpenBrowserList.cy.tsx index 76c699a47d91..9b7b20bcf3cd 100644 --- a/packages/launchpad/src/setup/OpenBrowserList.cy.tsx +++ b/packages/launchpad/src/setup/OpenBrowserList.cy.tsx @@ -51,7 +51,10 @@ describe('', () => { cy.get('.v-popper__popper--shown') .contains('Cypress does not support running Firefox Developer Edition version 69.') - cy.percySnapshot() + /* + TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23436 + cy.percySnapshot() + */ }) it('emits navigates back', () => { diff --git a/packages/server/test/unit/fixture_spec.js b/packages/server/test/unit/fixture_spec.js index 0205b7d5ea5f..514545e194c3 100644 --- a/packages/server/test/unit/fixture_spec.js +++ b/packages/server/test/unit/fixture_spec.js @@ -153,7 +153,8 @@ Expecting 'EOF', '}', ':', ',', ']', got 'STRING'\ }) }) - it('does not reformat empty objects', function () { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23457 + it.skip('does not reformat empty objects', function () { const fn = () => { return fixture.get(this.fixturesFolder, 'empty_objects') } diff --git a/packages/server/test/unit/open_project_spec.js b/packages/server/test/unit/open_project_spec.js index 931d3d6c3a35..44c9d11fcfb6 100644 --- a/packages/server/test/unit/open_project_spec.js +++ b/packages/server/test/unit/open_project_spec.js @@ -205,7 +205,8 @@ describe('lib/open_project', () => { }) }) - it('sends after:spec errors through onError option', function () { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23448 + it.skip('sends after:spec errors through onError option', function () { const err = new Error('thrown from after:spec handler') this.config.experimentalInteractiveRunEvents = true diff --git a/system-tests/test/plugins_spec.js b/system-tests/test/plugins_spec.js index 1c4128eae59d..4dc5859a08cc 100644 --- a/system-tests/test/plugins_spec.js +++ b/system-tests/test/plugins_spec.js @@ -26,7 +26,8 @@ describe('e2e plugins', function () { }, }) - it('fails when there is an async error inside an event handler', function () { + // TODO: fix flaky test https://github.com/cypress-io/cypress/issues/23493 + it.skip('fails when there is an async error inside an event handler', function () { return systemTests.exec(this, { spec: 'app.cy.js', project: 'plugins-async-error', diff --git a/yarn.lock b/yarn.lock index b048b3221dc0..26bbccef00e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -35841,4 +35841,4 @@ zone.js@~0.11.4: resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.7.tgz#262194267c7b964e8da77ce16b9fba9bea23cfdc" integrity sha512-e39K2EdK5JfA3FDuUTVRvPlYV4aBfnOOcGuILhQAT7nzeV12uSrLBzImUM9CDVoncDSX4brR/gwqu0heQ3BQ0g== dependencies: - tslib "^2.3.0" + tslib "^2.3.0" \ No newline at end of file