From e2cb3560ccc7552db7f867664c80bcdb5517c3d8 Mon Sep 17 00:00:00 2001 From: Christian Byrne Date: Thu, 5 Mar 2026 18:27:43 -0800 Subject: [PATCH] test: fix flaky no_workflow.webp screenshot test (#9458) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Fix flaky `no_workflow.webp` screenshot test by waiting for async upload and `/view` response before asserting. ## Changes - **What**: In `loadWorkflowInMedia.spec.ts`, added `waitForUpload: true` for `no_workflow.webp` and a `waitForResponse` call for the `/view` endpoint. This ensures the error toast (from the 500 response) is consistently visible before the screenshot assertion. ## Review Focus The fix is scoped to `no_workflow.webp` only (via a `filesWithUpload` Set) since it's the only test file that triggers an upload + `/view` call. Other media files embed workflows and don't hit this path. Fixes #9450 ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9458-test-fix-flaky-no_workflow-webp-screenshot-test-31b6d73d365081b88deaee91769baec1) by [Unito](https://www.unito.io) --------- Co-authored-by: GitHub Action Co-authored-by: Alexander Brown --- browser_tests/tests/loadWorkflowInMedia.spec.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/browser_tests/tests/loadWorkflowInMedia.spec.ts b/browser_tests/tests/loadWorkflowInMedia.spec.ts index d8940f2cd1..5d52b315d6 100644 --- a/browser_tests/tests/loadWorkflowInMedia.spec.ts +++ b/browser_tests/tests/loadWorkflowInMedia.spec.ts @@ -29,11 +29,23 @@ test.describe( // Currently opens missing nodes dialog which is outside scope of AVIF loading functionality // 'workflow.avif' ] + const filesWithUpload = new Set(['no_workflow.webp']) + fileNames.forEach(async (fileName) => { test(`Load workflow in ${fileName} (drop from filesystem)`, async ({ comfyPage }) => { - await comfyPage.dragDrop.dragAndDropFile(`workflowInMedia/${fileName}`) + const waitForUpload = filesWithUpload.has(fileName) + await comfyPage.dragDrop.dragAndDropFile( + `workflowInMedia/${fileName}`, + { waitForUpload } + ) + if (waitForUpload) { + await comfyPage.page.waitForResponse( + (resp) => resp.url().includes('/view') && resp.status() !== 0, + { timeout: 10000 } + ) + } await expect(comfyPage.canvas).toHaveScreenshot(`${fileName}.png`) }) })