This document outlines the setup and usage of Playwright for testing the ComfyUI_frontend project.
The browser tests will change the ComfyUI backend state, such as user settings and saved workflows. Please backup your ComfyUI data before running the tests locally.
Clone https://github.com/Comfy-Org/ComfyUI_devtools to your custom_nodes
directory.
ComfyUI_devtools adds additional API endpoints and nodes to ComfyUI for browser testing.
Ensure you have Node.js v20 or later installed. Then, set up the Chromium test driver:
npx playwright install chromium --with-deps
There are two ways to run the tests:
-
Headless mode with report generation:
npx playwright test
This runs all tests without a visible browser and generates a comprehensive test report.
-
UI mode for interactive testing:
npx playwright test --ui
This opens a user interface where you can select specific tests to run and inspect the test execution timeline.
Due to variations in system font rendering, screenshot expectations are platform-specific. Please note:
- We maintain Linux screenshot expectations as our GitHub Action runner operates in a Linux environment.
- To set new test expectations:
- Create a pull request from a
Comfy-Org/ComfyUI_frontend
branch. - Add the
New Browser Test Expectation
tag to your pull request. - This will trigger a GitHub action to update the screenshot expectations automatically.
- Create a pull request from a
Note: If you're making a pull request from a forked repository, the GitHub action won't be able to commit updated screenshot expectations directly to your PR branch.