* cli: downgrade chalk
* add job to test NPM on minimum Node version
* forgot to attach workspace
* try updating npm
* try installing npm 5.0.4
* try npm 5.1.0
* skip npm init, just install Cypress
* try using Yarn
* run additional Cypress commands
* print Cypress version
* print Cypress version
* hmm, try different user
* yarn-lock
* back to npm
* print npm version
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
* Set window size to a better default size when running headless in chrome
* add test for spawning in 720p
Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>
* Adds retry button for project baseUrl warning
* Refactors project retry button
* Refactors to improve testability and adds tests
* Adds back reopenProject method
* Fixes warning message test errors
* Makes requested changes
* improve selectors
* fix dismissing warnings
* rename clear warning to dismiss warning
* refactor / improve
- only add retry button if it's the base url warning
- keep warning around while waiting for retry
- move tests to warning message spec
* disable retry button and show retrying message while retrying base url
Co-authored-by: ngunnarson <56410720+ngunnarson@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
* #6231 use more CI information from GitLab
* issue-6231 fix spec provider tests
* issue-6231 use GitLab CI Repository URL instead of Project URL as remoteOrigin commit param
* clean up server test commands
this mostly restores the pre-yarn behavior:
- passing a file path to a test command runs that file, not all tests
- there is only one test-watch
- there is a "test" command which accepts a pathx
* allow run.js to specify multiple specfiles
* simplify e2e test setup by using globbing
* fix e2e test that has been broken for eternity
* still let users use `test-e2e --spec` syntax
* update server README
- add needed deps in `ui-components` package
- upgrade `@cypress/webpack-preprocessor`
- refactor some eslint code, remove unused eslint scripts
- rename `build-js` scripts to `build-prod` since they'll only need to run when building for prod / checking for tsc errors
* fix: disable log for clearLocalStorage #6342
* fix: default log value
* fix: remove unwanted isnt false and options._log
* test: add test for log: false
* feat: add options fallback to keys param
* feat: add options fallback to keys param
* test: add test for key to be options
* test: fix not string error test
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
* split driver type spec into multiple files
* remove duplicate trimInnerText, remove unused before hook
* remove unused logic from test
* Revert "remove unused logic from test"
This reverts commit 9dd54caeb9.
* remove unused test support code
* ok fine, we leave the newlines code
Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>
* update error message to be more specific about same-origin policy
* Update wording in corresponding tests
* Update link so that it uses correct wording
* Fix wording of erorr message
* Update packages/server/__snapshots__/6_web_security_spec.coffee.js
* Update packages/driver/src/cypress/error_messages.coffee
* Update packages/driver/src/cypress/error_messages.coffee
Co-Authored-By: Zach Bloomquist <github@chary.us>
* Update packages/driver/src/cypress/error_messages.coffee
Co-Authored-By: Zach Bloomquist <github@chary.us>
* Update packages/driver/src/cypress/error_messages.coffee
Co-Authored-By: Zach Bloomquist <github@chary.us>
* Update packages/driver/src/cypress/error_messages.coffee
Co-Authored-By: Zach Bloomquist <github@chary.us>
* Update packages/driver/src/cypress/error_messages.coffee
Co-Authored-By: Zach Bloomquist <github@chary.us>
* update tests to match new copy
* updated error messaging to be more specific about what cross origin means
* missing snapshot updates
* Add specific messaging for each origin scenario
* Update packages/driver/src/cypress/error_messages.coffee
Co-Authored-By: Zach Bloomquist <github@chary.us>
* Update packages/driver/src/cypress/error_messages.coffee
* Update packages/driver/src/cypress/error_messages.coffee
Co-Authored-By: Zach Bloomquist <github@chary.us>
* Update packages/driver/src/cypress/error_messages.coffee
Co-Authored-By: Zach Bloomquist <github@chary.us>
* Update packages/driver/src/cypress/error_messages.coffee
Co-Authored-By: Zach Bloomquist <github@chary.us>
* Update packages/driver/src/cypress/error_messages.coffee
Co-Authored-By: Zach Bloomquist <github@chary.us>
* Update packages/driver/src/cypress/error_messages.coffee
Co-Authored-By: Zach Bloomquist <github@chary.us>
* Update different origin error to use 1 shared error message and list all differences when necessary.
* Update packages/driver/src/cypress/error_messages.coffee
Co-Authored-By: Zach Bloomquist <github@chary.us>
* indent the portions of error that are most important for better readability
* yarn lock
* missed incorrect text in test
Co-authored-by: Zach Bloomquist <github@chary.us>
* check if parentNode is document-fragment and if yes, stop recursion. otherwise .parent() will yield no element because a document-fragment has no parent
* Add a failing spec for Salesforce lightning components
* update code to check that we are defined before continuing in loop
Co-authored-by: Randall Kent <therandallkent@gmail.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
* remove 'electron' as known browser family during validation error.
* fix tests that had unexpected results because fixture has invalid family name set
* whoops, missed updated one family in the spec
* missed another snapshot change
* WIP: add cli info command to list detected browsers
* print found browsers
* change to list
* start work on info command calling into binary
* move info command into binary
* print OS info during cypress info command
* add binary cache path to info command
* add browser profile path
* add memory
* get browser profile path without partition
* pick real browsers as examples
* output same info as desired
* better names
* changed colors
* add list of cached binary versions
* do not put stable into name
* add underlined link
* conditionally show profile path, only if the folder exists
* do not list cached binaries
* human-friendly memory print
* print env proxy vars
* print CYPRESS_ env variables
* use _.sample
* update order
* store cypress info output on CI as HTML page artifact
* add percy CLI screenshots
* sanitize cypress info command
* store CLI snapshots in cli/visual-snapshots folder
* update cli unit snapshot
* add cli unit test
* start e2e testing for cypress info
* add test with proxy and cypress vars
* make sure we call the binary
* stricter start check
* start unit testing modes info
* test info mode browser print
* add test for profile path
* add cypress info command to test binary Circle job
* add cypress info to test-binary-as-specific-user circle
* print cypress info --dev on circle and on appveyor
* update .gitignore
* move error in environment load to debug
* wip: validate mocha test results in a new stage
* clean up lerna run commands
* better logging of parse failures
* update expectedCount, integration test command
* revert package.json
* expect a variable amount of tests in e2e
* account for skipped tests
* static has no test script
* fix comparison
* really skip 4_window_open_spec
* fix expectedResultCount
* Update scripts/verify_mocha_results.js
Co-Authored-By: Zach Bloomquist <github@chary.us>
* assert at least 1 test ran by default, always set skipped
* summarize results at end
* verify more stages
* Revert "verify more stages"
This reverts commit dda1339b28.
Co-authored-by: Gleb Bahmutov <gleb.bahmutov@gmail.com>
* [driver] Fix xhr ballooning callback stack depth.
- Closes https://github.com/cypress-io/cypress/issues/5864
Cypress wraps xhr callbacks with an override. However, in the current code, every time a callback getter is called, we replace the original memoized callback with the wrapper. Every time the getter is called, another wrapper is added, which in extreme cases (e.g. iterating over chunks of a long request body and calling `onreadystatechange` for each chunk) can cause "Maximum call stack size exceeded" errors.
This change resolves the issue by not overwriting the memoized callback in the getter. The setter
* Update xhr_spec.coffee
Co-authored-by: Zach Bloomquist <github@chary.us>
* force websockets transport
* wip: ensure ws connections take place thru a known socket
* clean up yesterday's work
* remove dead code (request is undefined)
* update websocket tests
* add websocket tests
* update socket + server specs
* add token auth for file_server
* Fix cy.visit file_server
* restrict non-proxied URLs, serve error on runner URL non-proxied
* add e2e test for server splash page
* fix types
* use clientRoute, fix tests
* only run 6_non_proxied in electron
* use browser.path
* improve empty options type
* add ws assertions in e2e tests
* fix server_spec
* refactor socket whitelisting logic
* update server_spec
* respond to PR feedback
- added tests for non-clientRoute redirecting to clientRoute when not behind proxy
- cleaned up comments
- cleaned up logic in server.coffee
- moved error html to own file
- added unit test for socket whitelist + fixed removal bug