mirror of
https://github.com/cypress-io/cypress.git
synced 2026-04-20 22:19:46 -05:00
4ec77e3d58
* use Node path from config file to run plugins
* add finding system node
* memoize node find, use fix-path if Node is not found
* find Node asynchronously
* update note on ENFILE
* print node version before executing registered event
* use nodeVersion option, add validator isOneOf
* linting
* remove resolve-dir
* debugging unit test
* resolve original promise to make the tests run correctly
* update second test
* add unit tests
* upgrade snap-shot-it package to be able to update snapshots
* make finding node path part of startup, merge into config
* update tests
* add node version & path to run output
* add node version display to desktop-gui
* add warnings, add tests, add learn more link in desktop-gui
* Revert "add node version & path to run output"
This reverts commit 40a3218175.
* only show Node Version if it is non-default
* Add e2e test for using system node
* cleanup
* add tests that resolvedNodePath and Version are available in tests
* assert nodeVersion == system
* add nodeVersion to schema
* add new configoptions to types
* add fallback if pluginsfile is disabled
* new package.json sorting
* update some of the wording/styling of Node Version panel
* remove ` from schema file
* clean up decaffeinated tests + update wording when no pluginsfile is present
* playing with messaging.
* push updated node version panel design
* update design + copy of Node panel again
* some more iteration on design (WIP)
* Finish design changes + fix tests
* add debug message
* linting problems
* add missed require
* Add comment to refactor the colWidths in this PR after another PR goes
* replace the exact length of Node version in specfiles
* print object for node version and path instead of %s %s
* update snapshot to match v12 length
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
213 lines
8.8 KiB
JSON
213 lines
8.8 KiB
JSON
{
|
||
"title": "JSON schema for the https://cypress.io Test Runner's configuration file. Details at https://on.cypress.io/configuration",
|
||
"$schema": "http://json-schema.org/draft-04/schema#",
|
||
"type": "object",
|
||
"properties": {
|
||
"baseUrl": {
|
||
"type": "string",
|
||
"description": "Url used as prefix for cy.visit() or cy.request() command’s url. Example http://localhost:3030 or https://test.my-domain.com"
|
||
},
|
||
"env": {
|
||
"type": "object",
|
||
"description": "Any values to be set as environment variables. See https://on.cypress.io/environment-variables",
|
||
"body": {}
|
||
},
|
||
"ignoreTestFiles": {
|
||
"type": [
|
||
"string",
|
||
"array"
|
||
],
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"description": "A String or Array of glob patterns used to ignore test files that would otherwise be shown in your list of tests. Cypress uses minimatch with the options: {dot: true, matchBase: true}. We suggest using http://globtester.com to test what files would match."
|
||
},
|
||
"numTestsKeptInMemory": {
|
||
"type": "number",
|
||
"default": 50,
|
||
"description": "The number of tests for which snapshots and command data are kept in memory. Reduce this number if you are experiencing high memory consumption in your browser during a test run."
|
||
},
|
||
"port": {
|
||
"type": "number",
|
||
"default": null,
|
||
"description": "Port used to host Cypress. Normally this is a randomly generated port"
|
||
},
|
||
"reporter": {
|
||
"type": "string",
|
||
"default": "spec",
|
||
"description": "The reporter used when running headlessly or in CI. See https://on.cypress.io/reporters"
|
||
},
|
||
"reporterOptions": {
|
||
"type": "object",
|
||
"default": null,
|
||
"description": "The reporter options used. Supported options depend on the reporter. See https://on.cypress.io/reporters#Reporter-Options"
|
||
},
|
||
"testFiles": {
|
||
"type": "string",
|
||
"default": "**/*.*",
|
||
"description": "A String glob pattern of the test files to load"
|
||
},
|
||
"watchForFileChanges": {
|
||
"type": "boolean",
|
||
"default": true,
|
||
"description": "Whether Cypress will watch and restart tests on test file changes"
|
||
},
|
||
"defaultCommandTimeout": {
|
||
"type": "number",
|
||
"default": 4000,
|
||
"description": "Time, in milliseconds, to wait until most DOM based commands are considered timed out"
|
||
},
|
||
"execTimeout": {
|
||
"type": "number",
|
||
"default": 60000,
|
||
"description": "Time, in milliseconds, to wait for a system command to finish executing during a cy.exec() command"
|
||
},
|
||
"taskTimeout": {
|
||
"type": "number",
|
||
"default": 60000,
|
||
"description": "Time, in milliseconds, to wait for a task to finish executing during a cy.task() command"
|
||
},
|
||
"pageLoadTimeout": {
|
||
"type": "number",
|
||
"default": 60000,
|
||
"description": "Time, in milliseconds, to wait for page transition events or cy.visit(), cy.go(), cy.reload() commands to fire their page load events. Network requests are limited by the underlying operating system, and may still time out if this value is increased."
|
||
},
|
||
"requestTimeout": {
|
||
"type": "number",
|
||
"default": 5000,
|
||
"description": "Time, in milliseconds, to wait for an XHR request to go out in a cy.wait() command"
|
||
},
|
||
"responseTimeout": {
|
||
"type": "number",
|
||
"default": 30000,
|
||
"description": "Time, in milliseconds, to wait until a response in a cy.request(), cy.wait(), cy.fixture(), cy.getCookie(), cy.getCookies(), cy.setCookie(), cy.clearCookie(), cy.clearCookies(), and cy.screenshot() commands"
|
||
},
|
||
"fileServerFolder": {
|
||
"type": "string",
|
||
"default": "root project folder",
|
||
"description": "Path to folder where application files will attempt to be served from"
|
||
},
|
||
"fixturesFolder": {
|
||
"type": [
|
||
"string",
|
||
"boolean"
|
||
],
|
||
"default": "cypress/fixtures",
|
||
"description": "Path to folder containing fixture files (Pass false to disable)"
|
||
},
|
||
"integrationFolder": {
|
||
"type": "string",
|
||
"default": "cypress/integration",
|
||
"description": "Path to folder containing integration test files"
|
||
},
|
||
"pluginsFile": {
|
||
"type": [
|
||
"string",
|
||
"boolean"
|
||
],
|
||
"default": "cypress/plugins/index.js",
|
||
"description": "Path to plugins file. (Pass false to disable)"
|
||
},
|
||
"screenshotsFolder": {
|
||
"type": "string",
|
||
"default": "cypress/screenshots",
|
||
"description": "Path to folder where screenshots will be saved from cy.screenshot() command or after a test fails during cypress run"
|
||
},
|
||
"supportFile": {
|
||
"type": [
|
||
"string",
|
||
"boolean"
|
||
],
|
||
"default": "cypress/support/index.js",
|
||
"description": "Path to file to load before test files load. This file is compiled and bundled. (Pass false to disable)"
|
||
},
|
||
"videosFolder": {
|
||
"type": "string",
|
||
"default": "cypress/videos",
|
||
"description": "Path to folder where videos will be saved during cypress run"
|
||
},
|
||
"trashAssetsBeforeRuns": {
|
||
"type": "boolean",
|
||
"default": true,
|
||
"description": "Whether Cypress will trash assets within the screenshotsFolder and videosFolder before tests run with cypress run"
|
||
},
|
||
"videoCompression": {
|
||
"type": [
|
||
"number",
|
||
"boolean"
|
||
],
|
||
"default": 32,
|
||
"description": "The quality setting for the video compression, in Constant Rate Factor (CRF). The value can be false to disable compression or a value between 0 and 51, where a lower value results in better quality (at the expense of a higher file size)."
|
||
},
|
||
"video": {
|
||
"type": "boolean",
|
||
"default": true,
|
||
"description": "Whether Cypress will capture a video of the tests run with cypress run"
|
||
},
|
||
"videoUploadOnPasses": {
|
||
"type": "boolean",
|
||
"default": true,
|
||
"description": "Whether Cypress will process, compress, and upload videos to the Dashboard even when all tests in a spec file are passing. This only applies when recording your runs to the Dashboard. Turn this off if you’d like to only upload the spec file’s video when there are failing tests."
|
||
},
|
||
"chromeWebSecurity": {
|
||
"type": "boolean",
|
||
"default": true,
|
||
"description": "Whether Chrome Web Security for same-origin policy and insecure mixed content is enabled. Read more about this at https://on.cypress.io/web-security"
|
||
},
|
||
"userAgent": {
|
||
"type": "string",
|
||
"default": null,
|
||
"description": "Enables you to override the default user agent the browser sends in all request headers. User agent values are typically used by servers to help identify the operating system, browser, and browser version. See User-Agent MDN Documentation for example user agent values here: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent"
|
||
},
|
||
"blacklistHosts": {
|
||
"type": [
|
||
"string",
|
||
"array"
|
||
],
|
||
"items": {
|
||
"type": "string"
|
||
},
|
||
"default": null,
|
||
"description": "A String or Array of hosts that you wish to block traffic for. Please read the notes for examples on using this https://on.cypress.io/configuration#blacklistHosts"
|
||
},
|
||
"modifyObstructiveCode": {
|
||
"type": "boolean",
|
||
"default": true,
|
||
"description": "Whether Cypress will search for and replace obstructive JS code found in .js or .html files that prevent Cypress from working. Please read the notes for more information on this setting. https://on.cypress.io/configuration#modifyObstructiveCode"
|
||
},
|
||
"viewportHeight": {
|
||
"type": "number",
|
||
"default": 660,
|
||
"description": "Default height in pixels for the application under tests’ viewport (Override with cy.viewport() command)"
|
||
},
|
||
"viewportWidth": {
|
||
"type": "number",
|
||
"default": 1000,
|
||
"description": "Default width in pixels for the application under tests’ viewport. (Override with cy.viewport() command)"
|
||
},
|
||
"animationDistanceThreshold": {
|
||
"type": "number",
|
||
"default": 5,
|
||
"description": "The distance in pixels an element must exceed over time to be considered animating"
|
||
},
|
||
"waitForAnimations": {
|
||
"type": "boolean",
|
||
"default": true,
|
||
"description": "Whether to wait for elements to finish animating before executing commands"
|
||
},
|
||
"projectId": {
|
||
"type": "string",
|
||
"default": null,
|
||
"description": "A 6 character string use to identify this project in the Cypress Dashboard. See https://on.cypress.io/dashboard-service#Identification"
|
||
},
|
||
"nodeVersion": {
|
||
"enum": [
|
||
"system",
|
||
"bundled"
|
||
],
|
||
"default": "bundled",
|
||
"description": "If set to 'system', Cypress will try to find a Node.js executable on your path to use when executing your plugins. Otherwise, Cypress will use the Node version bundled with Cypress."
|
||
}
|
||
}
|
||
}
|