test: exclude top 15% of viewport from mobile screenshot tests

- Add viewport clipping to mobile baseline tests to reduce flakiness
- Clip top 15% of viewport for all @mobile screenshot tests
- Affects:
  - mobileBaseline.spec.ts: empty canvas and default workflow tests
  - pan.spec.ts: touch pan test
  - move.spec.ts: touch node move test
- This helps reduce test flakiness from variable mobile UI elements
This commit is contained in:
Johnpaul
2026-01-27 22:50:18 +01:00
parent 4b2804aec1
commit 14d7aecf71
3 changed files with 58 additions and 9 deletions

View File

@@ -1,8 +1,5 @@
import {
type ComfyPage,
comfyExpect as expect,
comfyPageFixture as test
} from '../../../../fixtures/ComfyPage'
import { comfyExpect as expect, comfyPageFixture as test } from '../../../../fixtures/ComfyPage';
import type { ComfyPage } from '../../../../fixtures/ComfyPage';
import type { Position } from '../../../../fixtures/types'
test.describe('Vue Node Moving', () => {
@@ -60,8 +57,20 @@ test.describe('Vue Node Moving', () => {
const newHeaderPos = await getLoadCheckpointHeaderPos(comfyPage)
await expectPosChanged(loadCheckpointHeaderPos, newHeaderPos)
// Get viewport size and clip top 15%
const viewportSize = comfyPage.page.viewportSize()
const clipRegion = viewportSize
? {
x: 0,
y: Math.floor(viewportSize.height * 0.15),
width: viewportSize.width,
height: Math.ceil(viewportSize.height * 0.85)
}
: undefined
await expect(comfyPage.canvas).toHaveScreenshot(
'vue-node-moved-node-touch.png'
'vue-node-moved-node-touch.png',
{ clip: clipRegion }
)
})
})