diff --git a/playwriter/src/relay-core.test.ts b/playwriter/src/relay-core.test.ts index 88fc8ec..56d87f3 100644 --- a/playwriter/src/relay-core.test.ts +++ b/playwriter/src/relay-core.test.ts @@ -1039,15 +1039,35 @@ describe('Relay Core Tests', () => { name: 'execute', arguments: { code: js` - await state.errorTestPage.click('#hidden-btn', { timeout: 5000 }); + await state.errorTestPage.click('#hidden-btn', { timeout: 100 }); `, }, }) - const text = (result as any).content[0].text - // Strip stack traces and call logs to only match the descriptive error line - const errorLine = text.split('\n').find((l: string) => l.includes('Timeout') || l.includes('not visible') || l.includes('not stable')) - expect(errorLine).toMatchInlineSnapshot(`"Error executing code: page.click: Timeout 5000ms exceeded. Element is not visible — it may be hidden by CSS, inside a collapsed
, inactive tab, or closed accordion. Try: interact with the page to reveal it first, or use { force: true } to skip visibility checks"`) - expect((result as any).isError).toBe(true) + expect(result).toMatchInlineSnapshot(` + { + "content": [ + { + "text": " + Error executing code: page.click: Timeout 100ms exceeded. Element is not visible — it may be hidden by CSS, inside a collapsed
, inactive tab, or closed accordion. Try: interact with the page to reveal it first, or use { force: true } to skip visibility checks + Call log: +  - waiting for locator('#hidden-btn') +  - locator resolved to  +  - attempting click action +  2 × waiting for element to be visible, enabled and stable +  - element is not visible +  - retrying click action +  - waiting 20ms +  - waiting for element to be visible, enabled and stable +  - element is not visible +  - retrying click action +  - waiting 100ms + ", + "type": "text", + }, + ], + "isError": true, + } + `) // Cleanup await client.callTool({ name: 'execute', arguments: { code: js`await state.errorTestPage.close(); delete state.errorTestPage;` } }) }, 30000) @@ -1071,14 +1091,41 @@ describe('Relay Core Tests', () => { name: 'execute', arguments: { code: js` - await state.errorTestPage.click('#covered-btn', { timeout: 5000 }); + await state.errorTestPage.click('#covered-btn', { timeout: 100 }); `, }, }) - const text = (result as any).content[0].text - const errorLine = text.split('\n').find((l: string) => l.includes('Timeout') || l.includes('intercepts')) - expect(errorLine).toMatchInlineSnapshot(`"Error executing code: page.click: Timeout 5000ms exceeded.
Overlay
intercepts pointer events"`) - expect((result as any).isError).toBe(true) + expect(result).toMatchInlineSnapshot(` + { + "content": [ + { + "text": " + Error executing code: page.click: Timeout 100ms exceeded.
Overlay
intercepts pointer events + Call log: +  - waiting for locator('#covered-btn') +  - locator resolved to  +  - attempting click action +  2 × waiting for element to be visible, enabled and stable +  - element is visible, enabled and stable +  - scrolling into view if needed +  - done scrolling +  -
Overlay
intercepts pointer events +  - retrying click action +  - waiting 20ms +  - waiting for element to be visible, enabled and stable +  - element is visible, enabled and stable +  - scrolling into view if needed +  - done scrolling +  -
Overlay
intercepts pointer events +  - retrying click action +  - waiting 100ms + ", + "type": "text", + }, + ], + "isError": true, + } + `) await client.callTool({ name: 'execute', arguments: { code: js`await state.errorTestPage.close(); delete state.errorTestPage;` } }) }, 30000) @@ -1096,14 +1143,35 @@ describe('Relay Core Tests', () => { name: 'execute', arguments: { code: js` - await state.errorTestPage.click('#invisible', { timeout: 5000 }); + await state.errorTestPage.click('#invisible', { timeout: 100 }); `, }, }) - const text = (result as any).content[0].text - const errorLine = text.split('\n').find((l: string) => l.includes('Timeout') || l.includes('not visible')) - expect(errorLine).toMatchInlineSnapshot(`"Error executing code: page.click: Timeout 5000ms exceeded. Element is not visible — it may be hidden by CSS, inside a collapsed
, inactive tab, or closed accordion. Try: interact with the page to reveal it first, or use { force: true } to skip visibility checks"`) - expect((result as any).isError).toBe(true) + expect(result).toMatchInlineSnapshot(` + { + "content": [ + { + "text": " + Error executing code: page.click: Timeout 100ms exceeded. Element is not visible — it may be hidden by CSS, inside a collapsed
, inactive tab, or closed accordion. Try: interact with the page to reveal it first, or use { force: true } to skip visibility checks + Call log: +  - waiting for locator('#invisible') +  - locator resolved to  +  - attempting click action +  2 × waiting for element to be visible, enabled and stable +  - element is not visible +  - retrying click action +  - waiting 20ms +  - waiting for element to be visible, enabled and stable +  - element is not visible +  - retrying click action +  - waiting 100ms + ", + "type": "text", + }, + ], + "isError": true, + } + `) await client.callTool({ name: 'execute', arguments: { code: js`await state.errorTestPage.close(); delete state.errorTestPage;` } }) }, 30000)