Commit Graph

16638 Commits

Author SHA1 Message Date
Matt Schile fdaf5fb22f chore: deprecate Cypress.Cookies.preserveOnce and Cypress.Cookies.defaults (#21455) 2022-05-16 08:15:31 -06:00
Kukhyeon Heo 38bd1bb048 chore: improve pkg/driver types (#21197)
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Blue F <blue@cypress.io>
2022-05-13 18:57:12 +00:00
github-actions[bot] 3f534866cf chore: Update Chrome (beta) to 102.0.5005.49 (#21449)
Co-authored-by: cypress-bot[bot] <2f0651858c6e38e0+cypress-bot[bot]@users.noreply.github.com>
2022-05-13 12:13:37 +10:00
Tyler Biethman 8311cf15ff chore(deps): Updating electron to v18 + node v16.13.2 (#21418)
* chore: Updating electron to v18 + node v16.13.2

* Updating origin test, it needs to be fixed a different way

* Removing origin workaround for config_env specs, it should not be necessary.

* Removing now-unused semver dependency
2022-05-12 12:06:30 -05:00
Tyler Biethman 770b96222d test: Updating readFile error test assertions that rely on consistent execution time (#21441) 2022-05-11 15:22:53 -05:00
Kukhyeon Heo 9b11e2ceef fix: remove unnecessary eventemitter2 type definitions from cy, Cypress (#21286)
* fix: remove unnecessary eventemittor2 type definitions from cy, Cypress

* feedback.

* fix trailing whitespace error.

Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Tyler Biethman <tbiethman@users.noreply.github.com>
2022-05-11 11:05:53 -05:00
github-actions[bot] 3eab9d3302 chore: Update Chrome (stable) to 101.0.4951.64 and Chrome (beta) to 102.0.5005.40 (#21306)
Co-authored-by: cypress-bot[bot] <2f0651858c6e38e0+cypress-bot[bot]@users.noreply.github.com>
2022-05-11 09:51:41 -05:00
Emily Rohrbough 599e0c859a fix(sessions): refactor flows, fix grouping bugs and align validation fail text (#21379)
* chore(sessions): break out sessions manager code

* manager manages registered sessions

* some unit tests

* add more tests and some slight clean up

* .

* fix run mode issue.

* bind correctly for spies

* remove types. not sure on the return values.

* fix tests

* check in dump

* add some command tests

* more driver tests and fix session config error

* Fix parsing error argument

* test for failed validation error messges

* wait for diff pr

* update ui tests

* add more ui tests

* align with 10.0 test setup

* clean up

* will add later

* fix

* fix tests

* baseline for session flow tests

* test for logs...lots here....

* update log attrs to be able to collect session logs for tests

* refactor flows, fix grouping bugs and align validation fail text

* update UI test these changes fixed.

* fix test failures observed in run mode

* reduce flake in log updates
2022-05-11 08:11:24 -05:00
Emily Rohrbough d4dfd2fe26 chore(sessions): more driver tests (#21378) 2022-05-10 17:35:14 -05:00
Bill Glesias b66df646a0 chore: rename domain_fn to origin_fn (#21413) 2022-05-09 18:13:39 -04:00
Ryan Manuel 5350a5353c chore: release 9.6.1 (#21404) v9.6.1 2022-05-09 13:01:12 -05:00
Ryan Manuel 37df3cab64 Merge pull request #21395 from cypress-io/ryanm/chore/merge-master 2022-05-09 09:49:05 -05:00
Ryan Manuel 2b429605e9 Merge branch 'develop' into ryanm/chore/merge-master 2022-05-09 09:25:21 -05:00
Ryan Manuel 0d958dc88d fix: ensure that proxy logs are updated after the xhr has actually completed (#21373)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2022-05-09 09:24:54 -05:00
Ryan Manuel d26159ef84 Merge remote-tracking branch 'origin/master' into ryanm/chore/merge-master 2022-05-09 09:10:01 -05:00
Kukhyeon Heo 331e5412f5 chore: Re-organize tests in assertions_spec.js (#21283)
Co-authored-by: Zach Bloomquist <git@chary.us>
2022-05-06 22:22:49 +00:00
Kukhyeon Heo d1436ee56e chore: Distribute tests to desktop-gui containers. Make desktop-gui tests faster! (#21305) 2022-05-06 15:47:19 +00:00
Emily Rohrbough dbbad318aa chore(sessions): add additional tests (#21338) 2022-05-05 18:21:15 -05:00
Sam Kvale aa6f3b8039 fix: Allow submit button to be outside of the form for implicit submission (#21279)
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Zach Bloomquist <git@chary.us>
2022-05-05 13:09:37 -05:00
Zach Bloomquist 05ef83a87e fix(launcher): support Firefox as a snap (#21328) 2022-05-05 16:32:00 +00:00
Emily Rohrbough cb14ae62e7 chore(sessions): break out sessions manager code and add unit tests (#21268)
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2022-05-03 14:01:03 -05:00
semantic-release-bot 09bc8dcb28 chore: release @cypress/vue-v3.1.2
[skip ci]
@cypress/vue-v3.1.2
2022-05-03 12:45:59 -04:00
Guillaume Chau 77ab6a51a0 fix: head content reset, fix #19721 (#21291)
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
2022-05-03 10:58:56 -05:00
Jess a3554773eb Merge pull request #21298 from cypress-io/zachw/merge-develop-into-master 2022-05-03 10:17:40 -04:00
Zach Bloomquist 7a76de10f8 chore: fix circle-env for contributor PRs (#21292) 2022-05-02 17:18:43 +00:00
Chris Breiding a47b45fc83 chore: Add technical overview doc for cross-origin testing (#21241)
* chore: add feature overview for cross-origin testing

* Updates based on feedback

* add more backticks

* Update packages/driver/cross-origin-testing.md

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

* changes from feedback

* expand on config/env sync timing

* add section about internal state

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2022-04-29 10:01:35 -04:00
github-actions[bot] 233cb47b13 chore: Update Chrome (beta) to 102.0.5005.27 (#21258)
Co-authored-by: cypress-bot[bot] <2f0651858c6e38e0+cypress-bot[bot]@users.noreply.github.com>
2022-04-29 08:28:38 -05:00
Zach Bloomquist fe3e2afbea chore: add env var checking to verify-mocha-results (#21211)
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2022-04-29 01:44:15 +00:00
Sam Tsai 51b4bdc2ce fix: do not override existingSession setup (#21226)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2022-04-28 16:56:44 -05:00
Bill Glesias bc01e44338 chore: rename multi-domain to origin paradigm (#21231) 2022-04-28 15:19:40 -04:00
Zach Bloomquist b62599481d chore: clean up root-level scripts (#21215) 2022-04-28 17:49:05 +00:00
Ryan Manuel 7fa946d479 chore: update the release guide to ensure all changes have prs and tweak the order (#21194) 2022-04-28 09:22:09 -05:00
github-actions[bot] 6b3e79d563 chore: Update Chrome (stable) to 101.0.4951.41 (#21222)
Co-authored-by: cypress-bot[bot] <2f0651858c6e38e0+cypress-bot[bot]@users.noreply.github.com>
2022-04-27 10:49:12 -05:00
renovate[bot] f9ad6a820e chore(deps): update dependency @percy/cli to v1.1.0 🌟 (#21219)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
2022-04-27 03:28:15 +00:00
renovate[bot] fbaaeb78b2 chore(deps): update dependency @percy/cypress to ^3.1.1 🌟 (#21217)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
2022-04-27 01:42:52 +00:00
Zach Bloomquist 2709b69e9e chore: cache Percy's Chromium browser at yarn install (#21218) 2022-04-27 01:07:35 +00:00
Bryan Lee 363c1a8a3a chore: replace git.io link with the original URL (#21206) 2022-04-26 21:07:26 +00:00
Blue F 30a9a2796e Merge pull request #20704 from sainthkh/issue-19116
fix: `cy.contains` and `should('contain')` handle backslash correctly.
2022-04-26 11:48:18 -07:00
Tyler Biethman 4972872a25 chore: Updating system test node modules cache logic to support binary tests (#21187)
* Updating state cache key names to limit improper fallback matches. Sorting output for cache key for cross-arch determinism.

* Trying to normalize cache output

* Lost tracking for this change somehow

* Changing key name to invalidate current cache.

* Tweaking install script

* Tweaking install script again

* Another commit to test existing cache

* Resetting keys for PR

* Whoops, this slipped into the last commit

* Missed one key rename somehow

* Update system-tests/scripts/cache-key.sh

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

Co-authored-by: Emily Rohrbough  <emilyrohrbough@users.noreply.github.com>
2022-04-26 12:02:05 -05:00
Matt Henkes 3d7ab6addb Merge pull request #21192 from cypress-io/chore-remove-feature-multi-domain-from-circle-yml
chore: remove feature-multidomain branch from circle.yml
2022-04-25 16:59:28 -05:00
mjhenkes 2338635d02 chore: remove feature-multidomain branch from circle.yml 2022-04-25 16:10:43 -05:00
Ryan Manuel 2d866f387c release 9.6.0 [skip ci] v9.6.0 2022-04-25 12:39:03 -05:00
Matt Henkes 676fc97f46 Merge pull request #18075 from cypress-io/feature-multidomain
feat: Cross Origin Testing Support
2022-04-25 07:54:32 -05:00
Matt Schile f473d29b2c removing migration guide reference 2022-04-22 18:35:44 -06:00
mjhenkes b8ae51edbc Remove reference to migration guide 2022-04-22 19:11:02 -05:00
Matt Henkes d86674636b Update packages/runner-shared/src/event-manager.js
Co-authored-by: Zach Bloomquist <git@chary.us>
2022-04-22 15:27:50 -05:00
Chris Breiding 3e6d6bfe15 chore: Updates based on PR feedback (#21137)
* add generic to cy.origin type

* fix log type, update/add comments

* fix comment indentation

* specific generic

* move RemoteState to internal types

* add on links to experimental flag descriptions

* chore: reduce nesting by flipping condition

* fix test title

* simplify failing log

* rename variable

* delete error property

* fix types

* fix type

* remove unnecessary todo

* update wait test

* jquery -> this

* update comment

* remove vestigial autoRun

* use finally

* re-throw non-security errors

* move back getting index

* add new state types

* remove unnecessary export

* startsWith -> includes

* it -> them

* update system test

* remove use of promise constructor

* Revert "remove use of promise constructor"

This reverts commit 35ccc28b6f.

* log errors from Page.getFrameTree

* test if anything breaks when removing optional chaining operator

* remove vestigial file

* handle queue ending in cross-origin driver

* fix coordinates spec

* improve chrome/firefox check in extension

* improve secure cookie regex

* use production mode for cross-origin driver bundle

* adding remoteStates.getPrimary

* catch and ignore queue errors

* remove optional chaining in postMessage handler

* removed unnecessary async

* update frame tree on cri client reconnect

* fix formatting

* renaming remoteStates variable

* prevent requests from being paused if experimentalSessionAndOrigin flag is off

Co-authored-by: Matt Schile <mschile@cypress.io>
2022-04-22 14:58:02 -05:00
Matt Henkes ebaaf18268 Merge branch 'develop' into feature-multidomain 2022-04-22 09:31:41 -05:00
Bill Glesias a1101e6562 feat: support snapshots and console props within multi-domain (#20949)
* Empty commit to get a new percy nonce

* Implement snapshots and consoleprops within multi origin

further progress with getters

cleaned up log/snapshot serialization

attempt to pass and hydrate value state of serialized dom elements

temp commit traversal dom

by some stretch of a miracle this is working...

still somehow working

after massive performance issues with full tree serialization, fix here is to just attach values to inputs for reifying on primary

now we are cookin

test WIP

tests WIP

working multi-domain actions snapshots tests

added more tests to verify snapshots

add tests and refactor certain tests to make simpler

added misc snapshot tests

add navigation snapshot placeholder

add network request snapshot tests

add shadow querying snapshot tests

update test names

added snapshot querying spec

added screenshot snapshot test

add spies,clocks, and stubs tests

implement snapshot tests for traversal commands

rename local storeage snapshot tests to fit convention

add viewport snapshot tests

rename snapshot traversal to fit naming convention

add snapshot waiting tests

added window snapshot tests

implement navigation snapshot tests now that sinon proxy issues internal to log are now fixed

refactor multi-domain snapshot tests to leverage utility method over redefining in each spec

* fix lint types issues on serializationKeys

* rename switchToDomain to origin (might help with failing tests... ya know?)

* rename snapshot files to fit origin paradigm and fix misname on primaryDomainCommunicator

* fix .tick() snapshot/consoleProps test (figure out the deal with consoleProps sometimes being a function)

* rename multiDomainCommunicator to origin primaryDomainCommunicator

* don't invoke functions with arguments (we need to be more explicit about the functions we are invoking

* opt for my explicit serialization behavior with functions, never attempt to serialize bluebird promises

* move serialization to folder and change name to index

* refactor log serialization to own file, clean up code and add comments to what is going on in this 'here be dragons' code

* make sure to serialize functions for snapshots

* fix pause snapshot test for multi origin

* refactor postprocess snapshot into own method to handle in final state snapshot processing for cross origin

* update snapshot comments to be more accurate

* fix renamings within tests

* fix path in log.ts serialization

* revert about:blank changes in aut-iframe which was breaking session

* move all log/snapshot serialization magic invokations into the communicator

* update typos and fix namings of preprocess and reify

* further name changes

* fix snapshot generator to always reify snapshot (<body>) over attempting to match in the DOM

* unskip test that was fixed with explicit function serialization for logs

* fix flaky screenshot test that was screensize dependent

* rename a few items in the log serialization file

* clean up snapshot style reification to be more straightforward and remove redundancies

* refactor snapshots code to be more readable

* update reifyDomElement docs to actually explain what hte method does

* fix typos within the log serialization file pertaining to comments

* use Cypress._ over lodash import to reduce spec bundle size

* remove snapshots test folder and migrate tests into commands directory with #consoleProps context blocks for each

* change removeSrcAttributeFromAUTIframe name to removeSrcAttribute as it is implied on the AUT

* update log consoleProps comment to better reflect cross origin nature

* remove skipped consoleProps tests that do not have a command log to test against

* add createSnapshot to internal types (might need more specifics on this)

* refactor multi-domain consoleProp tests to use shouldWithTimeout custom command to avoid setTimeouts on command queue event to make test implementation cleaner

* simplify DOM hydration for input based elements

* update preprocessedHTMLElement type

* clean up some documentation and remove TS ignores. added getStyles to internal-types.

* add comment to aut-iframe on src attr removal for posterity

* reverse snapshot ternary for readability

* add shouldWithTimeout into spec-types and refactor out of internal-types

* add getAll type to cypress spec-types

* compare originPolicy of top and AUT instead of just origin to make snapshots work in subdomains

* add comment to _storeOriginalState for future developers and to add clarity

* add some basic log serialization tests that show full pre/reification of log, as well as state hydration for innerHTML. break out object/array methods from log like serialization into own methods

* update variables to metasyntactic

* add renderProps assertion for cy.request

* apply suggestions from code review to clean up log serializer

* make snapshot serialization more generic and typesafe

* work around firefox 93 issues by unsetting the document in cy state as the document is in a cross origin context in the primary, which means accessing any elements will not work

* clean up code and implement suggestions in code review

* remove crossOriginLog in favor of nullish coalescing if visible on the log is not set

* if get is null, return null for whole snapshot

Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
2022-04-22 10:30:40 -04:00
Kukhyeon Heo 0bb655e379 chore: remove command type todos (#20601)
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Rachel <rachel@cypress.io>
Co-authored-by: Tyler Biethman <tbiethman@users.noreply.github.com>
2022-04-22 14:28:13 +00:00