Skip to content

Commit

Permalink
Merge branch 'develop' into retry-flake
Browse files Browse the repository at this point in the history
  • Loading branch information
flotwig committed Oct 17, 2022
2 parents 93f8bdf + f73aef5 commit 0e99559
Show file tree
Hide file tree
Showing 73 changed files with 465 additions and 451 deletions.
2 changes: 1 addition & 1 deletion cli/types/cypress-npm-api.d.ts
Expand Up @@ -60,7 +60,7 @@ declare namespace CypressCommandLine {
*/
headless: boolean
/**
* Specify your secret record key
* Specify your secret Record Key
*/
key: string
/**
Expand Down
4 changes: 2 additions & 2 deletions guides/release-process.md
Expand Up @@ -82,7 +82,7 @@ In the following instructions, "X.Y.Z" is used to denote the [next version of Cy
- Go into a project, run a quick test, make sure things look right
- Optionally, install the new version into an established project and run the tests there
- [cypress-realworld-app](https://github.com/cypress-io/cypress-realworld-app) uses yarn and represents a typical consumer implementation.
- Optionally, do more thorough tests, for example test the new version of Cypress against the Cypress dashboard repo.
- Optionally, do more thorough tests, for example test the new version of Cypress against the Cypress Dashboard repo.

5. Log into AWS SSO with `aws sso login --profile <name_of_profile>`. If you have setup your credentials under a different profile than `prod`, be sure to set the `AWS_PROFILE` environment variable to that profile name for the remaining steps. For example, if you are using `production` instead of `prod`, do `export AWS_PROFILE=production`.

Expand Down Expand Up @@ -119,7 +119,7 @@ In the following instructions, "X.Y.Z" is used to denote the [next version of Cy
- Go into a project, run a quick test, make sure things look right
- Install the new version into an established project and run the tests there
- [cypress-realworld-app](https://github.com/cypress-io/cypress-realworld-app) uses yarn and represents a typical consumer implementation.
- Optionally, do more thorough tests, for example test the new version of Cypress against the Cypress dashboard repo.
- Optionally, do more thorough tests, for example test the new version of Cypress against the Cypress Dashboard repo.

11. Create or review the release-specific documentation and changelog in [cypress-documentation](https://github.com/cypress-io/cypress-documentation). If there is not already a release-specific PR open, create one. This PR must be merged, built, and deployed before moving to the next step.
- Use [`release-automations`](https://github.com/cypress-io/release-automations)'s `issues-in-release` tool to generate a starting point for the changelog, based off of ZenHub:
Expand Down
2 changes: 1 addition & 1 deletion npm/webpack-dev-server/cypress/e2e/react.cy.ts
Expand Up @@ -131,7 +131,7 @@ for (const project of WEBPACK_REACT) {
cy.findByTestId('new-spec-button').click()
cy.findByRole('dialog').within(() => {
cy.get('input').clear().type('src/App.cy.jsx')
cy.contains('button', 'Create Spec').click()
cy.contains('button', 'Create spec').click()
})

cy.findByRole('dialog').within(() => {
Expand Down
2 changes: 1 addition & 1 deletion packages/app/README.md
Expand Up @@ -16,7 +16,7 @@ This is the front-end for the Cypress App.

Cypress has two modes: `run` and `open`. We want run mode to be as light and fast as possible, since this is the mode used to run on CI machines, etc. Run mode has minimal UI showing only what is necessary. Open mode is the interactive experience.

- **`open`** mode is driven using GraphQL and urql. It shows the full Cypress app, include the top nav, side nav, spec list, etc. You can change between testing types, check your latest runs on the Cypress dashboard, update settings, etc.
- **`open`** mode is driven using GraphQL and urql. It shows the full Cypress app, include the top nav, side nav, spec list, etc. You can change between testing types, check your latest runs on the Cypress Dashboard, update settings, etc.
- **`run`** mode is does not rely on GraphQL. This is so we can be as performant as possible. It only renders the "runner" part of the UI, which is comprised of the command log, Spec Runner header, and AUT iframe.

The two modes are composed using the same logic, but have slightly different components. You can see where the differences are in `Runner.vue`(src/pages/Specs/Runner.vue). Notice that `<SpecRunnerOpenMode>` receives a `gql` prop, since it uses GraphQL, and `<SpecRunnerRunMode>` does not.
Expand Down
8 changes: 4 additions & 4 deletions packages/app/cypress/e2e/create-from-component.cy.ts
Expand Up @@ -28,7 +28,7 @@ function validateCreateFromComponentCard (beforeEachFn: () => void, expectedSpec
it('Lists Vue components in the project', () => {
cy.get('@ComponentCard').click()

cy.findByText('2 Matches').should('be.visible')
cy.findByText('2 matches').should('be.visible')

cy.findByText('App').should('be.visible')
cy.findByText('HelloWorld').should('be.visible')
Expand All @@ -38,11 +38,11 @@ function validateCreateFromComponentCard (beforeEachFn: () => void, expectedSpec
cy.get('@ComponentCard').click()

cy.findByText('*.vue').should('be.visible')
cy.findByText('2 Matches').should('be.visible')
cy.findByText('2 matches').should('be.visible')
cy.findByLabelText('file-name-input').type('HelloWorld')

cy.findByText('HelloWorld').should('be.visible')
cy.findByText('1 of 2 Matches').should('be.visible')
cy.findByText('1 of 2 matches').should('be.visible')
cy.findByText('App').should('not.exist')
})

Expand Down Expand Up @@ -105,7 +105,7 @@ describe('Create from component card', () => {
cy.startAppServer('component')
cy.visitApp()

cy.findByText('New Spec').click()
cy.findByText('New spec').click()
cy.findAllByTestId('card').eq(0).as('ComponentCard')
}, 'src/specs-folder/HelloWorld.cy.js')
})
Expand Down
6 changes: 3 additions & 3 deletions packages/app/cypress/e2e/cypress-in-cypress-component.cy.ts
Expand Up @@ -38,21 +38,21 @@ describe('Cypress In Cypress CT', { viewportWidth: 1500, defaultCommandTimeout:

snapshotAUTPanel('cy.get selector')

cy.findByTestId('playground-num-elements').contains('1 Match')
cy.findByTestId('playground-num-elements').contains('1 match')

cy.window().then((win) => cy.spy(win.console, 'log'))
cy.findByTestId('playground-print').click().window().then((win) => {
expect(win.console.log).to.have.been.calledWith('%cCommand: ', 'font-weight: bold', 'cy.get(\'[data-cy-root]\')')
})

cy.findByLabelText('Selector Methods').click()
cy.findByLabelText('Selector methods').click()
cy.findByRole('menuitem', { name: 'cy.contains' }).click()

cy.findByTestId('playground-selector').clear().type('Component Test')

snapshotAUTPanel('cy.contains selector')

cy.findByTestId('playground-num-elements').contains('1 Match')
cy.findByTestId('playground-num-elements').contains('1 match')
})

it('navigation between specs and other parts of the app works', () => {
Expand Down
8 changes: 4 additions & 4 deletions packages/app/cypress/e2e/cypress-in-cypress-e2e.cy.ts
Expand Up @@ -45,7 +45,7 @@ describe('Cypress In Cypress E2E', { viewportWidth: 1500, defaultCommandTimeout:

snapshotAUTPanel('cy.get selector')

cy.findByTestId('playground-num-elements').contains('3 Matches')
cy.findByTestId('playground-num-elements').contains('3 matches')

// This validates that each matching element is covered by the playground highlighting
cy.get('iframe.aut-iframe').its('0.contentDocument.body').then(cy.wrap).within(() => {
Expand All @@ -59,14 +59,14 @@ describe('Cypress In Cypress E2E', { viewportWidth: 1500, defaultCommandTimeout:
})
})

cy.findByLabelText('Selector Methods').click()
cy.findByLabelText('Selector methods').click()
cy.findByRole('menuitem', { name: 'cy.contains' }).click()

cy.findByTestId('playground-selector').clear().type('Item 1')

snapshotAUTPanel('cy.contains selector')

cy.findByTestId('playground-num-elements').contains('1 Match')
cy.findByTestId('playground-num-elements').contains('1 match')

cy.window().then((win) => cy.spy(win.console, 'log'))
cy.findByTestId('playground-print').click().window().then((win) => {
Expand Down Expand Up @@ -202,7 +202,7 @@ describe('Cypress In Cypress E2E', { viewportWidth: 1500, defaultCommandTimeout:
cy.contains('withFailure.spec').click()
cy.contains('[aria-controls=reporter-inline-specs-list]', 'Specs')
cy.get('body').type('f')
cy.contains('Search Specs')
cy.contains('Search specs')
cy.contains('withWait.spec').click()
cy.waitForSpecToFinish()

Expand Down
2 changes: 1 addition & 1 deletion packages/app/cypress/e2e/cypress-in-cypress.cy.ts
Expand Up @@ -224,7 +224,7 @@ describe('Cypress in Cypress', { viewportWidth: 1500, defaultCommandTimeout: 100
cy.get('body').click()
})

cy.get('[data-cy="playground-num-elements"]').contains('1 Match')
cy.get('[data-cy="playground-num-elements"]').contains('1 match')
})

it(`hides reporter when NO_COMMAND_LOG is set in open mode for ${testingType}`, () => {
Expand Down
12 changes: 6 additions & 6 deletions packages/app/cypress/e2e/runs.cy.ts
Expand Up @@ -81,7 +81,7 @@ describe('App: Runs', { viewportWidth: 1200 }, () => {
})

cy.findByRole('dialog', { name: 'Log in to Cypress' }).within(() => {
cy.contains('button', 'Log In').click()
cy.contains('button', 'Log in').click()
})

cy.withCtx((ctx, o) => {
Expand Down Expand Up @@ -272,10 +272,10 @@ describe('App: Runs', { viewportWidth: 1200 }, () => {
cy.contains('button', 'Log in to the Cypress Dashboard').click()

cy.findByRole('dialog', { name: 'Log in to Cypress' }).as('logInModal').within(() => {
cy.findByRole('button', { name: 'Log In' }).click()
cy.findByRole('button', { name: 'Log in' }).click()
})

cy.findByRole('dialog', { name: 'Login Successful' }).within(() => {
cy.findByRole('dialog', { name: 'Login successful' }).within(() => {
cy.findByRole('button', { name: 'Connect project' }).click()
})

Expand Down Expand Up @@ -443,7 +443,7 @@ describe('App: Runs', { viewportWidth: 1200 }, () => {
cy.findByText(defaultMessages.runs.errors.notFound.button).should('be.visible').click()
cy.get('[aria-modal="true"]').should('exist')
cy.get('[data-cy="selectProject"] button').should('have.text', 'Mock Project')
cy.findByText(defaultMessages.runs.connect.modal.selectProject.connectProject).click()
cy.get('[data-cy="connect-project"]').click()
cy.get('[data-cy="runs"]', { timeout: 7500 })
})
})
Expand Down Expand Up @@ -591,15 +591,15 @@ describe('App: Runs', { viewportWidth: 1200 }, () => {
scaffoldTestingTypeAndVisitRunsPage('component')
cy.contains(defaultMessages.runs.empty.title).should('be.visible')
cy.contains(defaultMessages.runs.empty.description).should('be.visible')
cy.contains('cypress run --component --record --key 2aaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa').should('be.visible')
cy.findByDisplayValue('npx cypress run --component --record --key 2aaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa').should('be.visible')
})

it('displays how to record prompt when connected and no runs in E2E', () => {
scaffoldTestingTypeAndVisitRunsPage('e2e')

cy.contains(defaultMessages.runs.empty.title).should('be.visible')
cy.contains(defaultMessages.runs.empty.description).should('be.visible')
cy.contains('cypress run --record --key 2aaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa').should('be.visible')
cy.findByDisplayValue('npx cypress run --record --key 2aaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa').should('be.visible')
})

it('displays a copy button and copies correct command in Component Testing', () => {
Expand Down

5 comments on commit 0e99559

@cypress-bot
Copy link
Contributor

@cypress-bot cypress-bot bot commented on 0e99559 Oct 17, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Circle has built the linux x64 version of the Test Runner.

Learn more about this pre-release platform-specific build at https://on.cypress.io/installing-cypress#Install-pre-release-version.

Run this command to install the pre-release locally:

npm install https://cdn.cypress.io/beta/npm/10.11.0/linux-x64/retry-flake-0e995595efa1f06a83900405466216170032cdae/cypress.tgz

@cypress-bot
Copy link
Contributor

@cypress-bot cypress-bot bot commented on 0e99559 Oct 17, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Circle has built the linux arm64 version of the Test Runner.

Learn more about this pre-release platform-specific build at https://on.cypress.io/installing-cypress#Install-pre-release-version.

Run this command to install the pre-release locally:

npm install https://cdn.cypress.io/beta/npm/10.11.0/linux-arm64/retry-flake-0e995595efa1f06a83900405466216170032cdae/cypress.tgz

@cypress-bot
Copy link
Contributor

@cypress-bot cypress-bot bot commented on 0e99559 Oct 17, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Circle has built the darwin arm64 version of the Test Runner.

Learn more about this pre-release platform-specific build at https://on.cypress.io/installing-cypress#Install-pre-release-version.

Run this command to install the pre-release locally:

npm install https://cdn.cypress.io/beta/npm/10.11.0/darwin-arm64/retry-flake-0e995595efa1f06a83900405466216170032cdae/cypress.tgz

@cypress-bot
Copy link
Contributor

@cypress-bot cypress-bot bot commented on 0e99559 Oct 17, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Circle has built the darwin x64 version of the Test Runner.

Learn more about this pre-release platform-specific build at https://on.cypress.io/installing-cypress#Install-pre-release-version.

Run this command to install the pre-release locally:

npm install https://cdn.cypress.io/beta/npm/10.11.0/darwin-x64/retry-flake-0e995595efa1f06a83900405466216170032cdae/cypress.tgz

@cypress-bot
Copy link
Contributor

@cypress-bot cypress-bot bot commented on 0e99559 Oct 17, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Circle has built the win32 x64 version of the Test Runner.

Learn more about this pre-release platform-specific build at https://on.cypress.io/installing-cypress#Install-pre-release-version.

Run this command to install the pre-release locally:

npm install https://cdn.cypress.io/beta/npm/10.11.0/win32-x64/retry-flake-0e995595efa1f06a83900405466216170032cdae/cypress.tgz

Please sign in to comment.