Files
ComfyUI_frontend/browser_tests
Chenlei Hu 272f4315fa Move workflow dropdown to sidebar tab (#893)
* Initial move to sidebar

Remove broken CSS

Move action buttons

Migrate open workflows

Add basic browse

WIP

Add insert support

Remove legacy workflow manager

Remove unused CSS

Reorder

Remove legacy workflow UI

nit

* Support bookmark

Add workflow bookmark store

nit

Add back bookmark functionality

Correctly load bookmarks

nit

Fix many other issues

Fix this binding

style divider

* Extract tree leaf component

* Hide bookmark section when no bookmarks

* nit

* Fix save

* Add workflows searchbox

* Add search support

* Show total opened

* Add basic test

* Add more tests

* Fix redo/undo test

* Temporarily disable browser tab title test
2024-09-22 17:48:56 +09:00
..
2024-09-22 17:45:54 +09:00
2024-09-22 17:45:54 +09:00
2024-09-22 17:45:54 +09:00
2024-09-21 10:49:29 +09:00

Playwright Testing for ComfyUI_frontend

This document outlines the setup and usage of Playwright for testing the ComfyUI_frontend project.

WARNING

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.

Setup

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

Running Tests

There are two ways to run the tests:

  1. Headless mode with report generation:

    npx playwright test
    

    This runs all tests without a visible browser and generates a comprehensive test report.

  2. 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.

    Playwright UI Mode

Screenshot Expectations

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:
    1. Create a pull request from a Comfy-Org/ComfyUI_frontend branch.
    2. Add the New Browser Test Expectation tag to your pull request.
    3. This will trigger a GitHub action to update the screenshot expectations automatically.

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.