Commit Graph

1036 Commits

Author SHA1 Message Date
Matt Schile
d1dc1258ea fix: improve memory management for chromium-based browsers (#25462) 2023-01-18 15:35:57 -07:00
Bill Glesias
d470f59ea2 feat: experimental skip domain injection (#25307)
* feat: set up experimentalUseDefaultDocumentDomain to disallow document.domain overwritting

* use default domain around experimentalUseDefaultDocumentDomain in main iframe and spec bridge iframes. Also adapt CORS policy to use same-origin if experimental flag is set

* run ci

* fix: add insertion of experimental flag where is was needed/missing

* chore: add system test to exercise experimental flag for expected behavior

* fix: fix issues with template updates to conform to squirrelly v7

* fix: update config tests to include new experimental flag

* run ci

* fix: trailing whitespace [run ci]

* chore: update snapshot

* run ci

* fix: update proxy unit tests to account for experimentalUseDefaultDocumentDomain

* run ci

* fix: Allow component tests with special characters in filepath (#25299)

feat: cut over experimental flag to take list of known problematic domains via string/glob pattern

run ci

chore: update system test and fix broken config

* fix: fix server unit and integration tests. integration tests should no longer use google to test against injection as we do not inject document.domain on google domains

* run ci

* run ci

* fix: server integration tests where google documents are expected to receive document.domain injection. Kept test same by changing URL

* run ci

* fix: update server test with mssing unupdated assertions

* run ci

* fix: turn off experimental flag by default while recommending sane defaults to users to configure

* run ci

* chore: fix typings [run ci]

* run ci

* chore: make experiment an e2e option only

* run ci

* chore: address comments in code review

* chore: rename experimentalUseDefaultDocumentDomain to experimentalSkipDomainInjection

* fix regression in shouldInjectionDocumentDomain utility function and add unit tests

* run ci

* chore: rename documentSuperDomainIfExists to superDomain [run ci]

* chore: address comments from code review

* chore: just pass opts through to policyForDomain

* run ci

Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
2023-01-09 10:00:05 -05:00
Wojciech Szućko
acc61d8bd2 feat: add currentRetry to Cypress API (#25297)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@yahoo.com>
2023-01-03 11:41:31 -06:00
Zach Bloomquist
1b1ed9cd49 chore: improve linting (#25235) 2022-12-29 17:26:13 +00:00
Mike Plummer
e34adddbed fix: Add missing filter parameter to nextUntil command (#25167) 2022-12-15 15:29:42 -06:00
Emily Rohrbough
4e82100303 fix: update custom-query on links to match custom-command syntax (#25092) 2022-12-09 15:57:29 -06:00
alex01
c9afe18d31 fix: cleanup files made by the tmp library in cypress.run() (#24957)
* fix: cleanup files made by the tmp library in cypress.run()

* Apply suggestions from code review

* Update cli/lib/cypress.js

Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
2022-12-08 10:31:54 -08:00
Chris Breiding
fc43cecdad feat: Add cy.getAllCookies() and cy.clearAllCookies() (#25012) 2022-12-08 13:12:32 -05:00
Emily Rohrbough
797c8f8d77 chore: update session api types & exposed global helpers (#24980)
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
2022-12-06 08:19:39 -06:00
Emily Rohrbough
afc5e030af feat(12): change testIsolation values from on/off to true/false (#24935)
* feat(12): change testIsolation values from on/off to true/false

* missed

* Update cli/types/cypress.d.ts

Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>

Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
2022-12-02 10:29:21 -06:00
Emily Rohrbough
05530ce531 chore(12): merge develop into release/12.0.0 (#24927)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Mark Noonan <mark@cypress.io>
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
Co-authored-by: Feng Yu <abcfy2@users.noreply.github.com>
2022-12-01 19:33:44 -06:00
Matt Schile
98efdf45b3 feat: Added experimentalOriginDependencies to gate dependencies support within cy.origin (#24931)
* adding experimentalOriginDependencies flag

* update system tests
2022-12-01 15:40:05 -06:00
Emily Rohrbough
9e2754c358 feat(breaking): bump minimum node version (#24885) 2022-11-29 16:41:56 -06:00
Blue F
8ff38cdb01 feat: Create public Cypress.ensure API for use with custom queries (#24697)
* fix: Improve TypeScript support for custom queries

* Typo fix

* Fix TS more

* Move 'ensures' off of cy and onto Cypress

* Type fixes

* One missed replacement

* Test fixes

* Properly pass in  to ensureRunnable

* Add .eslintignores to quiet down warnings

* Review feedback

* Update cli/types/cypress.d.ts

Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>

Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2022-11-29 09:34:34 -06:00
Emily Rohrbough
83f8997532 chore(v12): test isolation GA cleanup (#24736)
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Closes undefined
2022-11-29 08:30:14 -06:00
Chris Breiding
27b0f2186f fix: Use hostname as default domain for cookie commands (#24692)
BREAKING CHANGE: Cookie commands now use the the hostname and not the superdomain for the domain by default. This may affect what cookies are returned/set/cleared by cookie commands.
2022-11-23 09:54:09 -05:00
Emily Rohrbough
5f56670051 chore(12): merge in develop (#24783)
Co-authored-by: Ben M <benm@cypress.io>
Co-authored-by: Dariusz Czajkowski <darek@darek.dev>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Adam Stone <adams@cypress.io>
2022-11-23 07:55:29 -06:00
BlueWinds
286bd9dac1 Merge remote-tracking branch 'origin/develop' into update-release-12 2022-11-22 08:57:02 -08:00
Lachlan Miller
4bbd78e22e feat: Re-introduce Run All specs for End to End under experimentalRunAllSpecs flag (#24745)
* feat: re-enable Run All Specs (#24683)

* fix: disable query in run-mode

* feat: Run-all-specs-ui (#24738)

* wip run-all-specs-ui

* added component tests for specs-list, inline-specs-list, and run-all-specs

* updated tests for specslist, inlinespeclist, and runAllSpecs

* simplify test

* make prop with default value optional

* enable run all specs

* use named slot for clarify

* use Record type

* remove un-necessary dynamic component

* use group and hover to inline css

* fix tests

* fix tests and use snapshot for style testing

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>

* fix typescript

* fix test

* build binary for run all specs

* fix: tweaks for Run All Specs (#24746)

* update ui [skip ci]

* change types to reflect run all specs is e2e only

* chore: separate run all specs components

* fix typescript error

* fix: run-all UI tweaks and keyboard nav (#24757)

Closes undefined

* fix UI test

* move listener and use i18n [skip ci] (#24761)

* fix: run-all-specs duplicate file-matching (#24763)

* chore: limit linting [skip ci]

* do not get separator until app is loaded

* fix test

Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
Co-authored-by: amehta265 <65267668+amehta265@users.noreply.github.com>
2022-11-22 17:28:48 +10:00
Emily Rohrbough
79ea453764 chore(v12): merge develop into release/12.0.0 (#24705)
Co-authored-by: amehta265 <65267668+amehta265@users.noreply.github.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: mattvCypress <mattv@cypress.io>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Jordan <jordan@jpdesigning.com>
Co-authored-by: Adam Stone <adams@cypress.io>
2022-11-18 16:02:31 -06:00
Adam Stone
bf6a52ab3d feat: add cloud recommendation message to CI output (#24680) 2022-11-18 14:43:50 -05:00
Adam Stone
e3435b6fba chore: re-name dashboard references to Cypress Cloud (#24699)
Co-authored-by: mattvCypress <mattv@cypress.io>
Co-authored-by: amehta265 <65267668+amehta265@users.noreply.github.com>
2022-11-17 09:10:50 -05:00
Jordan
ed90b14d4f refactor: move linting to each lib to enable caching (#24424) 2022-11-17 17:31:19 +10:00
Chris Breiding
e4be9697bd Merge branch 'develop' into merge-develop-v12-2022-11-14-take-2 2022-11-14 13:57:38 -05:00
Blue F
9ae911f396 feat: Queries, Detached DOM, and Retry-Ability (#24628)
* feat: Commands.addSelector, and migrate .get() to be a selector

* Fix for failed tests

* Last test fix

* More test fixes

* Self review changes

* Remove the concept of prevSubject from selectors entirely

* Rename addSelector to addQuery

* Quick fix for last commit

* Fix TS

* Fix merge from develop

* Add types and other review updates

* Increase timeout to try fixing flakiness

* Rename addQuery to _addQuery

* Fix typo in previous commit

* Fix TS

* Include AUT assertion in cy.get()

* Fix for previous commit

* Review feedback

* Minor test improvement

* Swifter failure on sizzle syntax error

* Better solution for refetching current subject in verifyUpcomingAssertions

* Command IDs now include their chainerId

* Revert "chore: Revert "feat: _addQuery() (#23665)" (#24022)"

This reverts commit f399994e9f.

* feat: move .contains() and .shadow() to be queries; remove cy.ng() (#23791)

* First stab at removing old .get() implementation

* Fix TS and a couple of tests

* Fix tests and TS

* Fix case-sensitivity for .contains()

* Stop TS complaining

* Rework cy-contains jquery expression

* Add comments, make ts happy

* Fix one test, review feedback

* Review updates

* Fix additional tests

* Fix accidental deletion of vital code

* One more try at getting logs right

* Fix race condition in cross-origin .contains

* Add commented out test to ensure .within() works properly with selectors

* Fix for sessions + query subject chaining

* Fix mixing .within() shadow DOM and .contains() in same chainer

* One more attempt at .within + .contains

* Fix rebase commits

* feat: addQuery Remaining Queries (#24203)

* First stab at removing old .get() implementation

* Fix TS and a couple of tests

* Fix tests and TS

* Fix case-sensitivity for .contains()

* Stop TS complaining

* Rework cy-contains jquery expression

* Add comments, make ts happy

* Fix one test, review feedback

* Review updates

* Fix additional tests

* Fix accidental deletion of vital code

* One more try at getting logs right

* Fix race condition in cross-origin .contains

* Add commented out test to ensure .within() works properly with selectors

* Fix for sessions + query subject chaining

* Fix mixing .within() shadow DOM and .contains() in same chainer

* One more attempt at .within + .contains

* Fix rebase commits

* Update many commands to be queries; improve log message around invalid subjects

* Update connectors, location, focused and window commands to queries

* Return noop to a command and not a query (to avoid implicit assertions)

* More test fixes

* Fix test failures

* Fix for weird-ass frontend-component test

* Error message improvements

* Fix for broken system test

* Update withinSubject to use subject chain

* Test clarifications

* Unbreak cypress-testing-library via withinState backwards compatibility

* Typo in last commit

* Improvement for assertion following failed traversal

* feat: Fix detached DOM errors for all Cypress commands (#24417)

* First stab at removing old .get() implementation

* Fix TS and a couple of tests

* Fix tests and TS

* Fix case-sensitivity for .contains()

* Stop TS complaining

* Rework cy-contains jquery expression

* Add comments, make ts happy

* Fix one test, review feedback

* Review updates

* Fix additional tests

* Fix accidental deletion of vital code

* One more try at getting logs right

* Fix race condition in cross-origin .contains

* Add commented out test to ensure .within() works properly with selectors

* Fix for sessions + query subject chaining

* Fix mixing .within() shadow DOM and .contains() in same chainer

* One more attempt at .within + .contains

* Fix rebase commits

* Update many commands to be queries; improve log message around invalid subjects

* Update connectors, location, focused and window commands to queries

* Return noop to a command and not a query (to avoid implicit assertions)

* More test fixes

* Fix test failures

* Fix for weird-ass frontend-component test

* Error message improvements

* Fix for broken system test

* Update withinSubject to use subject chain

* Test clarifications

* Unbreak cypress-testing-library via withinState backwards compatibility

* Typo in last commit

* Improvement for assertion following failed traversal

* WIP adding query support to

* More work on actionability + detached dom

* Fix TS, rename _addQuery to addQuery

* Another try to fix types

* Fix lint

* Fix for bad merge

* Fixes for a couple more tests

* Increase timeout 50ms -> 100ms on certain tests failing in CI

* Switch to new branch of cypress-testing-library

* Update lockfile

* Fix yarn.lock with latest version of forked testing-library

* More test fixes

* Fix TS again

* Increase test assertion timeout so it passes on slow browsers (webkit)

* Apply suggestions from code review

Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Zach Bloomquist <git@chary.us>

* More review changes

* Fix selectFile tests based on updated error message

* Improve types and type comments for Commands.add

* Undo change to Commands.add types

* Update yarn lockfiles again

* Remove overwriteQuery from Cy12; .focused() now respects passed in timeout

* Update cli/types/cypress.d.ts

Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>

* Restore .uncheck() tests

Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>

* Fix for hanging driver test after merge

* Fix for app component test

Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
2022-11-14 10:26:05 -06:00
Emily Rohrbough
847929e921 fix: Recovered Error Handling and Session Recovered Errors (#24511) 2022-11-10 09:51:33 -06:00
Emily Rohrbough
cff1478393 fix: testIsolation Typescript types (#24603) 2022-11-10 08:11:36 -06:00
Ryan Manuel
8562cba558 feat: add reject unauthorized to api server calls and standardize CA usage (#24493) 2022-11-04 15:27:31 -05:00
Chris Breiding
bf2fc3a848 feat: Add domain option to cookie commands (#24471) 2022-11-04 14:32:59 -04:00
Matt Henkes
2f18a8cbd2 fix: remove cypress.server.defaults, cy.server and cy.route (#24411)
* fix: remove server and route commands

* This won't totally pass but it's a step in the right direction.

* Should be down to only two failing tests due to abort.

* fix the alias.<thing> api for intercept to be equivalent to route.

* adjust timeouts to reduce flake, ideally

* skip xhr abort tests

* More clean up

* Increase timeout

* trick next version

* fix unit tests probably

* yeah sure

* Apply suggestions from code review

Co-authored-by: Blue F <blue@cypress.io>

* remove addXhrLog

* Remove more usage of XHR stemming from proxy-logging

* Remove a couple of files that found their way back with the merge from release/12.0.0

* remove more server types

* increase timeouts again to prevent flake

Co-authored-by: Blue F <blue@cypress.io>
Co-authored-by: Zach Bloomquist <git@chary.us>
2022-11-04 08:24:03 -05:00
Bill Glesias
6055af37b0 Merge branch 'develop' of github.com:cypress-io/cypress into release/12.0.0 2022-11-02 10:27:39 -04:00
Ryan Manuel
b0c0eaa508 feat: introduce v8 snapshots to improve startup performance (#24295)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Tyler Biethman <tbiethman@users.noreply.github.com>
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Mark Noonan <mark@cypress.io>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
Co-authored-by: Ben M <benm@cypress.io>
Co-authored-by: Zachary Williams <zachjw34@gmail.com>
Co-authored-by: astone123 <adams@cypress.io>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@yahoo.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Co-authored-by: Adam Stone <adams@cypress.io>
Co-authored-by: Blue F <blue@cypress.io>
Co-authored-by: GitStart <1501599+gitstart@users.noreply.github.com>
Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
Co-authored-by: Jordan <jordan@jpdesigning.com>
Co-authored-by: Sam Goodger <turbo@tailz.dev>
Co-authored-by: Colum Ferry <cferry09@gmail.com>
Co-authored-by: Stokes Player <stokes@cypress.io>
Co-authored-by: Vilhelm Melkstam <vilhelm.melkstam@gmail.com>
Co-authored-by: amehta265 <65267668+amehta265@users.noreply.github.com>
2022-10-31 20:20:27 -05:00
Emily Rohrbough
928315d23b chore(session): require setup function to use session command (#24312) 2022-10-25 15:16:04 -05:00
Emily Rohrbough
75cce8187c fix(testIsolation): improve the behavior, clarify config options and sync with session command (#24316)
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2022-10-24 18:05:58 -05:00
Matt Schile
69873ae988 chore: remove experimentalSessionAndOrigin flag (#24340)
BREAKING CHANGE: removed experimentalSessionAndOrigin flag. testIsolation defaults to strict
2022-10-24 08:49:13 -06:00
Chris Breiding
1b29ce74aa feat: Enable requiring cy.origin dependencies with require() and import() (#24294) 2022-10-18 16:52:57 -04:00
Matt Schile
2b557d551a chore: throw error for Cookies.defaults/preserveOnce (#24252)
BREAKING CHANGE: removed Cookies.defaults/preserveOnce, use cy.session instead
2022-10-17 19:20:15 -06:00
GitStart
f73aef54b0 fix: clean up inconsistencies in UI between sentence case and title case (#23681)
Co-authored-by: Rachel <Raquel.rudermano@gmail.com>
Co-authored-by: Rachel <rachel@cypress.io>
2022-10-14 12:54:59 -07:00
Adam Stone
485b400810 chore: update Cypress package description (#24216) 2022-10-12 12:04:25 -04:00
Emily Rohrbough
be73359437 Merge branch 'develop' into cache-sessions 2022-09-23 11:12:14 -05:00
Ryan Duffy
acc1050dd2 feat: Add support for optional env key to browser launch options (#23624)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2022-09-22 16:44:58 -05:00
Emily Rohrbough
77c5ebfeb9 Merge branch 'develop' into cache-sessions 2022-09-22 15:05:28 -05:00
Lachlan Miller
4c647f6d5b feat: allow vite/webpack config to be an async function (#23605)
* vite dev server async fn

* test projects

* update types

* simplify setup

* fix tests

* types

* remove junk file

* update comments

* add more tests

* fix system tests
2022-09-22 14:11:04 +10:00
Emily Rohrbough
37ed973118 okay -- fix all the test (hopefully) 2022-09-21 12:07:04 -05:00
Rachel
070b3c9ba5 fix: relativeFile is now relative to repo root (#23833)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
2022-09-20 13:52:24 -07:00
Chris Breiding
c48b80a0df feat: Support dependencies in cy.origin() callback (#23283)
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2022-09-20 14:04:24 -04:00
Emily Rohrbough
9e2c15d23a Merge branch 'develop' into cache-sessions 2022-09-20 08:09:19 -05:00
Emily Rohrbough
8c3a68d80a fix tests 2022-09-20 08:08:44 -05:00
Bill Cheng
8748588f8f fix: update fileContents to contents (#23869) 2022-09-19 16:03:19 -04:00
Emily Rohrbough
13e986dfd5 Merge branch 'develop' into cache-sessions
# Conflicts:
#	packages/app/src/runner/event-manager.ts
#	packages/driver/cypress.config.ts
#	packages/driver/src/cy/commands/sessions/index.ts
#	packages/reporter/src/sessions/sessions.tsx
#	packages/server/lib/project-base.ts
#	packages/server/lib/server-base.ts
#	system-tests/test/session_spec.ts
2022-09-15 11:19:14 -05:00