Commit Graph

6962 Commits

Author SHA1 Message Date
Alejandro Estrada b5e2f7a52a chore: add ui states tests (#31768)
* chore: add ui states tests

* refactor: enhance UI states tests with specific Percy snapshot names

* refactor: streamline UI states tests by using aliases for elements and improving visibility checks

* Trigger run

* Enhance UI states tests by adding new test files for commands, errors, hooks, nested tests, page events, and status codes. Update existing tests to improve structure and visibility checks.

* Refactor UI states tests to include multiple parts for commands and options, enhancing visibility checks and structure. Updated test descriptions for clarity and added new test cases for better coverage.

* Refactor UI states tests by renaming command test files for clarity and adding new tests for enhanced coverage. Introduced a new file for commands to display in UI, and updated existing tests to improve structure and naming conventions.

* Remove outdated UI commands tests to streamline the test suite and improve maintainability. This cleanup focuses on consolidating test cases and enhancing overall structure.

* Add additional command options tests for UI states, enhancing coverage with parts 4, 5, and 6. Updated existing test descriptions for clarity and improved structure in the Cypress test suite.

* Update with code review

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-05-23 14:52:20 -04:00
mabela416 cf2525dbe5 internal: allow studio panel to be draggable (#31747)
* internal: allow studio panel to be draggable

* change width calculation when screen is very small so panel can still be draggable

* add tests and fix panel 4 width when studio panel is not open

* remove unused variable
2025-05-23 10:39:01 -04:00
renovate[bot] 2e0a738678 chore(deps): update dependency chrome-har-capturer to v0.14.2 (#31775)
* chore(deps): update dependency chrome-har-capturer to v0.14.2

* empty commit

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-05-22 16:03:22 -04:00
renovate[bot] 5373dd9ff0 chore(deps): update dependency eol to v0.10.0 (#31774)
* chore(deps): update dependency eol to v0.10.0

* remove eol from server package - it is unused

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-05-22 12:56:20 -04:00
renovate[bot] 21f22ce24d dependency: update dependency @sinonjs/fake-timers to v11 (#31746)
* chore(deps): update dependency @sinonjs/fake-timers to v11

* empty commit

* changelog entry

* fix changelog link

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-05-21 11:38:04 -04:00
Matt Schile 93f708cbf5 test: update cloud studio test to account for full snapshot update (#31744) 2025-05-20 08:34:21 -06:00
renovate[bot] b7cac8fb22 dependency: update dependency @sinonjs/fake-timers to v10 (#31737)
* chore(deps): update dependency @sinonjs/fake-timers to v10

* empty commit

* changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-05-20 09:31:36 -04:00
renovate[bot] 9d4b3db647 dependency: update dependency @sinonjs/fake-timers to v9 (#31725)
* chore(deps): update dependency @sinonjs/fake-timers to v9

* empty commit

* changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-05-19 11:12:07 -04:00
renovate[bot] ff559dfd3a dependency: update dependency webdriver to v9.14.0 (#31689)
* fix(deps): update dependency webdriver to v9.13.0

* empty commit

* changelog entry

* update webdriver to 9.14.0 and update patches

* Update packages/server/patches/@wdio+protocols+9.14.0.patch

Co-authored-by: Matt Schile <mschile@cypress.io>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
2025-05-16 16:59:42 -04:00
Bill Glesias 713575b548 misc: throw error when chrome 137 branded is used when the @cypress/puppeteer is used in headed mode or if --load-extension is added to launch options via a user testing an extension (#31709) 2025-05-16 09:23:23 -04:00
renovate[bot] 91d5a2ee5f chore(deps): update dependency sinon-chai to v3.7.0 (#31716)
* chore(deps): update dependency sinon-chai to v3.7.0

* empty commit

* bump circle cache

* add sinon-chai to base package.json as its used to test base level scripts

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-05-15 11:05:03 -04:00
renovate[bot] b07ea0e988 chore(deps): update dependency devtools-protocol to v0.0.1459876 (#31708)
* chore(deps): update dependency devtools-protocol to v0.0.1459876

* empty commit

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-05-14 11:03:59 -04:00
Tim Griesser 8f8bb60878 fix: Update cy.press signature to be Chainable (#31698)
* Update cy.press signature to be Chainable

Since it's added via `Commands.add`, I believe `cy.press` should have a return type of `Chainable<null>` rather than `void`

* Update first_spec.cy.js

Updated test for chainable

* use addAll rather than add to avoid type check

* fix unit test

* Add cli entry

* update changelog

---------

Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-05-14 09:52:28 -04:00
Bill Glesias 9934910a69 fix: rewrite top.window.location as self.window.location. This is done under modifyObstructiveCode flag (#31688) 2025-05-13 23:58:00 -04:00
Adam Stone-Lord 6d1d2d1336 internal: show loading and error statuses in studio panel, add download timeout (#31633)
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2025-05-13 15:42:50 -04:00
Jennifer Shehane 9b6f150f49 misc: remove recommendation for record false in error message (#31676)
* misc: remove recommendation for record false in error message

* cli entry
2025-05-13 14:48:12 -04:00
Mike McCready b68232c87f fix: find webkit version for playwright-webkit@1.52.0 (#31700)
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-05-13 13:56:12 -04:00
Jennifer Shehane 435422f2c3 misc: Add Cursor IDE to Cypress recognized file editors (#31691)
* add Cursor IDE to Cypress recognized file editors

* show generic icon when there is no icon defined

* add changelog entry
2025-05-13 12:12:20 -04:00
Ryan Manuel e3a7994ba4 internal: (studio) quality of life improvements for the studio lifecycle (#31663)
* internal: (studio) quality of life improvements for the studio lifecycle

* disable studio error reporting for cypress in cypress
2025-05-09 15:44:52 -05:00
Jennifer Shehane 2d7a84d7a7 dependency: update trash dep and convert trash files from JS to TS (#31667)
* dependency: bump trash dir

* update trash files to TypeScript

* Run on binaries + other OSes

* index on update-trash: d37e059ac3 Run on binaries + other OSes

* index on update-trash: d37e059ac3 Run on binaries + other OSes

* index on update-trash: d37e059ac3 Run on binaries + other OSes

* fix build

* changelog entry

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2025-05-09 13:14:43 -04:00
renovate[bot] 6ac467a692 chore(deps): update dependency chai to v3 (#31558)
* chore(deps): update dependency chai to v3

* empty commit

* update some tests to new syntax

* update tests + bump cache

* update system test expect

* update more chai usage

* update more chai usage

* cleanup

* fix some leftover empty functions

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-05-08 13:29:51 -04:00
Jennifer Shehane ed304a024e internal: hide selector playground and studio toolbar when studio beta enabled (#31666)
* hide selector playground and studio toolbar when studio beta enabled

* internal: empty commit

* fix indentation
2025-05-08 12:59:55 -04:00
Adam Stone-Lord c205145419 internal: only capture anonymous studio started analytics when cloud studio is disabled (#31665) 2025-05-08 09:59:00 -04:00
mabela416 2e57751bd5 internal: update data-cy for cloud studio in studio.cy.ts (#31649) 2025-05-06 13:11:42 -04:00
Cacie Prins 1119625a39 fix: no longer hang when piping stdout+stderr to a file under certain conditions (#31631)
* revert cli-table3 to 0.6.1 due to hangs when piping std(err,out) to file

* changelog

* changelog
2025-05-06 10:29:56 -04:00
Jennifer Shehane 53f7aaec56 misc: Assertion dropdown UI update (#31598)
* Refactor existing mounter of assertions - make a CT test for it

* update more styles + add a11y features

* bump vue-icons

* Finish last styles and icons

* Fix logic

* bump shared package icons

* fix test

* update css to be scoped + set all css to initial to clear AUT styles

* add test for getOrCreateHelperDom function

* update tabbing test

* add changelog

* update changelog to include addressed in
2025-05-05 09:03:35 -04:00
Ryan Manuel acaaf304fe chore: (studio) set up infrastructure for cypress in cypress tests for cloud studio (#31621)
* internal: (studio) set up infrastructure for cypress in cypress tests for cloud studio

* remove local code

* fix build

* fix build

* extract cloud env to a constant

* Revert "extract cloud env to a constant"

This reverts commit 8e9c1651ab.
2025-05-05 08:01:51 -05:00
Matt Schile 8254b9452f fix: hang when navigating to about:blank (#31634) 2025-05-02 17:53:24 -06:00
Mike McCready 1b24b2e346 chore(deps): update dependency cypress-example-kitchensink to 4.0.0 (#31620) 2025-05-01 12:20:13 -04:00
Ryan Manuel ad353fcc0f internal: (studio) add network agent to the studio session call (#31617)
* internal: (studio) add network agent to the studio session call

* Update packages/server/lib/cloud/api/studio/post_studio_session.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

---------

Co-authored-by: Matt Schile <mschile@cypress.io>
2025-04-30 21:25:34 -05:00
Ryan Manuel 602ff2aa77 internal: (studio) when errors occur in development, log them and do not throw and do not send to Sentry (#31614)
* chore: (studio) when errors occur in development, log them and do not throw and do not send to Sentry

* Update packages/server/lib/cloud/api/studio/report_studio_error.ts

* chore: (studio) when errors occur in development, log them and do not throw and do not send to Sentry

* chore: (studio) when errors occur in development, log them and do not throw and do not send to Sentry
2025-04-30 13:56:06 -05:00
Ryan Manuel d435ddaac3 internal: rework studio handshake to allow better caching (#31599)
* feat: (studio) Capture telemetry for studio initialization

* fixes

* revert type changes

* add studio lifecycle manager

* fix studio router

* finish lifecycle manager, add test coverage

* fix types

* fix types for real

* fix types actually

* fix lint

* fix routes spec

* fix lint, add try/catch

* remove work to capture telemetry

* didn't mean to remove this part

* fix types

* remove test for other branch

* feedback

* fix test

* encapsulate more logic into studio lifecycle manager

* feedback

* fix tests

* blank

* feedback

* Update packages/app/src/runner/event-manager.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* fix lint

* fix hiding runner ui

* update test

* re-work lifecycle manager implementation to not use EventEmitter

* fix listener registration logic

* ensure that studio still loads even when cloud bundle doesn't

* feedback

* feedback

* use getter for isProtocolEnabled, report studio manager initialization errors, remove references for isStudioProtocolEnabled

* clean up listeners when initialization errors

* Update packages/server/lib/StudioLifecycleManager.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* Update packages/server/lib/StudioLifecycleManager.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* Update packages/server/lib/StudioLifecycleManager.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* feedback

* fix: rework studio handshake to allow better caching

* merge conflict

* slight refactor

* update types

* Update packages/server/lib/cloud/api/studio/post_studio_session.ts

* Apply suggestions from code review

* fix test

* PR comment

---------

Co-authored-by: astone123 <adams@cypress.io>
Co-authored-by: Matt Schile <mschile@cypress.io>
2025-04-30 13:33:02 -05:00
Adam Stone-Lord 2a6e9fbd44 internal: (studio) capture anonymous telemetry for studio initialization (#31555) 2025-04-30 09:18:59 -04:00
Matt Schile 9f86cecdd7 perf: ensure the pausing event listeners are removed (#31596) 2025-04-29 11:29:32 -06:00
Yashodhan e8a7c3f5f8 fix: prevent overwriting of video files (#30673)
* fix: use getPath to prevent video file overwrite

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* chore: update changelog

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* test: add system e2e for the retain videos fix

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* Update cli/CHANGELOG.md

Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>

* Update types for screenshots to be in util/fs

* Fix changelog entry placement

* fix extension type

* more types fixes

* fix: add required field in getPath call to satisfy ts

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* fix: sync Data interface from develop branch

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* fix: update SavedDetails type to better definition

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* update changelog

* break out type import into unique line to allow mksnapshot to work

* fix: minor comment fixes

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* fix: change videoPath fn signature as per comment

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* fix: convert the test to async/await

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* Update CHANGELOG.md

---------

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
Co-authored-by: AtofStryker <bglesias@gmail.com>
2025-04-29 10:01:48 -04:00
Adam Stone-Lord a5ba8c497c internal: (studio) initialize cloud studio asynchronously (#31469)
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Matt Schile <mschile@cypress.io>
2025-04-29 09:37:44 -04:00
Jennifer Shehane edba8e4017 chore: fix selectorplayground ct flaky test (#31595) 2025-04-28 20:36:06 -04:00
Bill Glesias 6c89348514 chore: attempt to reduce windows flake for cy-in-cy tests pertaining to reporter rendering (#31587) 2025-04-25 14:07:57 -04:00
Ryan Manuel 38f980e0c4 internal: (studio) improve error reporting (#31546)
* internal: (studio) improvements to how studio can access the protocol database

* fix

* fix build

* refactor due to downstream changes

* feat: capture errors with studio

* types

* add tests

* fix types

* fix typescript

* strip path

* fix tests
2025-04-23 15:54:30 -05:00
renovate[bot] 9697a8639b chore(deps): update dependency vite to v5.4.18 (#31554)
* chore(deps): update dependency vite to v5.4.18

* empty commit

* bump all projects + lockfiles

* bump specific vite versions

* bump vite-react projects

* fix missing instances of updating the vite projects

* bump circle cache

* fix yarn.lock

* update system-test snapshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-04-23 13:50:08 -04:00
Jennifer Shehane 78f935d7dc misc: update URL bar to not flash white when urlIsLoading (#31557)
* misc: update URL bar to not flash white when urlIsLoading

* update run mode also

* add changelog

* fix changelog
2025-04-23 12:08:57 -04:00
mabela416 2de934cfd4 internal: only display App studio button when studio is not open (#31566)
* check if studio is open

* internal: only display App studio button when studio is not open
2025-04-23 10:22:52 -04:00
Ryan Manuel 0cd12eb642 fix: ensure debugging your ci failures message displays (#31563)
* fix: ensure having trouble debugging your ci failures message displays

* bump cache version

* index on ryanm/fix/having-trouble-debugging-your-ci-failures-minimal: 55804945c1 fix: ensure having trouble debugging your ci failures message displays

* index on ryanm/fix/having-trouble-debugging-your-ci-failures-minimal: 55804945c1 fix: ensure having trouble debugging your ci failures message displays

* index on ryanm/fix/having-trouble-debugging-your-ci-failures-minimal: 55804945c1 fix: ensure having trouble debugging your ci failures message displays

* fix test

* Update tooling/v8-snapshot/package.json

* Delete cli/vue2/README.md

* Delete cli/vue2/package.json

* Update ci_failure_spec_ts.js

* rename

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2025-04-22 12:51:08 -05:00
mabela416 bba3b4bf27 internal: when studio button is clicked, panel should be close (#31519)
* send studio close button to the cloud

* add design system spinner

* add studio button

* add loading panel and studio close button to StudioPanel

* open new test without url studio prompt

* update panel min-width to 340

* reset newTestMode on cancel

* hide studio panel during screenshot

* fix background color during loading

* add e2e tests

* add ct test for loading studio panel

* add studio button ct tests

* fix button styles

* fix ts error

* fix resizable panels test

* remove beforeeach

* use -1100

* fix studio button bg color

* responsive changes for url bar

* update test helper function name and hide studio button when not using studio cloud

* use loadProjectAndRunSpec in launchStudio

* fix ts error and add test for studio button in specRunnerHeaderOpenMode

* Update cypress.config.js

* use existing studio:init:suite event

* fix failing test

* update variable name

* refactor function for studio init suite

* Update packages/app/src/runner/event-manager.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* Update packages/app/src/runner/event-manager.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Matt Schile <mschile@cypress.io>
2025-04-21 16:36:12 -04:00
Bill Glesias b47c3be0dd fix: auto scroll behavior (#31541)
* chore: add React.FC props and display names so components don't show up as anonymous in react dev tools

* fix: make sure newly added <Command> components call the auto scroll handler in the <Test> component

* Update cli/CHANGELOG.md

* Update packages/driver/cypress/support/utils.ts

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-04-18 15:50:56 -04:00
Jennifer Shehane 9f9b665d9c chore: update win.cookie calls to win.document.cookie call in test (#31527) 2025-04-18 12:46:45 -04:00
Ryan Manuel ac3bb18dbc internal: (studio) enable studio to access the protocol database with a new connection (#31502)
* internal: (studio) improvements to how studio can access the protocol database

* fix

* fix build

* refactor due to downstream changes

* Update packages/app/src/studio/studio-app-types.ts

* Update packages/server/lib/cloud/studio.ts
2025-04-17 20:32:29 -05:00
Jennifer Shehane 480d7d9cf7 chore: remove dead code from errors.ts in packages/errors (#31536)
* chore: remove 'not logged in' error - which is dead code

* Remove function getMsgByType which is no longer called in code

* remove errors around 'private test' plans

* Remove snapshots

* update system test snapshot
2025-04-17 18:49:58 -04:00
Jennifer Shehane 191fa02d1b chore: replace mocha.opts with .mocharc.js for packages that are mocha version 6+ (#31518)
* chore: replace mocha.opts with .mocharc.js for packages that are mocha version 6+

* move the mocharc file into the package root

* fix mocha reporter config location

* fix route to reporter-config

* store artifacts for unit tests

* move cli mocharc file to root of package

* remove storing artifacts

* remove js extension from errors mocharc
2025-04-17 10:39:15 -04:00
Cacie Prins a50012b892 perf: reduce the initial timeout for proxy connections, make configurable (#31283)
* use cached preflight response on subsequent cloud requests that require a preflight

* introduce env var to skip initial proxy-api request

* rename env to CYPRESS_INTERNAL prefix

* change noproxy timeout default to 5 seconds

* fix

* rm internal

* changelog

* Update packages/server/test/unit/cloud/api/api_spec.js

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

* Update packages/server/lib/cloud/api/index.ts

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* fix ts

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2025-04-17 10:00:46 -04:00