{"__v":0,"_id":"575ecd6463430e0e008a865a","category":{"__v":60,"_id":"569002f19ebef90d0087289d","pages":["56900352769f210d00132595","5690047121fcf0190071d943","569004924719c119002ce654","569004ceb700ce0d002f4b94","569023e518c3920d00be8b37","569023f748df220d004ca215","5690240af7eb9a0d00f4465d","5690241b48df220d004ca217","5690243e48df220d004ca219","56902453741e9c0d00af2fb5","56902463efcc380d0043a5a1","5690247b18c3920d00be8b39","56902492f7eb9a0d00f4465f","569024a16c49d70d00f18075","569024b2efcc380d0043a5a3","569024cc48df220d004ca21b","569024ea18c3920d00be8b3b","5690258618c3920d00be8b3f","5690259bf7eb9a0d00f44662","569025b06c49d70d00f18077","569029b418c3920d00be8b43","569029d4f7eb9a0d00f44667","569029e8e056c80d00fdec58","569029fb48df220d004ca221","56902a1c18c3920d00be8b46","56902a45f7eb9a0d00f44669","56902a6be056c80d00fdec5a","56902a78f7eb9a0d00f4466b","56902a8848df220d004ca224","56902aa018c3920d00be8b4b","56902ace6c49d70d00f18085","56902ae0741e9c0d00af2fc6","56902aee48df220d004ca226","56902af8f7eb9a0d00f44674","56902b26efcc380d0043a5b1","56902b8148df220d004ca22a","56902ba918c3920d00be8b55","56902bb96c49d70d00f1808b","56902bc818c3920d00be8b57","56902bd518c3920d00be8b59","56902be218c3920d00be8b5b","56902bf66c49d70d00f1808e","56902c05e056c80d00fdec5d","56902c196c49d70d00f18090","56902c2648df220d004ca22d","56902c34f7eb9a0d00f44678","56902c5518c3920d00be8b5d","56902c62741e9c0d00af2fcc","56902cde48df220d004ca230","56902cea741e9c0d00af2fcf","56902d0ae056c80d00fdec60","56902d20efcc380d0043a5b4","56902d3448df220d004ca232","5696c3fbf9203821005fe2fb","5696c3fb9e2d000d00947ab0","5696c3fbf9203821005fe2fa","5697efee8d2a770d00d2fd17","569802611c4dc823005426c7","56a65c82b3ffe00d00156eaf","56f01f88332da41700f24b74"],"project":"568fde81b700ce0d002f4b43","version":"568fde82b700ce0d002f4b46","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-01-08T18:41:53.562Z","from_sync":false,"order":1,"slug":"commands","title":"Commands"},"parentDoc":null,"project":"568fde81b700ce0d002f4b43","user":"568fffce769f210d0013258f","version":{"__v":23,"_id":"568fde82b700ce0d002f4b46","project":"568fde81b700ce0d002f4b43","createdAt":"2016-01-08T16:06:26.373Z","releaseDate":"2016-01-08T16:06:26.373Z","categories":["568fde82b700ce0d002f4b47","568ff0e504440a1700e4cbbd","569002f19ebef90d0087289d","569004f4769f210d00132599","5690056d9ebef90d008728a0","569005d394c5030d0028813a","5690067804440a1700e4cbe2","569137eb3c4f510d00ec9b92","56913815e56a790d008dbfe3","569138ba3c4f510d00ec9b93","5691392f3c4f510d00ec9b94","56913bbe72f2810d007e4cb0","56933b8d6ebadc0d005b71d2","56933b8d6ebadc0d005b71d3","569564facaa32519009c41e6","5696a319b6d61f0d00acfb40","5696a319a857080d0082e8e8","5697efe43503e40d0061f4d1","5697efe48d2a770d00d2fd16","569e9597ffccd10d00a05c59","56a7a1523d33bc2100793d5c","56a7a32ecf6d771700baeee8","56b8b0f7ddeb231700e69825"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"bar","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-06-13T15:12:36.587Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"auth":"required","params":[],"url":""},"isReference":false,"order":48,"body":"Take a screenshot of the Command Log and the test runner (the app being tested). The screenshot will be stored in `cypress/screenshots` by default.\n\nYou can change the directory where screenshots are saved in your [configuration](https://on.cypress.io/guides/configuration#section-folders).\n\n| | |\n|--- | --- |\n| **Returns** | `null` |\n| **Timeout** | `cy.screenshot` will wait up for the duration of [`responseTimeout`](https://on.cypress.io/guides/configuration#section-timeouts) for the automation server to process this command. |\n\n***\n\n# [cy.screenshot()](#section-usage)\n\nTake a screenshot of the screen and save as a `.png` in `cypress/screenshots`. By default the filename will be the title of the test.\n\n***\n\n# [cy.screenshot( *filename* )](#section-filename-usage)\n\nTake a screenshot of the screen and save as a `.png` in `cypress/screenshots`. The filename will be the filename passed in as the argument.\n\n***\n\n# Options\n\nPass in an options object to change the default behavior of `cy.screenshot`.\n\n**cy.screenshot( *options* )**\n**cy.screenshot( *filename*, *options* )**\n\nOption | Default | Notes\n--- | --- | ---\n`log` | `true` | whether to display command in command log\n`timeout` | [`responseTimeout`](https://on.cypress.io/guides/configuration#section-timeouts) | Total time to wait for the automation server to process this command.\n\n***\n\n# Usage\n\n## Take a screenshot\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"// screenshot will be saved at\\n// cypress/sreenshots/takes a screenshot.png\\nit(\\\"takes a screenshot\\\", function(){\\n  // returns null\\n  cy.screenshot()\\n})\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n# Filename Usage\n\n## Take a screenshot and save as specific filename\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"// screenshot will be saved at\\n// cypress/sreenshots/clickingOnNav.png\\ncy.screenshot(\\\"clickingOnNav\\\")\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\n***\n\n# Notes\n\n## Automatic screenshots on test failure\n\nWhen running headlessly or in [Continuous Integration](https://on.cypress.io/guides/continuous-integration), Cypress will automatically take a screenshot when a test fails. You can optionally turn this off by setting `screenshotOnHeadlessFailure` to `false` in your [configuration](https://on.cypress.io/guides/configuration).\n\n***\n\n## Default screenshots folder\n\nBy default, screenshots will be saved in `cypress/screenshots`. You can change the directory where screenshots are saved in your [configuration](https://on.cypress.io/guides/configuration#section-folders).\n\n***\n\n## Screenshots in CI\n\nWhen running in [Circle CI](https://circleci.com/), we will automatically export screenshots as artifacts. This makes them available directly in their web UI. If you're using Circle CI, you'll be able to see screenshots without doing anything.\n\nIf you're using Travis, you'll need to upload artifacts to an s3 bucket as per their [uploading artifacts doc](https://docs.travis-ci.com/user/uploading-artifacts/).\n\n***\n\n## Understanding when a screenshot happens\n\nTaking a screenshot is an asynchronous action which takes around `100ms` to complete. By the time the screenshot is taken it's possible something in your application may have changed. It's important to realize that the screenshot may not reflect 100% of what your application looked like when the command was issued.\n\nFor example - say this command times outs `cy.get(\"#element\")`. This causes your test to fail. We'll then take a screenshot when the test fails but it's possible something in your application changes within the `100ms` timeframe. Hypothetically your app could render the element you were searching for. When this happens the screenshot may provide confusing results. It's unlikely but theoretically possible.\n\n## No Command Log scrolling during screenshots\n\n Currently you may not be able to see the Command Log at the exact test you took the screenshot due to the view not scrolling when the screenshot is taken.\n\n***\n\n# Command Log\n\n## Take a screenshot with a specific filename\n\n[block:code]\n{\n    \"codes\": [\n        {\n            \"code\": \"cy.screenshot(\\\"my-image\\\")\\n\",\n            \"language\": \"javascript\"\n        }\n    ]\n}\n[/block]\n\nThe commands above will display in the command log as:\n\n<img width=\"559\" alt=\"screen shot 2016-06-13 at 10 46 25 am\" src=\"https://cloud.githubusercontent.com/assets/1271364/16012082/ded7af6c-3155-11e6-83cb-b0dcb6f850a7.png\">\n\nWhen clicking on `screenshot` within the command log, the console outputs the following:\n\n<img width=\"667\" alt=\"screen shot 2016-06-13 at 10 46 15 am\" src=\"https://cloud.githubusercontent.com/assets/1271364/16012081/ded22a2e-3155-11e6-8303-0f1ec64e209b.png\">","excerpt":"Take a screenshot","slug":"screenshot","type":"basic","title":"screenshot"}

screenshot

Take a screenshot

Take a screenshot of the Command Log and the test runner (the app being tested). The screenshot will be stored in `cypress/screenshots` by default. You can change the directory where screenshots are saved in your [configuration](https://on.cypress.io/guides/configuration#section-folders). | | | |--- | --- | | **Returns** | `null` | | **Timeout** | `cy.screenshot` will wait up for the duration of [`responseTimeout`](https://on.cypress.io/guides/configuration#section-timeouts) for the automation server to process this command. | *** # [cy.screenshot()](#section-usage) Take a screenshot of the screen and save as a `.png` in `cypress/screenshots`. By default the filename will be the title of the test. *** # [cy.screenshot( *filename* )](#section-filename-usage) Take a screenshot of the screen and save as a `.png` in `cypress/screenshots`. The filename will be the filename passed in as the argument. *** # Options Pass in an options object to change the default behavior of `cy.screenshot`. **cy.screenshot( *options* )** **cy.screenshot( *filename*, *options* )** Option | Default | Notes --- | --- | --- `log` | `true` | whether to display command in command log `timeout` | [`responseTimeout`](https://on.cypress.io/guides/configuration#section-timeouts) | Total time to wait for the automation server to process this command. *** # Usage ## Take a screenshot [block:code] { "codes": [ { "code": "// screenshot will be saved at\n// cypress/sreenshots/takes a screenshot.png\nit(\"takes a screenshot\", function(){\n // returns null\n cy.screenshot()\n})\n", "language": "javascript" } ] } [/block] *** # Filename Usage ## Take a screenshot and save as specific filename [block:code] { "codes": [ { "code": "// screenshot will be saved at\n// cypress/sreenshots/clickingOnNav.png\ncy.screenshot(\"clickingOnNav\")\n", "language": "javascript" } ] } [/block] *** # Notes ## Automatic screenshots on test failure When running headlessly or in [Continuous Integration](https://on.cypress.io/guides/continuous-integration), Cypress will automatically take a screenshot when a test fails. You can optionally turn this off by setting `screenshotOnHeadlessFailure` to `false` in your [configuration](https://on.cypress.io/guides/configuration). *** ## Default screenshots folder By default, screenshots will be saved in `cypress/screenshots`. You can change the directory where screenshots are saved in your [configuration](https://on.cypress.io/guides/configuration#section-folders). *** ## Screenshots in CI When running in [Circle CI](https://circleci.com/), we will automatically export screenshots as artifacts. This makes them available directly in their web UI. If you're using Circle CI, you'll be able to see screenshots without doing anything. If you're using Travis, you'll need to upload artifacts to an s3 bucket as per their [uploading artifacts doc](https://docs.travis-ci.com/user/uploading-artifacts/). *** ## Understanding when a screenshot happens Taking a screenshot is an asynchronous action which takes around `100ms` to complete. By the time the screenshot is taken it's possible something in your application may have changed. It's important to realize that the screenshot may not reflect 100% of what your application looked like when the command was issued. For example - say this command times outs `cy.get("#element")`. This causes your test to fail. We'll then take a screenshot when the test fails but it's possible something in your application changes within the `100ms` timeframe. Hypothetically your app could render the element you were searching for. When this happens the screenshot may provide confusing results. It's unlikely but theoretically possible. ## No Command Log scrolling during screenshots Currently you may not be able to see the Command Log at the exact test you took the screenshot due to the view not scrolling when the screenshot is taken. *** # Command Log ## Take a screenshot with a specific filename [block:code] { "codes": [ { "code": "cy.screenshot(\"my-image\")\n", "language": "javascript" } ] } [/block] The commands above will display in the command log as: <img width="559" alt="screen shot 2016-06-13 at 10 46 25 am" src="https://cloud.githubusercontent.com/assets/1271364/16012082/ded7af6c-3155-11e6-83cb-b0dcb6f850a7.png"> When clicking on `screenshot` within the command log, the console outputs the following: <img width="667" alt="screen shot 2016-06-13 at 10 46 15 am" src="https://cloud.githubusercontent.com/assets/1271364/16012081/ded22a2e-3155-11e6-8303-0f1ec64e209b.png">