@@ -47,58 +47,25 @@ export async function waitForPageReady(
4747) : Promise < void > {
4848 const {
4949 timeout = WAIT_TIMEOUTS . TEST_READY ,
50- selector = 'main, [role="main"]' ,
50+ selector = 'main, [data-testid="dashboard"], [ role="main"]' ,
5151 } = options
5252
53- << < < < << HEAD
54- // Wait for fonts to be loaded
53+ // Wait for fonts
5554 await waitForFontsLoaded ( page )
5655
57- // Wait for a known stable element
58- await page
59- . waitForSelector ( selector , {
60- state : 'visible' ,
61- timeout,
62- } )
63- . catch ( ( ) => {
64- console . warn (
65- `No main element found (selector: "${ selector } "), continuing anyway`
66- )
67- } )
68-
69- // Wait for skeletons to disappear (dynamic content loading)
70- // This ensures Spotify/Doc viewers are loaded before snapshot
71- await page
72- . waitForSelector ( '.MuiSkeleton-root' , {
73- state : 'hidden' ,
74- timeout : WAIT_TIMEOUTS . LONG , // Skeletons might stay longer
75- } )
76- . catch ( ( ) => {
77- // It's possible skeletons were never there or are stubborn, continue
78- // console.warn('Skeletons still visible or timeout waiting for them')
79- } )
80- === = ===
81- // Wait for fonts to be ready
82- await page . evaluate ( async ( ) => {
83- await document . fonts . ready
84- } )
85-
86- // Wait for loading skeletons to disappear
56+ // Wait for skeletons (swallow error if none)
8757 await page
8858 . waitForSelector ( '.MuiSkeleton-root' , {
8959 state : 'hidden' ,
90- timeout,
91- } )
92- . catch ( ( ) => {
93- // Ignore errors if skeletons are not found (already hidden/removed)
60+ timeout : WAIT_TIMEOUTS . LONG ,
9461 } )
62+ . catch ( ( ) => { } )
9563
96- // Wait for actual content to be present
97- await page . waitForSelector ( 'main, [data-testid="dashboard"], [role="main"]' , {
64+ // Wait for main content (fail fast)
65+ await page . waitForSelector ( selector , {
9866 state : 'visible' ,
9967 timeout,
10068 } )
101- >>> > >>> origin / leader
10269}
10370
10471/**
0 commit comments