Fix flaky E2E tests: layers panel, zoom-to-fit, snapshot stability
- layers-panel: navigate to /demo so demo layers exist - app-menu zoom-to-fit: zoom in first so zoom-to-fit has something to change - playwright.config: force workers=1 and colorScheme=dark for consistent WebGL/SwiftShader snapshot rendering across runs - Update empty-canvas snapshot for current dark-mode canvas appearance
This commit is contained in:
parent
bd5cdc8eee
commit
7fbe21c8e1
|
|
@ -3,6 +3,7 @@ import { defineConfig } from '@playwright/test'
|
|||
export default defineConfig({
|
||||
testDir: './tests',
|
||||
timeout: 15_000,
|
||||
workers: 1,
|
||||
expect: {
|
||||
toHaveScreenshot: {
|
||||
maxDiffPixelRatio: 0.01,
|
||||
|
|
@ -17,6 +18,7 @@ export default defineConfig({
|
|||
baseURL: 'http://localhost:1420',
|
||||
viewport: { width: 1280, height: 800 },
|
||||
deviceScaleFactor: 2,
|
||||
colorScheme: 'dark',
|
||||
launchOptions: {
|
||||
args: ['--enable-unsafe-swiftshader']
|
||||
}
|
||||
|
|
@ -24,7 +26,8 @@ export default defineConfig({
|
|||
projects: [
|
||||
{
|
||||
name: 'openpencil',
|
||||
testDir: './tests/e2e'
|
||||
testDir: './tests/e2e',
|
||||
fullyParallel: false
|
||||
},
|
||||
{
|
||||
name: 'figma',
|
||||
|
|
|
|||
|
|
@ -120,7 +120,12 @@ test('Duplicate via Edit menu works', async () => {
|
|||
})
|
||||
|
||||
test('Zoom to fit via View menu works', async () => {
|
||||
await page.locator('[role="menubar"] [role="menuitem"]', { hasText: 'View' }).click()
|
||||
await page.locator('[role="menu"] [role="menuitem"]', { hasText: 'Zoom in' }).click()
|
||||
await canvas.waitForRender()
|
||||
|
||||
const zoomBefore = await page.evaluate(() => window.__OPEN_PENCIL_STORE__!.state.zoom)
|
||||
expect(zoomBefore).toBeGreaterThan(1)
|
||||
|
||||
await page.locator('[role="menubar"] [role="menuitem"]', { hasText: 'View' }).click()
|
||||
await page.locator('[role="menu"] [role="menuitem"]', { hasText: 'Zoom to fit' }).click()
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 17 KiB |
|
|
@ -9,7 +9,7 @@ test.describe.configure({ mode: 'serial' })
|
|||
|
||||
test.beforeAll(async ({ browser }) => {
|
||||
page = await browser.newPage()
|
||||
await page.goto('/')
|
||||
await page.goto('/demo')
|
||||
canvas = new CanvasHelper(page)
|
||||
await canvas.waitForInit()
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in a new issue