diff --git a/browser_tests/fixtures/ComfyPage.ts b/browser_tests/fixtures/ComfyPage.ts index 1e93352988e..0c178e64313 100644 --- a/browser_tests/fixtures/ComfyPage.ts +++ b/browser_tests/fixtures/ComfyPage.ts @@ -518,6 +518,16 @@ export const comfyPageFixture = base.extend<{ await comfyPage.setup() + // Hide agent UI in all tests except those explicitly testing the agent. + // The FAB is positioned over the canvas viewport, which would cause + // unrelated screenshot tests to fail. + if (!testInfo.tags.includes('@agent')) { + await page.addStyleTag({ + content: + '[data-testid="agent-fab"],[data-testid="agent-panel"]{display:none!important}' + }) + } + if (isVueNodes) { await comfyPage.vueNodes.waitForNodes() } diff --git a/browser_tests/tests/agentTerminal.spec.ts b/browser_tests/tests/agentTerminal.spec.ts new file mode 100644 index 00000000000..74c811ebdfa --- /dev/null +++ b/browser_tests/tests/agentTerminal.spec.ts @@ -0,0 +1,162 @@ +import { expect } from '@playwright/test' + +import type { ComfyPage } from '@e2e/fixtures/ComfyPage' +import { comfyPageFixture as test } from '@e2e/fixtures/ComfyPage' + +/** + * E2E coverage for the in-browser agent terminal (AgentFab + FoldablePanel). + * + * The panel is now a Vue-native scrollback (no xterm.js), so the tests + * target the plain DOM directly: the input is a `