26 lines
848 B
Markdown
26 lines
848 B
Markdown
# Require screenshots to be preceded by an assertion (`cypress/assertion-before-screenshot`)
|
|
|
|
<!-- end auto-generated rule header -->
|
|
If you take screenshots without assertions then you may get different screenshots depending on timing.
|
|
|
|
For example, if clicking a button makes some network calls and upon success, renders something, then the screenshot may sometimes have the new render and sometimes not.
|
|
|
|
## Rule Details
|
|
|
|
This rule checks there is an assertion making sure your application state is correct before doing a screenshot. This makes sure the result of the screenshot will be consistent.
|
|
|
|
Examples of **incorrect** code for this rule:
|
|
|
|
```js
|
|
cy.visit('myUrl');
|
|
cy.screenshot();
|
|
```
|
|
|
|
Examples of **correct** code for this rule:
|
|
|
|
```js
|
|
cy.visit('myUrl');
|
|
cy.get('[data-test-id="my-element"]').should('be.visible');
|
|
cy.screenshot();
|
|
```
|