Commit Graph

5635 Commits

Author SHA1 Message Date
Stokes Player
7f2522f857 feat: show cloud connect options when hoving spec list fields (#23584)
Co-authored-by: Mark Noonan <mark@cypress.io>
2022-08-29 21:10:53 -04:00
Lachlan Miller
72b8a65e78 feat: Cypress Studio for Cypress 10 (#23544)
* chore: wire up Cypress Studio  (#23413)

* wip

* wip

* wip - spike

* more wip [skip ci]

* update style

* fix ts

* move types around

* extract types

* lint

* fixing tests

* fix component test

* skip some tests

* do not error on experimentalStudio flag

* add studio controls placeholder

* fixing tests

* revert

* revert changes

* rename store

* rename method

* remove comment

* refactor

* correctly feature flag studio

* simplify code

* simplify code

* lift check into useEventManager

* correctly hide create studio prompt based on flag;

* remove superfulous css

* rename variables

* fix bugs

* wip

* unskip tests

* unskip more tests

* fix a bug in the assertion API

* fix bug in assertions [skip ci]

* wip - bugs [skip ci]

* feat: add experimentalStudio flag back (#23506)

Co-authored-by: astone123 <adams@cypress.io>

* chore: Add Studio UI to Cypress 10 (#23537)

* wip

* wip

* wip - spike

* more wip [skip ci]

* update style

* fix ts

* move types around

* extract types

* lint

* fixing tests

* fix component test

* skip some tests

* do not error on experimentalStudio flag

* add studio controls placeholder

* fixing tests

* revert

* revert changes

* rename store

* rename method

* remove comment

* refactor

* correctly feature flag studio

* chore: wip add barebones studio modals

* simplify code

* simplify code

* lift check into useEventManager

* correctly hide create studio prompt based on flag;

* remove superfulous css

* chore: style studio toolbar

* chore: misc feedback

* chore: remove studio store prop

* chore: studio URL prompt and other changes

* update component

* chore: UI styling and remove studio init modal

* chore: revert unnecessary changes

* chore: fix types

* chore: fix some tests, minor refactor (#23545)

* fix test

* fix test

* add noHelp link to StandardModal

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

* test: studio e2e tests (#23546)

* add basic e2e test

* add some e2e tests for studio and a note on limitations

* additional spec

* add more tests, refactor helper

* fix bug in studio

* remove test code

* chore: UI feedback

* fix race condition

* update tests

* rename test

* improve types in reporter

* remove dead code

* improve tests

* merge tests into one spec

* chore: Cap instruction modal width; exit studio mode when new spec is chosen

* chore: Only render studio error when test has failed; add test for studioEnabled

* correctly check if command is studio or not

* improve specs and hopefully reduce flake

* communicate studio state from app->reporter

* receive studio save state validity from app

* fix test

* improve test coverage

* fix external link

Co-authored-by: astone123 <adams@cypress.io>
2022-08-30 07:45:06 +10:00
amehta265
6a614c312e fix: Issue 23486 (#23595) 2022-08-29 17:04:13 -04:00
Zach Bloomquist
3c2fea216b chore(server): convert remaining browsers code to typescript (#23556) 2022-08-29 19:47:05 +00:00
Zach Bloomquist
4871ebc333 refactor: move console logging out of run.ts (#23555) 2022-08-29 19:05:58 +00:00
Tyler Biethman
bc9edb4452 fix: filtering with --spec option for projects in Docker container root (#23535)
* fix: updating globbing patterns to work when mounted to the root directory

* Adding unit tests for globby calls

* Updating a few tests. Reordering for cleaner diff.

* Refactoring after develop merge

* Persist binary for validation

* Using arch-specific path sep
2022-08-29 13:38:13 -05:00
Emily Rohrbough
2324d703c2 chore(server): remove redundant supportFile check (#23543)
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
2022-08-29 10:21:58 -05:00
Emily Rohrbough
b08bc270e9 chore: remove dead code -- lives in data-context/src/sources/HtmlDataSource.ts now (#23542) 2022-08-29 12:15:05 +10:00
Zachary Williams
f6eaad40e1 feat: adding svelte component testing support (#23553)
Co-authored-by: Jessica Sachs <jess@jessicasachs.io>
Co-authored-by: Rocky <25568640+rockindahizzy@users.noreply.github.com>
2022-08-26 12:36:05 -05:00
Emily Rohrbough
9ba71c6093 perf(cy.session): keep page state after validation runs (#23503) 2022-08-26 12:22:50 -05:00
Zach Bloomquist
bd0d38f352 chore(server): convert modes/run to typescript (#23536)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2022-08-25 17:20:53 +00:00
Tyler Biethman
2fcecbf43e chore(webkit): driver updates for clicking/typing actions and related tests (#23522)
* detect playwright-webkit browser

* fix: use stdio for CDP instead of TCP (#14348)

* wip: begin launchin webkit

* run mode works w webkit in 10.0

* reset previous cdp changes

* run driver webkit tests

* always detect webkit in non-prod

* fix version detection

* actually run new job

* cleanup

* fix run

* try caching pw binary

* npx install pw binary

* install-deps

* add experimentalSessionAndOrigin wk tests

* wk experimentalSessionAndOrigin tests

* browser icon

* fix some tests

* reset browsers.ts change

* fix more tests

* fix even more tests, skip driver CI for now

* comma

* fix server-unit-test

* fix websockets_spec

* refactor wkautomation to initialize self from static async method

* fix(proxy/prerequests): fix duplicate key behavior, fallthrough

* Apply suggestions from code review

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

* simpler name for StackMap

* fix proxy-logging spec, some xhr specs

* fix last xhr test

* update testConfigOverrides

* skip webcam.cy.js

* reenable driver tests

* ci?

* Suggestions from code review

* skip remaining failures which won't be fixed here

* fix/skip a couple tests

* fix tests

* skip crashy specs

* skip hidden suites

* Scoping down range of skipped type tests

* Scoping down click test skips

* Updating webkit contenteditable selection handling and associated test

* Adding additional mouse event filtering when disabled. Validated by opening playwright-webkit outside of cypress and validating logged events when enabled/disabled.

* Updating click 'mouseout coords' tests to account for default style changes

* Updating a few more click 'mouse state' tests

* Getting all click tests passing with no webkit skips. Fixing _most_ type tests, selection focus is troublesome.

* Updating cross-origin type action test

* Tweaking coords for CI rendering

* Adding workaround for webkit default input selection.

* Webkit -> WebKit

* Adding logic and test for handling capture-phase focus event selections

* Type errors tests now passing

* Adding a couple more WebKit keyboard/mouse tweaks

* Couple more tweaks for special_chars tests.

* Updating contenteditable beforeinput event tests

* Making WebKit checks more consistent

* Don't expose webkit in public types

* Adding comments and doing a little cleanup

* PR updates

* Simplifying workaround for webkit focus selection

* Removing unnecessary test

* Revert "Removing unnecessary test"

This reverts commit 2c522935ec.

* Revert "Simplifying workaround for webkit focus selection"

This reverts commit 47d1155219.

* Removing comment that is no longer applicable

* Simplifying selection logic that is now functional for all supported browsers

Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Blue F <blue@cypress.io>
2022-08-25 09:22:47 -05:00
Zachary Williams
7ddcc96388 chore: update typescript (#23523)
* chore: update typescript

* use String()

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

* use String()

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

* use String()

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

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2022-08-25 09:31:02 +10:00
Emil Goldsmith Olesen
f743a45930 feat: Expose setSystemTime on clock object (#23329)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2022-08-24 14:50:08 -05:00
Kozlov Sergey
f88536b7ad fix: prevent deliver global Nullable type (#23439) 2022-08-24 11:15:51 -05:00
Blue F
7b5e74cd5a chore: fix for regression from last refactor (#23520) 2022-08-24 08:45:01 -07:00
Jaime Pericas
4386cc1714 Merge branch 'develop' into 784-adds-github-retry-number 2022-08-22 21:22:12 -07:00
Blue F
9ba3ed3b5a chore: Refactor assertion logging (#23354)
* chore: Refactor assertion logging

* Remove duplicate snapshot on command failure; Prevent circular json error when inspecting commands

* Fix for 'next' attribute in logs

* Add comments about logging and assertions

* Fix duplicate logs on not.exist assertions

* Move command-merging logic into asserting.ts

* Fix TS error

* Fix race condition with cross-origin tests

* Review updates
2022-08-22 10:56:27 -07:00
Rachel
ab23d7797b chore: skip or fix flaky tests II (#23386)
* fix leftover percy network-idle-timeout

* Skip another instance of 23153

* fix 23147

* Revert fix 23147

* try percy upgrade again

* Update yarn.lock

* skip 23404

* bring in emilys override version change for percy ui

* skip 23406

* skip 23407

* downgrade percy to 1.2.0

* fix percy diff

* fix percy diff

* update comment

* restore lock file

* Update yarn.lock

* Update yarn.lock

* percy fixes

* possible fix

* fix verison flake??

* Revert "fix percy diff"

This reverts commit e4c4e2e990.

* Revert "Revert "fix percy diff""

This reverts commit 94284e4694.

* Remove version assertion

* Trigger Build

* ignore spec duration in percy snapshots

* use .each to preserve order of execution

* add comment

* fix comment

* try new logic for header wait

* Revert "try new logic for header wait"

This reverts commit bfed31edce.

* add timeout to choose a browser

* Trigger Build

* try without promise.all; revert timeout to choose a browser tests

* ignore spec-duration in percy in runner

* clean up .thens

* clean up diffs

* move around .thens

* wait for tooltip to take snapshot, skip flakers

* try hiding spec duration

* Revert: try hiding spec duration

* Bring back duration mock

* Add another duration mock

* try cy.contains with tooltip, comment out removeGlobalStyles

* skip 23417

* skip choose a browser failures

* skip 23419

* skip 23414

* bring back // removeGlobalStyles()

* skip 23422

* skip 23423

* skip 23424

* set version to empty string to make percy happy

* Remove duration mock

* Do not display top-nav-cypress-version-current-link, skip 23433?

* skip 23434, clean up diffs

* clean up diffs, skip percy flake

* skip 23434

* skip 23437

* fix 23156

* fix 23250 and similar

* fix 23157

* skip more percies

* skip 23443

* skip more tooltip snapshots

* Update net_stubbing.cy.ts

* Update cookies.cy.js

* Update e2e_cookies.cy.js

* add missing github issue

* Update circle.yml

* Skip all of network stubbing

* Skip 23158

* Skip 23448

* remove unnecessary async, add skip for 23444

* more skips for 23444

* skip 23451

* More skips 23436

* More skips 23444

* skip 23455

* more skips 23444

* skip 23457

* more skips 23444

* mroe skip 23455

* Trigger Build

* skip set cookie 23444

* skip 21300

* skip 23417

* Trigger Build

* potential fix for 23308

* skip 23472

* skip snapshot

* skip 23474

* Trigger Build

* Trigger Build

* Trigger Build

* Trigger Build

* skip more 23245

* Trigger Build

* Trigger Build

* Trigger Build

* Trigger Build

* Trigger Build

* Trigger Build

* Trigger Build

* skip 23480,23481

* skip 23307

* Trigger Build

* addtl skip 23481

* skip 23484

* try cy.origin stability fix on nav commands issue

* Revert: try cy.origin stability fix on nav commands issue

* skip more 23452

* Trigger Build

* Trigger Build

* Trigger Build

* Trigger Build

* Trigger Build

* Trigger Build

* Trigger Build

* Trigger Build

* skip 23493

* Trigger Build
2022-08-22 10:50:12 -07:00
Ryan Manuel
a9456887e4 fix: app crashing on websocket upgrade request over https (#23449) 2022-08-19 15:18:56 -05:00
Rachel
97551d7920 Revert "skip set cookie 23444"
This reverts commit 98cbac1be7.
2022-08-19 09:10:41 -07:00
Rachel
98cbac1be7 skip set cookie 23444 2022-08-19 09:10:22 -07:00
GitStart
287aeba860 fix: missing fallback generic browser icon in some places (#23031)
Co-authored-by: Mark Noonan <mark@cypress.io>
2022-08-19 10:09:49 -04:00
Jaime Pericas
47d86556bd fix: adds GITHUB_RUN_ATTEMPT counter for tracking retries 2022-08-18 15:34:56 -07:00
Zach Bloomquist
272438977e chore(webkit): fix WebKit network-related driver tests (#23232)
Co-authored-by: Blue F <blue@cypress.io>
2022-08-18 16:43:05 +00:00
Adam Stone
03182625cf feat: Enable create from Vue component for projects with custom spec patterns (#23298) 2022-08-18 11:00:29 -04:00
Kukhyeon Heo
a27affe447 chore: refactor server/lib/config.ts to pkg/config (#22530)
Co-authored-by: Rachel <rachel@cypress.io>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Rachel <Raquel.rudermano@gmail.com>
2022-08-17 10:54:02 -07:00
Bill Glesias
53f0a02858 fix: support snapshots of xhr/fetch and other logs generated from the primary (#21552)
* add special serialization rules for snapshot prefix

* add failing regression tests

* allow for snapshots to delegate to the active spec bridge if applicable

* test against consoleProps URL which is more consistent than log url

* clean up snapshot tests to set interactive mode in the spec bridge when XHR requests are made, as well as used aliases for requests over arbitrary waits

* Update packages/driver/src/cypress/log.ts

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

* Update packages/driver/src/cypress/log.ts

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

* chore: fix trailing space

Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
2022-08-17 11:47:52 -04:00
Mike Plummer
741254803f feat: ACI Notification Banners (#23256) 2022-08-16 17:05:09 -05:00
Bill Glesias
c220f403e0 fix: add locales for experimentalSingleTabRunMode (#23375) 2022-08-16 13:05:55 -04:00
Mike Plummer
d6764487e1 fix: Display full spec file extension in popovers (#23350)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2022-08-16 11:30:46 -05:00
Zachary Williams
e703ab4900 fix: match full spec path and improve search results (#23325)
Co-authored-by: Mark Noonan <mark@cypress.io>
2022-08-16 10:21:41 -05:00
Tyler Biethman
937d4e7f73 fix: ensure absolute directories in glob patterns are leading prior to removal (#23368)
* fix: ensure absolute directories in glob patterns are leading prior to removal

* Removing errant slash
2022-08-16 10:09:59 -05:00
Emily Rohrbough
ae5cbb592d fix: persist registered spec sessions (#23347) 2022-08-16 09:27:28 -05:00
Mark Noonan
7dd4a142dd test: increase a timeout to avoid failing on CI in Windows (#23346)
* get path for platform in test

* run windows workflow

* increase timeout due to windows flake

* update a second timeout

* set timeouts to 12, move to proper command

Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
2022-08-15 22:17:23 -05:00
Lachlan Miller
91beb9012c feat: experimental single tab run mode for component testing (#23104)
* revive logic to run CT in a single tab

* add feature flag: experimentalSingleTabRunMode

* remove log

* reset browser state between tests

* document single tab run mode experiment;

* add system test for experimental run mode

* fix snapshots

* use more simple project for testing

* additional guard;

* fix test

* Apply suggestions from code review

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

* destroy aut after each spec

* update snapshot

* fix types

* add experiment flag error

* add warning when using experimental flag with e2e

* build binaries for experimentalSingleTabRunMode feature

* build binaries take 2

* make error message more open ended

* destroy AUT later in run mode lifecycle

* add additional assertion around experimental flag

* simplify error

* remove test code from production code

Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2022-08-16 10:44:14 +10:00
mirobo
f7dce39876 fix: escape backslashes in downloadFolder for Firefox on Windows #17896 (#23006)
* fix: escape backslashes in downloadFolder for Firefox on Windows

* fix import of doubleEscape in packages/server/lib/browsers/firefox.ts

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

* don't run ls command on Windows

* Revert "don't run ls command on Windows"

This reverts commit deec721b06.

* chore: add unit test to verify double escape behavior

Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Rachel <rachel@cypress.io>
2022-08-15 20:26:54 -04:00
Zach Bloomquist
4580330763 chore: WebKit support (development-only) (#15533) 2022-08-15 22:53:37 +00:00
Mike Plummer
b91e4e3c2d feat: Flake Indicator ACI (#23049) 2022-08-15 11:12:09 -05:00
Rachel
c40a120aa7 chore: skip or fix flaky tests (#23167) 2022-08-15 08:50:34 -07:00
Kukhyeon Heo
0aa89fa5b3 chore: add check-ts command to pkg/driver (#22912)
Co-authored-by: Blue F <blue@everblue.info>
Co-authored-by: Rachel <Raquel.rudermano@gmail.com>
Co-authored-by: Rachel <rachel@cypress.io>
2022-08-15 09:46:24 -05:00
Tyler Biethman
e80e4e8334 fix: remove working directory from --spec glob patterns (#23296)
* fix: remove working directory from glob patterns

* Adding a few specs to FileDataSource

* Cleaning up leaky stubs

* Adding little system test

* Get mac binary too
2022-08-15 16:57:05 +10:00
Mike Plummer
9a6b72dd8b fix: Address windows test failures introduced by gql query changes (#23332)
* fix: Address test failures caused by use of projectId

* Revert "fix: Address test failures caused by use of projectId"

This reverts commit baf868b18c.

* Delay cloud modals gql query until needed

* Pluck projectId from config rather than directly query
2022-08-15 16:25:43 +10:00
rockindahizzy
2899b21642 feat: Auto select project when an organization only has one project (#23266)
* feat: Auto select project when an organization only has one project

* Fix failing e2e test

* Code review changes

* Resolve side effect of adding additional project to gql stub

* Fix issue with selected project not being set

* misc improvements to types

* Revert changes based on product decision

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2022-08-15 13:11:29 +10:00
Mark Noonan
e5e79cf3dc feat(app): show "connect project" after login if project is not connected (#23295)
Co-authored-by: Mike Plummer <mikep@cypress.io>
2022-08-13 14:48:03 -05:00
Emily Rohrbough
f1122fcf62 fix: clear session state when changing specs in open mode (#23146) 2022-08-12 13:00:01 -05:00
Emily Rohrbough
0729a6833b feat: add testIsolation option and support describe-only overrides (#23040)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
2022-08-12 11:56:39 -05:00
Zachary Williams
17f442d592 feat: scaffold react18 projects in component setup (#23251)
* feat: scaffold react18 projects in component setup

* try catch semver.major

* address feedback
2022-08-12 09:19:38 +10:00
Mike Plummer
8a4ec2fc27 fix: Add delay to showing ACI header tooltips (#23259)
* Add delay to showing ACI header tooltips

* Fix tests
2022-08-12 09:12:28 +10:00
Tyler Biethman
6d3b60acce chore: adding granular Firefox browser validation (#23164)
* chore: render FF 101 and 102 as unsupported on Windows

* Updating specs

* Little refactor

* Adding a few more specs

* Moving browsers to launcher

* Adding a few more specs

* Removing exports that no longer exist

* Few more tests

* Apply suggestions from code review for more specific warning message

Co-authored-by: Zach Bloomquist <git@chary.us>

* Update packages/launcher/lib/detect.ts

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

Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2022-08-11 09:51:27 -05:00