From bd95150f82313515f3c64712bf2ab137604a7444 Mon Sep 17 00:00:00 2001 From: Dante Date: Sun, 22 Feb 2026 11:52:54 +0900 Subject: [PATCH] test: remove unused DebugHelper from browser_tests (#9017) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Remove unused `DebugHelper` class and its import from browser test fixtures Fixes #8581 ## Test plan - [x] Verify browser tests still pass without `DebugHelper` ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9017-test-remove-unused-DebugHelper-from-browser_tests-30d6d73d36508158b8c9fc83670df4f3) by [Unito](https://www.unito.io) --- browser_tests/fixtures/ComfyPage.ts | 3 - browser_tests/fixtures/helpers/DebugHelper.ts | 167 ------------------ 2 files changed, 170 deletions(-) delete mode 100644 browser_tests/fixtures/helpers/DebugHelper.ts diff --git a/browser_tests/fixtures/ComfyPage.ts b/browser_tests/fixtures/ComfyPage.ts index 9bd03386b..c4126c38c 100644 --- a/browser_tests/fixtures/ComfyPage.ts +++ b/browser_tests/fixtures/ComfyPage.ts @@ -26,7 +26,6 @@ import { Topbar } from './components/Topbar' import { CanvasHelper } from './helpers/CanvasHelper' import { ClipboardHelper } from './helpers/ClipboardHelper' import { CommandHelper } from './helpers/CommandHelper' -import { DebugHelper } from './helpers/DebugHelper' import { DragDropHelper } from './helpers/DragDropHelper' import { KeyboardHelper } from './helpers/KeyboardHelper' import { NodeOperationsHelper } from './helpers/NodeOperationsHelper' @@ -174,7 +173,6 @@ export class ComfyPage { public readonly settingDialog: SettingDialog public readonly confirmDialog: ConfirmDialog public readonly vueNodes: VueNodeHelpers - public readonly debug: DebugHelper public readonly subgraph: SubgraphHelper public readonly canvasOps: CanvasHelper public readonly nodeOps: NodeOperationsHelper @@ -219,7 +217,6 @@ export class ComfyPage { this.settingDialog = new SettingDialog(page, this) this.confirmDialog = new ConfirmDialog(page) this.vueNodes = new VueNodeHelpers(page) - this.debug = new DebugHelper(page, this.canvas) this.subgraph = new SubgraphHelper(this) this.canvasOps = new CanvasHelper(page, this.canvas, this.resetViewButton) this.nodeOps = new NodeOperationsHelper(this) diff --git a/browser_tests/fixtures/helpers/DebugHelper.ts b/browser_tests/fixtures/helpers/DebugHelper.ts deleted file mode 100644 index 819a876dd..000000000 --- a/browser_tests/fixtures/helpers/DebugHelper.ts +++ /dev/null @@ -1,167 +0,0 @@ -import type { Locator, Page, TestInfo } from '@playwright/test' - -import type { Position } from '../types' - -export interface DebugScreenshotOptions { - fullPage?: boolean - element?: 'canvas' | 'page' - markers?: Array<{ position: Position; id?: string }> -} - -export class DebugHelper { - constructor( - private page: Page, - private canvas: Locator - ) {} - - async addMarker( - position: Position, - id: string = 'debug-marker' - ): Promise { - await this.page.evaluate( - ([pos, markerId]) => { - const existing = document.getElementById(markerId) - if (existing) existing.remove() - - const marker = document.createElement('div') - marker.id = markerId - marker.style.position = 'fixed' - marker.style.left = `${pos.x - 10}px` - marker.style.top = `${pos.y - 10}px` - marker.style.width = '20px' - marker.style.height = '20px' - marker.style.border = '2px solid red' - marker.style.borderRadius = '50%' - marker.style.backgroundColor = 'rgba(255, 0, 0, 0.3)' - marker.style.pointerEvents = 'none' - marker.style.zIndex = '10000' - document.body.appendChild(marker) - }, - [position, id] as const - ) - } - - async removeMarkers(): Promise { - await this.page.evaluate(() => { - document - .querySelectorAll('[id^="debug-marker"]') - .forEach((el) => el.remove()) - }) - } - - async attachScreenshot( - testInfo: TestInfo, - name: string, - options?: DebugScreenshotOptions - ): Promise { - if (options?.markers) { - for (const marker of options.markers) { - await this.addMarker(marker.position, marker.id) - } - } - - let screenshot: Buffer - const targetElement = options?.element || 'page' - - if (targetElement === 'canvas') { - screenshot = await this.canvas.screenshot() - } else if (options?.fullPage) { - screenshot = await this.page.screenshot({ fullPage: true }) - } else { - screenshot = await this.page.screenshot() - } - - await testInfo.attach(name, { - body: screenshot, - contentType: 'image/png' - }) - - if (options?.markers) { - await this.removeMarkers() - } - } - - async saveCanvasScreenshot(filename: string): Promise { - await this.page.evaluate(async (filename) => { - const canvas = document.getElementById( - 'graph-canvas' - ) as HTMLCanvasElement - if (!canvas) { - throw new Error('Canvas not found') - } - - return new Promise((resolve) => { - canvas.toBlob(async (blob) => { - if (!blob) { - throw new Error('Failed to create blob from canvas') - } - - const url = URL.createObjectURL(blob) - const a = document.createElement('a') - a.href = url - a.download = filename - document.body.appendChild(a) - a.click() - document.body.removeChild(a) - URL.revokeObjectURL(url) - resolve() - }, 'image/png') - }) - }, filename) - } - - async getCanvasDataURL(): Promise { - return await this.page.evaluate(() => { - const canvas = document.getElementById( - 'graph-canvas' - ) as HTMLCanvasElement - if (!canvas) { - throw new Error('Canvas not found') - } - return canvas.toDataURL('image/png') - }) - } - - async showCanvasOverlay(): Promise { - await this.page.evaluate(() => { - const canvas = document.getElementById( - 'graph-canvas' - ) as HTMLCanvasElement - if (!canvas) { - throw new Error('Canvas not found') - } - - const existingOverlay = document.getElementById('debug-canvas-overlay') - if (existingOverlay) { - existingOverlay.remove() - } - - const overlay = document.createElement('div') - overlay.id = 'debug-canvas-overlay' - overlay.style.position = 'fixed' - overlay.style.top = '0' - overlay.style.left = '0' - overlay.style.zIndex = '9999' - overlay.style.backgroundColor = 'white' - overlay.style.padding = '10px' - overlay.style.border = '2px solid red' - - const img = document.createElement('img') - img.src = canvas.toDataURL('image/png') - img.style.maxWidth = '800px' - img.style.maxHeight = '600px' - overlay.appendChild(img) - - document.body.appendChild(overlay) - }) - } - - async hideCanvasOverlay(): Promise { - await this.page.evaluate(() => { - const overlay = document.getElementById('debug-canvas-overlay') - if (overlay) { - overlay.remove() - } - }) - } -}