mit einem Klick
visual-test
// Full visual regression test comparing local Storybook against a production deployment. Use when verifying that a branch introduces no visual, textual, or interaction differences.
// Full visual regression test comparing local Storybook against a production deployment. Use when verifying that a branch introduces no visual, textual, or interaction differences.
| name | visual-test |
| description | Full visual regression test comparing local Storybook against a production deployment. Use when verifying that a branch introduces no visual, textual, or interaction differences. |
| allowed-tools | mcp__playwright__browser_navigate mcp__playwright__browser_snapshot mcp__playwright__browser_take_screenshot mcp__playwright__browser_click mcp__playwright__browser_select_option mcp__playwright__browser_fill_form mcp__playwright__browser_press_key mcp__playwright__browser_hover mcp__playwright__browser_tabs mcp__playwright__browser_close mcp__playwright__browser_console_messages mcp__playwright__browser_wait_for mcp__playwright__browser_resize Bash Read Glob Grep |
Compare the local Storybook running on this branch against the production deployment to verify there are zero visual, textual, or interaction differences.
https://xrutayisire.github.io/react-js-cron/http://localhost:9009rm -rf <project-root>/screenshots && mkdir -p <project-root>/screenshots
All screenshots taken during this test must be saved inside <project-root>/screenshots/.cd <project-root> && yarn storybook &
http://localhost:9009 to respond before proceeding.For every story listed below, perform the full comparison cycle:
screenshots/prod-<story-slug>.png.http://localhost:9009.screenshots/local-<story-slug>.png.Test each of the following stories by navigating to the corresponding Storybook path. Derive the URL from the story name (e.g. Demo maps to ?path=/story/reactjs-cron--demo).
| # | Story | Slug |
|---|---|---|
| 1 | Demo | demo |
| 2 | Dynamic Settings | dynamic-settings |
| 3 | Input | input |
| 4 | Input With On Enter | input-with-on-enter |
| 5 | Read Only Input | read-only-input |
| 6 | Default Value | default-value |
| 7 | Default Period | default-period |
| 8 | Disabled | disabled |
| 9 | Read Only | read-only |
| 10 | Humanize Labels | humanize-labels |
| 11 | Humanize Value | humanize-value |
| 12 | Humanize Labels And Value | humanize-labels-and-value |
| 13 | Leading Zero | leading-zero |
| 14 | Track Error | track-error |
| 15 | Disable Error Style | disable-error-style |
| 16 | No Clear Button | no-clear-button |
| 17 | Clear Button Empty Value | clear-button-empty-value |
| 18 | Invalid Default Value | invalid-default-value |
| 19 | Empty Never Allowed | empty-never-allowed |
| 20 | Empty Always Allowed | empty-always-allowed |
| 21 | Shortcuts | shortcuts |
| 22 | Twelve Hour Clock | twelve-hour-clock |
| 23 | Twenty Four Hour Clock | twenty-four-hour-clock |
| 24 | No Periodicity On Double Click | no-periodicity-on-double-click |
| 25 | Single Selection Mode | single-selection-mode |
| 26 | Single Selection Mode Auto Close | single-selection-mode-auto-close |
| 27 | Restrict Period And Selection | restrict-period-and-selection |
| 28 | Track Selected Period | track-selected-period |
| 29 | French Locale | french-locale |
| 30 | Custom EN Locale | custom-en-locale |
| 31 | No Prefix And Suffix | no-prefix-and-suffix |
| 32 | Dropdowns Config | dropdowns-config |
| 33 | Custom Style | custom-style |
| 34 | Change Theme | change-theme |
After the static visual comparison of all stories, perform the following interaction tests on the Dynamic Settings story. For each interaction, perform the action on both production and local, then compare screenshots and snapshots. Save all interaction screenshots in the screenshots/ folder using the naming pattern screenshots/prod-<interaction-slug>.png and screenshots/local-<interaction-slug>.png.
Test each toggle switch in the Dynamic Settings story. For each toggle:
Toggles to test:
After all checks are complete, provide a summary:
If all checks pass, confirm: "No visual, textual, or interaction regressions detected. The branch is safe to merge."
After the final report is delivered, delete all contents of the screenshots folder:
rm -rf <project-root>/screenshots
This ensures no screenshot artifacts remain in the repository after the test run.