* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
* 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
* 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
* 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>
* 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>