Commit Graph

851 Commits

Author SHA1 Message Date
Jennifer Shehane
14e5c216f1 chore: bump system tests yarn project deps to work with Cy 14 (#31301) 2025-03-17 13:01:42 -04:00
Alex Schwartz
9d66bf5c45 dependency: update dependency systeminformation to 5.22.8 (#31281)
* fix: nodejs 22 deprecation when building

* Update CHANGELOG.md

* update other locations (#11)

* Update package.json

* Update package.json

* Update yarn.lock

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update cli/CHANGELOG.md

* Update cli/CHANGELOG.md

---------

Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-03-14 10:46:03 -04:00
Ryan Manuel
0daf7e639f chore: support studio lifecycle in protocol (#31239)
* update url with studio params

* updates

* spec updates

* adding tests

* updating changelog

* skip adding visit log during start

* update url support

* cy origin tests

* fix tests

* updates

* update origin test

* chore: support studio lifecycle in protocol

* merge changes

* fix types

* fix tests

* fix tests

* fix tests

* fix more tests

* fix more tests

* fix more tests

* fix test

* fix bugs

* fix tests

* attempt to fix test

* further fixes

* improve cloud studio enablement

* refactoring

* remove new dom link

* fix last test

* Update packages/app/cypress/e2e/studio/studio.cy.ts

* Update packages/server/lib/project-base.ts

* Update packages/proxy/lib/http/request-middleware.ts

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

* PR comments

* fix build

* fix build

* update

* Update packages/server/lib/project-base.ts

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

* fix unit test

* rework save logic

---------

Co-authored-by: Matthew Schile <mschile@cypress.io>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-03-13 20:30:29 -05:00
Matt Schile
b9103af3fd misc: (studio) add support for url routing (#31205)
* update url with studio params

* updates

* spec updates

* adding tests

* updating changelog

* skip adding visit log during start

* update url support

* cy origin tests

* fix tests

* updates

* update origin test

* add a wait

* update

* pr updates

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-03-10 21:36:18 -06:00
Cacie Prins
bbd7efc0dd refactor: begin to use axios for cloud api requests (#31041)
* patch axios for v8 snapshots

* export httpsAgent and httpAgent discretely

* set up axios interceptors for logging and error response transformation

* use unified error transform fn

* create instance api reqs, timeouts, tests

* move axios middleware to its own dir & refactor

* refactor error handling, enable retries in createInstance

* fix invocation of createInstance - not caught by ts because record.js is js

* retry on 500 - according to system test, this is expected behavior

* resolve snapshots, report retries to stdout

* fix cdp connection usage of shouldRetry due to newly unknown error type

* axios doesnt fully follow RequestOptions shape when adding request to https agent

* note why uri is treated as optional

* hail mary on getting axios to work with v8 snapshots

* update lockfile, force no-rewrite on more axios files

* attempt to fix v8 snapshots

* add verbose debugging to api request logging

* enable verbose api debugging on server unit tests

* fix nock pattern for createInstance

* remove request logging unit test - sinon/mocha does not assert correctly

* fix a few unit tests

* use runAllAsync rather than waiting an arbitrary time for sinon fake timer

* move create_instance spec to ts file, remove redundant test

* rm debug on ci

* clarify comment on change inpackages/network

* correct .uri property on patched RequestOptions to be optional

* rm unused log_requests.ts, DRY error messages

* resolve types with record.ts migration

---------

Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2025-03-10 10:58:09 -04:00
Ryan Manuel
bd4774fb57 chore: pass file preprocesor override to protocol as debug data (#31171)
* chore: set up sharing of react via module federation in studio

* chore: add ability to load types from the studio bundle

* fix build

* fix build

* fix build

* chore: pass file preprocesor override to protocol as debug data

* fix tests

* PR comments

* PR comment

* update types
2025-03-03 12:52:01 -06:00
renovate[bot]
b4c7e40535 dependency: update dependency compression to v1.8.0 (#31151)
* fix(deps): update dependency compression to v1.7.5

* fix(deps): update dependency compression to v1.7.5

* empty commit

* Add changelog entry

* fix(deps): update dependency compression to v1.8.0

* changelog entry

* index on renovate/compression-1.x: bb26918351 changelog entry

* index on renovate/compression-1.x: bb26918351 changelog entry

* index on renovate/compression-1.x: bb26918351 changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2025-02-24 14:01:29 -05:00
Bill Glesias
5da0995531 feat: implement webdriver BiDi for Firefox versions 135 and greater (#30870)
* feat: implement BiDi automation client base (without full extension cutover). [run ci]

* chore: implement suggestions from code review. [run ci]

* update error text to be in line with documentation

* address comments from code review

* address comments from code review

* make bidi, cdp, and both active protocols object enumerations to make the code easier to read

* address additional comments from code review

* fix errors from refactor

* update firefox warning
2025-02-24 13:17:44 -05:00
Ryan Manuel
2dce6d5831 chore: add logic to dynamically load studio functionality (#31033)
* chore: add logic to dynamically load new studio functionality

* fix types

* fix tests

* fix

* fix tests

* fix tests

* additional changes to lock things down

* clean up code

* Update guides/studio-development.md

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

* Update protocol-development.md

* additional headers

* PR comments

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

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

* Update packages/app/vite.config.mjs

* update studio/protocol development guides

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Matt Schile <mschile@cypress.io>
2025-02-14 14:54:15 -06:00
renovate[bot]
d733b86a71 dependency: update dependency @cypress/request to ^3.0.7 (#31063)
* fix(deps): update dependency @cypress/request to ^3.0.7

* empty commit

* add dep to changelog

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-02-11 10:43:10 -05:00
renovate[bot]
bd620453db dependency: update dependency compression to v1.7.5 (#31004)
* fix(deps): update dependency compression to v1.7.5

* fix(deps): update dependency compression to v1.7.5

* empty commit

* Add changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-02-05 13:33:39 -05:00
Cacie Prins
46a473dfaf fix: retry instance creation when the Cloud request fails (#31019)
* fix: retry instance creation when the Cloud request fails

* cleanup defunct branches in circleci workflows.yml

* rm unintentional delta in system test snapshot
2025-02-04 13:31:17 -05:00
Jennifer Shehane
99b449d0a8 dependency: bump mime dependency to 3.0 (#30966)
* dependency: bump mime dep

* changelog entry

* yarn lock update

* add pending to changelog

* index on mime-dep-update: ccff6a976e add pending to changelog

* index on mime-dep-update: ccff6a976e add pending to changelog

* another removal of package

* changelog update

* index on mime-dep-update: ccff6a976e add pending to changelog

* whoops wrong issue

* fix test that was just....wrong

* Revert "fix test that was just....wrong"

This reverts commit 73ed5b0867.

* nvm, application/javascript is obsolete

* app/js to text/js updates

* downgrade to mime 3.0.0

* back to application/javascript

* index on mime-dep-update: 23cbb7783b Merge branch 'mime-dep-update' of https://github.com/cypress-io/cypress into mime-dep-update

* index on mime-dep-update: 23cbb7783b Merge branch 'mime-dep-update' of https://github.com/cypress-io/cypress into mime-dep-update

* index on mime-dep-update: 23cbb7783b Merge branch 'mime-dep-update' of https://github.com/cypress-io/cypress into mime-dep-update

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: AtofStryker <bglesias@gmail.com>
2025-01-30 10:41:12 -05:00
Bill Glesias
cb73102792 chore: test against chrome 132. remove headless=old tests as they are no longer supported in chrome 132. @see https://developer.chrome.com/blog/removing-headless-old-from-chrome (#30976) 2025-01-30 10:34:19 -05:00
Jennifer Shehane
87a845ab00 misc: Update on.cypress.come urls to correct on.cypress.io urls (#30953)
* fix: Update on.cypress.come urls to correct on.cypress.io urls

* Add changelog entry
2025-01-27 13:13:15 -05:00
Jennifer Shehane
92e428a357 chore: add type linting + compilation checks to packages (#30776)
* chore: add type linting + compilation checks to runner package

* empty commit

* A bunch of tslint fixes

* wow it is building

* Fix issue with CT not mounting correctly with comments within it

* Fix net-stubbing.ct.ts failures

* Fix tslint: disable comment

* move target into compilerOptions

* fix tslint disable comment

* update proxy-logging to undo changes

* standardize the tslint:disable comments

* fix comment

* fix the banner content not displaying and write a test for this situation

* fix ct reference

* put target to es2020

* actually set the property with replaced title

* Update packages/reporter/src/hooks/hook-model.ts

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* Fix eslint/tslint settings for system-tests with vue 3

* bump CI cache

* update types/react resolution

* add return

* lint fix

* tslint disable for empty blocks

* exclude dist files from ts linting

* update to exclude all dist folder

* exclude dist file

* change to await

* fix line numbers of stack trace with linting updating vue file

---------

Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2025-01-23 14:55:52 -05:00
Bill Glesias
36a4e5063e chore: attempt to fix vite flake (#30908) 2025-01-22 13:12:48 -05:00
Cacie Prins
0532f92089 chore: Open in IDE button for block and hook definitions in Runner UI (#30859)
* init vitest unit test harness for @packages/driver

* unit tests with stack examples

* drop lines until __cypress/tests rather than just __cypress

* changelog

* changelog

* remove vitest globals (unnecessary) from driver tsconfig

* bump the number of junit reports expected from the unit tests job

* fix ts-check error in scroll.ts

* fix type definition for getInvocationDetails

* rm packageManager key on package.json

* remove junit reporter, as script that verifies result does not recognize it as valid

* change @ts-expect-error to @ts-ignore for .scroll, as this ts check is apparently flaky

* set expected mocha result back to 19

* add ct style stacks for cy in cy ct tests

* re-enable junit reporter, update mocha result verification to be more lenient about the order of xml fields

* persist binaries for this branch

* expect 20 junit reports again

* fix mocha v vitest verification?

* add binary system test to verify correct file paths for codepoints in protocol events

* fix invocation details system test filename

* add required config for binary tests

* build on darwin to fix binary system tests

* build linux-arm64 for this branch

* simplify binary test

* build windows binary

* rm binary system test

* Update cli/CHANGELOG.md
2025-01-14 15:33:33 -05:00
Bill Glesias
249cfde3e2 fix: make sure scrollTo, window, document, title, go, reload, location, hash, and url commands can communicate with the AUT (#30858) 2025-01-13 15:57:32 -05:00
Cacie Prins
6411c4f5bf refactor: clean up experimentalSkipDomainInjection removal (#30826)
* chore: clean up experimentalSkipDomainInjection removal

* rm corepack yarn line

* update snapshots

* rm dead code, update error message
2025-01-07 11:07:01 -05:00
Cacie Prins
0547d65a2a breaking: no longer inject document.domain by default (#30770)
* remove experimentalSkipDomainInjection, add and deprecate injectDocumentDomain

* remove experimentalSkipDomainInjection, add injectDocumentDomain

* begin rethreading domain injection

* complete document domain transition

* move some cookie specs to separate test run

* origin and privileged commands with default docdom inject

* fix privileged channel when injecting document domain

* rm unnecessary .getOrigin abstraction in cors lib

* move remote-states in prep for refactor Replace Conditional with Polymorphism

* refactor remote states to strategy pattern

* cookie commands work as expected w cross origin bridge on different origins

* some origin tests updated

* run tests with document domain enabled

* run tests actually

* use correct config, swap conditional

* check-ts

* inject documetn domain for webkit tests

* do not exec injectDocumetnDomain in parallel

* fix ServerBase construction in tests to include cfg now

* pass cfg to ServerBase

* improved integration tests

* remove document domain checks for all server integration specs - will add injectDocumentDomain cases

* tests for injecting document domain when configured to

* square away server integration tests

* ensure cookies are set correctly, potentially

* errors pkg snapshots

* fix config tests

* fixing config tests

* somewhat improves tests for cors policies in packages/network

* fix ts err in server-base

* enable injectDocumentDomain for cy in cy tests

* fix Policy type ref

* refactor cypress-schematic ct spec to be less prone to timeouts

* run vite-dev-server tests with injectDocumentDomain

* rm document domain assertion from page_loading system test

* add system tests that test with injectDocumentDomain and others that test with cy.origin

* fix results_spec snapshot

* update experimentalSkipDomainInjection system test

* different behavior for certain net_stubbing tests based on injectDocumentDomain or not

* fix ts

* extract origin key logic from remote states, for now

* move server-base and response-middleware over to new pattern

* WIP - reentry

* fix build, remove console.log

* check-ts

* fix spec frame injection

* remove injection for localhost

* mostly fix vite-dev-server app integration tests

* fix codeframe in certain cases in chrome

* drop internal stack frames from stacks intended for determining code frame data

* some improvements to vite ct error codeframes

* fix proxy unit tests to use document domain injection util class

* rm .only

* fix all vite ct error specs

* rm console.log

* slight refactor to util class to make easier to test

* fix refactor - missing rename in files.js

* several tests do not set testingtype in config, so just check against component instead of checking for e2e

* revert changes to getInvocationDetails to see if that breaks tests

* re-enable stack stripping in invocation details for chrome

* new snapshots with more accurate invocation details

* test for same-site cross-origin cookie behavior

* ignore window.top ts errors

* revert forcing injectDocumentDomain in vite-dev-server cy config

* fix normalized whitespace for firefox "loading_failed" error

* always trim trailing wsp from stack before appending additional content

* force normalization of whitespace to three \n when adding additional stack details

* normalize wsp between stack and additional stack to "\n  \n" in firefox

* remove stack_utils attempt at normalizing wsp

* various cleanup: remove commented console logs, add more detailed comments

* add on links to error messages

* remove experimentalSkipDomainInjection from exported type defs

* Update system-tests/test/experimental_skip_domain_injection_spec.ts

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

* Update packages/driver/cypress/e2e/e2e/origin/cookie_misc.cy.ts

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

* no need to coerce a boolean value to a booleanc

* export base config from primary cypress config in driver for use in inject-document-domain test subset

* lift experimentalSkipDomainInjection breaking option to root

* rollback config/options changes

* rm invalid comment

* use hostname instead of origin to create cookie from automation cookie

* clarify stack regex in results_spec

* lint

* take a stab at the changelog entries for this

* Update cli/CHANGELOG.md

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* Update cli/CHANGELOG.md

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* reenable locally-failing test

* changelog

* snapshot updatesfor experimental skip domain injection err msg

* remove packageManager declaration in package.json

---------

Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2025-01-06 13:48:43 -05:00
Ryan Manuel
9b4af564df chore: fix various system test build failures (#30814)
* chore: fix various system test build failures

* rename tests
2025-01-02 15:04:28 -06:00
Jennifer Shehane
ab865a25ae fix merge from dev snapshot 2024-12-23 16:17:32 -05:00
Jennifer Shehane
d656afa302 Merge branch 'develop' into release/14.0.0 2024-12-23 09:53:16 -05:00
Matt Schile
46744bb57b test: fix system test firefox spawn message (#30791) 2024-12-19 13:41:46 -07:00
Matt Schile
0c3c497c1d feat: add support for chrome for testing browser (#30751) 2024-12-16 10:39:06 -07:00
Matt Schile
6531828652 test: fix default size system test (#30759) 2024-12-12 19:16:02 -07:00
Matt Schile
499c361636 test: match newline in Firefox CDP spawn message (#30753) 2024-12-12 07:42:35 -07:00
Jennifer Shehane
2e5af1e624 merge develop 2024-12-11 11:09:56 -05:00
Jennifer Shehane
17639cb364 misc: Remove 'Alternatively you can use CommonJS syntax' comment from scaffolded component supportFile (#30738)
* Remove 'Alternatively you can use CommonJS syntax' comment from scaffolded ct supportFile

* changelog entry
2024-12-11 11:03:52 -05:00
Ryan Manuel
73de0a8d4d fix: error loading config file with node 22.12.0 (#30730) 2024-12-10 19:36:17 -07:00
Jennifer Shehane
f14fd12350 merge develop 2024-12-10 11:00:16 -05:00
Bill Glesias
c6450177e1 chore: remove support for react 19 RC and make Nextjs 15.0.4 the minimum next 15 version supported [run ci] (#30723)
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-12-10 10:49:50 -05:00
Matt Schile
dcd0e92ced fix: update userChrome.css to correctly hide the toolbox in firefox (#30728) 2024-12-10 07:38:09 -07:00
Bill Glesias
22776eba46 breaking: remove support for svelte 4 and support svelte 5 [run ci] (#30700) 2024-12-10 09:21:09 -05:00
Matt Schile
ffefdb0f09 dependency: electron 33 upgrade (#30716) 2024-12-06 15:24:40 -07:00
Bill Glesias
e4904d6e4c Merge branch 'develop' into release/14.0.0 2024-12-05 13:19:55 -05:00
Matt Schile
cdc9fe083d test: normalize Firefox CDP spawn message (#30711) 2024-12-04 11:14:53 -07:00
Bill Glesias
4efd932eac feat: component testing now supports vite 6 [run ci] (#30679) 2024-12-03 15:03:08 -05:00
Matt Schile
dcbbe4a284 misc: remove component testing API stubs that were removed in Cypress 11 (#30696) 2024-12-03 10:44:17 -07:00
Jennifer Shehane
a65e7b546b Merge branch 'develop' into release/14.0.0 2024-12-03 12:05:56 -05:00
Cacie Prins
32c7b72c7c fix: failing Create Instance api call no longer skips spec (#30697)
* do not retry instance creation, report that cannot proceed with failed cloud in serial

* update system tests

* changelog

* changelog

* Update cli/CHANGELOG.md

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

* update error language

* snapshots

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-12-03 09:52:00 -05:00
Bill Glesias
dcdefb4069 feat: support angular 19 and update tests [run ci] (#30675) 2024-12-02 15:29:54 -05:00
Jennifer Shehane
636bed9cf7 merge develop 2024-12-02 09:42:47 -05:00
Bill Glesias
f4aec3ed46 feat: support next 15 [run ci] (#30654) 2024-11-21 16:36:23 -05:00
Bill Glesias
15c5761eb6 breaking: make JustInTimeCompile GA from experimentalJustInTimeCompile and default to true (#30641)
* pull support for JIT from vite since it doesn't have an affect for end users or performance (webpack only) [run ci]

rebase this

* remove the experimentalJIT flag and make it GA (default still false) [run ci]

* enable justInTimeCompile by default [run ci]

* chore: bump cache [run ci]
2024-11-21 15:25:59 -05:00
Bill Glesias
94d360e8ae feat: support react 19 for component testing with cypress/react [run ci] (#30651) 2024-11-21 10:17:03 -05:00
Bill Glesias
0c661b4f35 breaking: remove support for React 16 and 17 for Cypress Component Testing. Additionally, remove the cypress/react18 testing harness and merge it upstream with cypress/react (#30590)
* breaking: remove support for react 16 and 17 for component testing and move cypress/react18 upstream into cypress/react [run ci]

* update tests / suggestions from code review [run ci]
2024-11-15 16:14:48 -05:00
Bill Glesias
53b24b1be2 chore: update system tests to use react 18 and install latest dependencies for applicable system tests. use react18 harness before removal [run ci] (#30614) 2024-11-14 16:12:36 -05:00
Alex Schwartz
82f45c51d6 feat: added ability to specify the default browser in cypress config (#30517) 2024-11-14 12:49:32 -07:00