mirror of
https://github.com/cypress-io/cypress.git
synced 2026-02-08 08:10:02 -06:00
Co-authored-by: Дмитрий Коваленко <dmitrijkovalenko@Dmitrijs-MacBook-Pro.local> Co-authored-by: Dmitriy Kovalenko <dmtr.kovalenko@outlook.com>
example: visual-testing 
Uses @percy/cypress to run visual tests for a demo of Material UI date pickers from https://material-ui.com/components/pickers/. Every pull request shows the visual diff (if any) and allows us to confirm that styles and layouts have not changed.
Usage
- Make sure the root project has been built .
# in the root of the project
npm install
npm run build
- Run
npm installin this folder to symlink the@cypress/reactdependency.
# in this folder
npm install
- Start Cypress
npm run cy:open
# or just run headless tests
npm test
Notes
The project was set up using Percy documentation (see support and plugins files). The example spec src/DatePicker.cy-spec.js runs cy.percySnapshot after confirming the DOM has updated.
mount(<MaterialUIPickers />)
// confirm the DOM has rendered the widget
cy.get('#date-picker-inline').should('have.value', '08/18/2014')
// then take visual snapshot
cy.percySnapshot('Datepicker initial')
cy.get('button[aria-label="change date"]').click()
// confirm the DOM has rendered the widget
cy.get('.MuiPickersBasePicker-container').should('be.visible')
// then take visual snapshot
cy.percySnapshot('Datepicker opened')
New screenshot
Visual change
If a pull request introduces visual changes, they are caught and shown as a diff
Tip: you can use any visual testing plugin with component testing.

