diff --git a/.playwright/cli.config.json b/.playwright/cli.config.json deleted file mode 100644 index 587f73e4f8c75..0000000000000 --- a/.playwright/cli.config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "browser": { - "browserName": "chromium", - "launchOptions": { - "channel": "chromium" - } - } -} \ No newline at end of file diff --git a/intro-0.png b/intro-0.png deleted file mode 100644 index cd0da8c991543..0000000000000 Binary files a/intro-0.png and /dev/null differ diff --git a/intro-1.png b/intro-1.png deleted file mode 100644 index 13aa01ec55d95..0000000000000 Binary files a/intro-1.png and /dev/null differ diff --git a/intro.png b/intro.png deleted file mode 100644 index 5997d7722b06b..0000000000000 Binary files a/intro.png and /dev/null differ diff --git a/log.txt b/log.txt deleted file mode 100644 index 930d5e33eddd1..0000000000000 --- a/log.txt +++ /dev/null @@ -1,27 +0,0 @@ -git bisect start -# status: waiting for both good and bad commits -# bad: [e4498b29eababe5ab0345f7dd8ea0bf62932841e] chore: freeze webkit version on macos 14 (#38996) -git bisect bad e4498b29eababe5ab0345f7dd8ea0bf62932841e -# status: waiting for good commit(s), bad commit known -# bad: [e4498b29eababe5ab0345f7dd8ea0bf62932841e] chore: freeze webkit version on macos 14 (#38996) -git bisect bad e4498b29eababe5ab0345f7dd8ea0bf62932841e -# status: waiting for good commit(s), bad commit known -# good: [e4498b29eababe5ab0345f7dd8ea0bf62932841e] chore: freeze webkit version on macos 14 (#38996) -git bisect good e4498b29eababe5ab0345f7dd8ea0bf62932841e -# bad: [0c45dfc773fef0aa9e13016052bc4f3cd86ba288] fix(windows): hide console window when spawning browser processes (#38776) -git bisect bad 0c45dfc773fef0aa9e13016052bc4f3cd86ba288 -# good: [7b3b57ab4cf11065477fabb169f8f5d403ef2729] chore: follow up to args parsing (#39178) -git bisect good 7b3b57ab4cf11065477fabb169f8f5d403ef2729 -# bad: [65576628e6440c4fe05c88dda4a396ce4576baaa] feat(chromium): roll to r1212 (#39240) -git bisect bad 65576628e6440c4fe05c88dda4a396ce4576baaa -# bad: [19b4dcd33d4a5b64c942c535d840ac491a88f63a] chore(cli): tray icon (#39218) -git bisect bad 19b4dcd33d4a5b64c942c535d840ac491a88f63a -# bad: [0be34e5b32e4da50427f26262e8caa22de0bb2d6] test: make trace-viewer tests e2e (#39174) -git bisect bad 0be34e5b32e4da50427f26262e8caa22de0bb2d6 -# good: [bfd1ec67a923589fd3b6ff30a6bcceba87ceaf96] Update params.md: fix "it's" typos (#39180) -git bisect good bfd1ec67a923589fd3b6ff30a6bcceba87ceaf96 -# good: [8f729bab319adb56d23c224f9aa52b8bbb815734] chore(deps): bump jsonwebtoken from 9.0.2 to 9.0.3 (#39149) -git bisect good 8f729bab319adb56d23c224f9aa52b8bbb815734 -# good: [3d806ab4f1f71249217dfe804c96a9543173481a] chore(aria): replace UUID with regex (#39191) -git bisect good 3d806ab4f1f71249217dfe804c96a9543173481a -# first bad commit: [0be34e5b32e4da50427f26262e8caa22de0bb2d6] test: make trace-viewer tests e2e (#39174) diff --git a/loggg.txt b/loggg.txt deleted file mode 100644 index a903bfdfb3929..0000000000000 --- a/loggg.txt +++ /dev/null @@ -1,24 +0,0 @@ -git bisect start -# status: waiting for both good and bad commits -# bad: [0c45dfc773fef0aa9e13016052bc4f3cd86ba288] fix(windows): hide console window when spawning browser processes (#38776) -git bisect bad 0c45dfc773fef0aa9e13016052bc4f3cd86ba288 -# status: waiting for good commit(s), bad commit known -# good: [e4498b29eababe5ab0345f7dd8ea0bf62932841e] chore: freeze webkit version on macos 14 (#38996) -git bisect good e4498b29eababe5ab0345f7dd8ea0bf62932841e -# good: [7b3b57ab4cf11065477fabb169f8f5d403ef2729] chore: follow up to args parsing (#39178) -git bisect good 7b3b57ab4cf11065477fabb169f8f5d403ef2729 -# bad: [65576628e6440c4fe05c88dda4a396ce4576baaa] feat(chromium): roll to r1212 (#39240) -git bisect bad 65576628e6440c4fe05c88dda4a396ce4576baaa -# good: [19b4dcd33d4a5b64c942c535d840ac491a88f63a] chore(cli): tray icon (#39218) -git bisect good 19b4dcd33d4a5b64c942c535d840ac491a88f63a -# good: [529f767c666b092e70525b9bcdc30c0e8335457b] fix(chromium): use actual device scale factor for css-scale screenshots (#39233) -git bisect good 529f767c666b092e70525b9bcdc30c0e8335457b -# bad: [951911cefedb1dd5a2a15f854a51bd7c34504a5f] chore: split daemon and client folders (#39245) -git bisect bad 951911cefedb1dd5a2a15f854a51bd7c34504a5f -# bad: [63f13454dedaa8f12a487df62cf42d9d89192b5b] chore: roll driver/Dockerfile to recent Node.js LTS version (#39238) -git bisect bad 63f13454dedaa8f12a487df62cf42d9d89192b5b -# bad: [8946b03f6f7c53e4bca0e9a2f1ab346133bdd25d] test(bidi): set channel option in showTraceViewer() fixture (#39222) -git bisect bad 8946b03f6f7c53e4bca0e9a2f1ab346133bdd25d -# bad: [6d35c8b168768a1f6dbc19eb414b2373bd6de8a9] chore: prep devtools app (#39231) -git bisect bad 6d35c8b168768a1f6dbc19eb414b2373bd6de8a9 -# first bad commit: [6d35c8b168768a1f6dbc19eb414b2373bd6de8a9] chore: prep devtools app (#39231) diff --git a/playwright-cli.json.bcp b/playwright-cli.json.bcp deleted file mode 100644 index b5531d48b622e..0000000000000 --- a/playwright-cli.json.bcp +++ /dev/null @@ -1,10 +0,0 @@ -{ - "browser": { - "userDataDir": "/tmp/extension-user-data-dir", - "browserName": "chromium", - "launchOptions": { - "channel": "chrome-beta", - "headless": false - } - } -} diff --git a/pw.js b/pw.js deleted file mode 100644 index 8767e30e7ef96..0000000000000 --- a/pw.js +++ /dev/null @@ -1,37 +0,0 @@ -const { _electron: electron } = require('playwright'); - -(async () => { - // Launch Electron app. - const electronApp = await electron.launch({ args: ['/home/yurys/electron-multi-webcontents/dist/main.js'] }); - - console.log('electronApp launched\n\n\n'); - - electronApp.on('window', (window) => { - console.log('window opened:', window.url()); - }); - - const pages = electronApp.windows(); - for (const page of pages) - console.log('page:', page.url()); - - // Evaluation expression in the Electron context. - const appPath = await electronApp.evaluate(async ({ app }) => { - // This runs in the main Electron process, parameter here is always - // the result of the require('electron') in the main app script. - return app.getAppPath(); - }); - console.log(appPath); - - // Get the first window that the app opens, wait if necessary. - const window = await electronApp.firstWindow(); - // Print the title. - console.log(await window.title()); - - let i = 0; - for (const page of electronApp.windows()) { - console.log('page:', page.url()); - await page.screenshot({ path: `intro-${i}.png` }); - console.log(`screenshot saved to intro-${i}.png`); - i++; - } -})(); diff --git a/screenshot.png b/screenshot.png deleted file mode 100644 index c26cac27e5787..0000000000000 Binary files a/screenshot.png and /dev/null differ diff --git a/test.js b/test.js deleted file mode 100644 index c99fec3f3bc21..0000000000000 --- a/test.js +++ /dev/null @@ -1,62 +0,0 @@ -const { chromium } = require('playwright'); - -(async () => { - const wsEndpoint = process.argv[2]; - if (!wsEndpoint) { - console.error('Usage: node test.js '); - process.exit(1); - } - - console.log(`Connecting to ${wsEndpoint}...`); - const browser = await chromium.connectOverCDP(wsEndpoint); - - const contexts = browser.contexts(); - console.log(`Browser contexts: ${contexts.length}`); - - for (const context of contexts) { - const pages = context.pages(); - console.log(` Context has ${pages.length} page(s)`); - for (const page of pages) { - console.log(` Page: "${page.url()}" — title: "${await page.title()}"`); - } - } - - // Exercise the first page - const page = contexts[0]?.pages()[0]; - console.log('page', !!page); - if (page) { - console.log('\nNavigating first page to example.org...'); - await page.goto('https://example.org'); - console.log(` URL: ${page.url()}`); - console.log(` Title: "${await page.title()}"`); - - const text = await page.evaluate(() => document.body.innerText.substring(0, 100)); - console.log(` Body text (first 100 chars): "${text}"`); - - await page.screenshot({ path: 'screenshot.png' }); - console.log(' Screenshot saved to screenshot.png'); - } - - // Listen for new pages - console.log('\nListening for new pages (open a new tab in Electron to see it)...'); - const newPagePromise = new Promise((resolve) => { - for (const context of browser.contexts()) { - context.on('page', (p) => { - console.log(` New page appeared: "${p.url()}"`); - resolve(p); - }); - } - // Timeout after 5 seconds - setTimeout(() => resolve(null), 5000); - }); - const newPage = await newPagePromise; - if (!newPage) { - console.log(' (no new page within 5s, continuing)'); - } - - console.log('\nDone. Disconnecting...'); - await browser.close(); -})().catch((err) => { - console.error('Error:', err); - process.exit(1); -}); diff --git a/version.js b/version.js deleted file mode 100644 index 3c631168604d6..0000000000000 --- a/version.js +++ /dev/null @@ -1,10 +0,0 @@ -const { chromium } = require('playwright'); - -(async () => { - const browser = await chromium.launch(); - console.log(chromium.executablePath()); - await browser.close(); -})().catch((err) => { - console.error('Error:', err); - process.exit(1); -}); diff --git a/www/0-trace.network b/www/0-trace.network deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/www/0-trace.stacks b/www/0-trace.stacks deleted file mode 100644 index 9dc4624aa2a8e..0000000000000 --- a/www/0-trace.stacks +++ /dev/null @@ -1 +0,0 @@ -{"files":["/home/yurys/playwright/tests/library/video.spec.ts","/home/yurys/playwright/tests/config/utils.ts"],"stacks":[[6,[[0,858,32,""]]],[8,[[0,859,16,""]]],[10,[[1,198,18,"rafraf"],[0,860,17,""]]],[12,[[1,198,18,"rafraf"],[0,860,5,""]]],[14,[[1,198,18,"rafraf"],[0,860,5,""]]],[16,[[1,198,18,"rafraf"],[0,860,5,""]]],[18,[[1,198,18,"rafraf"],[0,860,5,""]]],[20,[[1,198,18,"rafraf"],[0,860,5,""]]],[22,[[1,198,18,"rafraf"],[0,860,5,""]]],[24,[[1,198,18,"rafraf"],[0,860,5,""]]],[26,[[1,198,18,"rafraf"],[0,860,5,""]]],[28,[[1,198,18,"rafraf"],[0,860,5,""]]],[30,[[1,198,18,"rafraf"],[0,860,5,""]]],[32,[[1,198,18,"rafraf"],[0,860,5,""]]],[34,[[1,198,18,"rafraf"],[0,860,5,""]]],[36,[[1,198,18,"rafraf"],[0,860,5,""]]],[38,[[1,198,18,"rafraf"],[0,860,5,""]]],[40,[[1,198,18,"rafraf"],[0,860,5,""]]],[42,[[1,198,18,"rafraf"],[0,860,5,""]]],[44,[[1,198,18,"rafraf"],[0,860,5,""]]],[46,[[1,198,18,"rafraf"],[0,860,5,""]]],[48,[[1,198,18,"rafraf"],[0,860,5,""]]],[50,[[1,198,18,"rafraf"],[0,860,5,""]]],[52,[[1,198,18,"rafraf"],[0,860,5,""]]],[54,[[1,198,18,"rafraf"],[0,860,5,""]]],[56,[[1,198,18,"rafraf"],[0,860,5,""]]],[58,[[1,198,18,"rafraf"],[0,860,5,""]]],[60,[[1,198,18,"rafraf"],[0,860,5,""]]],[62,[[1,198,18,"rafraf"],[0,860,5,""]]],[64,[[1,198,18,"rafraf"],[0,860,5,""]]],[66,[[1,198,18,"rafraf"],[0,860,5,""]]],[68,[[1,198,18,"rafraf"],[0,860,5,""]]],[70,[[1,198,18,"rafraf"],[0,860,5,""]]],[72,[[1,198,18,"rafraf"],[0,860,5,""]]],[74,[[1,198,18,"rafraf"],[0,860,5,""]]],[76,[[1,198,18,"rafraf"],[0,860,5,""]]],[78,[[1,198,18,"rafraf"],[0,860,5,""]]],[80,[[1,198,18,"rafraf"],[0,860,5,""]]],[82,[[1,198,18,"rafraf"],[0,860,5,""]]],[84,[[1,198,18,"rafraf"],[0,860,5,""]]],[86,[[1,198,18,"rafraf"],[0,860,5,""]]],[88,[[1,198,18,"rafraf"],[0,860,5,""]]],[90,[[1,198,18,"rafraf"],[0,860,5,""]]],[92,[[1,198,18,"rafraf"],[0,860,5,""]]],[94,[[1,198,18,"rafraf"],[0,860,5,""]]],[96,[[1,198,18,"rafraf"],[0,860,5,""]]],[98,[[1,198,18,"rafraf"],[0,860,5,""]]],[100,[[1,198,18,"rafraf"],[0,860,5,""]]],[102,[[1,198,18,"rafraf"],[0,860,5,""]]],[104,[[1,198,18,"rafraf"],[0,860,5,""]]],[106,[[1,198,18,"rafraf"],[0,860,5,""]]],[108,[[1,198,18,"rafraf"],[0,860,5,""]]],[110,[[1,198,18,"rafraf"],[0,860,5,""]]],[112,[[1,198,18,"rafraf"],[0,860,5,""]]],[114,[[1,198,18,"rafraf"],[0,860,5,""]]],[116,[[1,198,18,"rafraf"],[0,860,5,""]]],[118,[[1,198,18,"rafraf"],[0,860,5,""]]],[120,[[1,198,18,"rafraf"],[0,860,5,""]]],[122,[[1,198,18,"rafraf"],[0,860,5,""]]],[124,[[1,198,18,"rafraf"],[0,860,5,""]]],[126,[[1,198,18,"rafraf"],[0,860,5,""]]],[128,[[1,198,18,"rafraf"],[0,860,5,""]]],[130,[[1,198,18,"rafraf"],[0,860,5,""]]],[132,[[1,198,18,"rafraf"],[0,860,5,""]]],[134,[[1,198,18,"rafraf"],[0,860,5,""]]],[136,[[1,198,18,"rafraf"],[0,860,5,""]]],[138,[[1,198,18,"rafraf"],[0,860,5,""]]],[140,[[1,198,18,"rafraf"],[0,860,5,""]]],[142,[[1,198,18,"rafraf"],[0,860,5,""]]],[144,[[1,198,18,"rafraf"],[0,860,5,""]]],[146,[[1,198,18,"rafraf"],[0,860,5,""]]],[148,[[1,198,18,"rafraf"],[0,860,5,""]]],[150,[[1,198,18,"rafraf"],[0,860,5,""]]],[152,[[1,198,18,"rafraf"],[0,860,5,""]]],[154,[[1,198,18,"rafraf"],[0,860,5,""]]],[156,[[1,198,18,"rafraf"],[0,860,5,""]]],[158,[[1,198,18,"rafraf"],[0,860,5,""]]],[160,[[1,198,18,"rafraf"],[0,860,5,""]]],[162,[[1,198,18,"rafraf"],[0,860,5,""]]],[164,[[1,198,18,"rafraf"],[0,860,5,""]]],[166,[[1,198,18,"rafraf"],[0,860,5,""]]],[168,[[1,198,18,"rafraf"],[0,860,5,""]]],[170,[[1,198,18,"rafraf"],[0,860,5,""]]],[172,[[1,198,18,"rafraf"],[0,860,5,""]]],[174,[[1,198,18,"rafraf"],[0,860,5,""]]],[176,[[1,198,18,"rafraf"],[0,860,5,""]]],[178,[[1,198,18,"rafraf"],[0,860,5,""]]],[180,[[1,198,18,"rafraf"],[0,860,5,""]]],[182,[[1,198,18,"rafraf"],[0,860,5,""]]],[184,[[1,198,18,"rafraf"],[0,860,5,""]]],[186,[[1,198,18,"rafraf"],[0,860,5,""]]],[188,[[1,198,18,"rafraf"],[0,860,5,""]]],[190,[[1,198,18,"rafraf"],[0,860,5,""]]],[192,[[1,198,18,"rafraf"],[0,860,5,""]]],[194,[[1,198,18,"rafraf"],[0,860,5,""]]],[196,[[1,198,18,"rafraf"],[0,860,5,""]]],[198,[[1,198,18,"rafraf"],[0,860,5,""]]],[200,[[1,198,18,"rafraf"],[0,860,5,""]]],[202,[[1,198,18,"rafraf"],[0,860,5,""]]],[204,[[1,198,18,"rafraf"],[0,860,5,""]]],[206,[[1,198,18,"rafraf"],[0,860,5,""]]],[208,[[1,198,18,"rafraf"],[0,860,5,""]]]]} \ No newline at end of file diff --git a/www/0-trace.trace b/www/0-trace.trace deleted file mode 100644 index 73eac38efda75..0000000000000 --- a/www/0-trace.trace +++ /dev/null @@ -1,410 +0,0 @@ -{"version":8,"type":"context-options","origin":"library","browserName":"webkit","playwrightVersion":"1.59.0-next","options":{"noDefaultViewport":false,"viewport":{"width":1280,"height":720},"ignoreHTTPSErrors":false,"javaScriptEnabled":true,"bypassCSP":false,"locale":"en-US","offline":false,"isMobile":false,"hasTouch":false,"colorScheme":"light","acceptDownloads":"accept","serviceWorkers":"allow","selectorEngines":[],"testIdAttributeName":"data-testid","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15"},"platform":"linux","wallTime":1772649748282,"monotonicTime":2723.677,"sdkLanguage":"javascript","testIdAttributeName":"data-testid","contextId":"browser-context@860152cd0d68eee18ae612f6f64e1589","title":"video.spec.ts:856 › screencast › video.start should fail when another recording is in progress"} -{"type":"before","callId":"call@6","startTime":2732.411,"class":"BrowserContext","method":"newPage","params":{},"stepId":"pw:api@91"} -{"type":"event","time":3235.742,"class":"BrowserContext","method":"page","params":{"pageId":"page@504e8ddc2fe731e3535d4800f737b62a"}} -{"type":"after","callId":"call@6","endTime":3235.891,"result":{"page":""}} -{"type":"before","callId":"call@8","startTime":3256.801,"class":"Frame","method":"evaluateExpression","params":{"expression":"() => document.body.style.backgroundColor = 'red'","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@92","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@8"} -{"type":"frame-snapshot","snapshot":{"callId":"call@8","snapshotName":"before@call@8","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":["HTML",{},["HEAD",{},["BASE",{"href":"about:blank"}]],["BODY"]],"viewport":{"width":1280,"height":720},"timestamp":3262.432,"wallTime":1772649748819,"collectionTime":2.000000000000007,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@8","endTime":3267.521,"result":{"value":{"s":"red"}},"afterSnapshot":"after@call@8"} -{"type":"frame-snapshot","snapshot":{"callId":"call@8","snapshotName":"after@call@8","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":["HTML",{},[[1,1]],["BODY",{"style":"background-color: red;"}]],"viewport":{"width":1280,"height":720},"timestamp":3268.728,"wallTime":1772649748827,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@10","startTime":3272.263,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@93","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@10"} -{"type":"frame-snapshot","snapshot":{"callId":"call@10","snapshotName":"before@call@10","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[1,1]],"viewport":{"width":1280,"height":720},"timestamp":3273.642,"wallTime":1772649748832,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"screencast-frame","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","sha1":"page@504e8ddc2fe731e3535d4800f737b62a-1772649748935.jpeg","width":1280,"height":720,"timestamp":3376.604,"frameSwapWallTime":254368891.687} -{"type":"after","callId":"call@10","endTime":3378.209,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@10"} -{"type":"screencast-frame","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","sha1":"page@504e8ddc2fe731e3535d4800f737b62a-1772649748946.jpeg","width":1280,"height":720,"timestamp":3387.967,"frameSwapWallTime":254368915.161} -{"type":"frame-snapshot","snapshot":{"callId":"call@10","snapshotName":"after@call@10","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[2,1]],"viewport":{"width":1280,"height":720},"timestamp":3389.546,"wallTime":1772649748948,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@12","startTime":3394.496,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@94","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@12"} -{"type":"frame-snapshot","snapshot":{"callId":"call@12","snapshotName":"before@call@12","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[3,1]],"viewport":{"width":1280,"height":720},"timestamp":3398.571,"wallTime":1772649748957,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@12","endTime":3428.898,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@12"} -{"type":"frame-snapshot","snapshot":{"callId":"call@12","snapshotName":"after@call@12","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[4,1]],"viewport":{"width":1280,"height":720},"timestamp":3431.419,"wallTime":1772649748989,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@14","startTime":3435.908,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@95","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@14"} -{"type":"frame-snapshot","snapshot":{"callId":"call@14","snapshotName":"before@call@14","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[5,1]],"viewport":{"width":1280,"height":720},"timestamp":3438.286,"wallTime":1772649748996,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@14","endTime":3461.204,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@14"} -{"type":"frame-snapshot","snapshot":{"callId":"call@14","snapshotName":"after@call@14","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[6,1]],"viewport":{"width":1280,"height":720},"timestamp":3463.629,"wallTime":1772649749021,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@16","startTime":3468.153,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@96","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@16"} -{"type":"frame-snapshot","snapshot":{"callId":"call@16","snapshotName":"before@call@16","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[7,1]],"viewport":{"width":1280,"height":720},"timestamp":3471.051,"wallTime":1772649749029,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@16","endTime":3493.333,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@16"} -{"type":"frame-snapshot","snapshot":{"callId":"call@16","snapshotName":"after@call@16","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[8,1]],"viewport":{"width":1280,"height":720},"timestamp":3495.897,"wallTime":1772649749054,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@18","startTime":3500.461,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@97","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@18"} -{"type":"frame-snapshot","snapshot":{"callId":"call@18","snapshotName":"before@call@18","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[9,1]],"viewport":{"width":1280,"height":720},"timestamp":3502.715,"wallTime":1772649749060,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@18","endTime":3525.744,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@18"} -{"type":"frame-snapshot","snapshot":{"callId":"call@18","snapshotName":"after@call@18","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[10,1]],"viewport":{"width":1280,"height":720},"timestamp":3527.891,"wallTime":1772649749086,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@20","startTime":3532.154,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@98","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@20"} -{"type":"frame-snapshot","snapshot":{"callId":"call@20","snapshotName":"before@call@20","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[11,1]],"viewport":{"width":1280,"height":720},"timestamp":3534.252,"wallTime":1772649749092,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@20","endTime":3558.194,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@20"} -{"type":"frame-snapshot","snapshot":{"callId":"call@20","snapshotName":"after@call@20","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[12,1]],"viewport":{"width":1280,"height":720},"timestamp":3560.518,"wallTime":1772649749118,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@22","startTime":3565.082,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@99","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@22"} -{"type":"frame-snapshot","snapshot":{"callId":"call@22","snapshotName":"before@call@22","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[13,1]],"viewport":{"width":1280,"height":720},"timestamp":3567.23,"wallTime":1772649749125,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@22","endTime":3590.468,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@22"} -{"type":"frame-snapshot","snapshot":{"callId":"call@22","snapshotName":"after@call@22","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[14,1]],"viewport":{"width":1280,"height":720},"timestamp":3592.792,"wallTime":1772649749150,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@24","startTime":3612.175,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@100","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@24"} -{"type":"frame-snapshot","snapshot":{"callId":"call@24","snapshotName":"before@call@24","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[15,1]],"viewport":{"width":1280,"height":720},"timestamp":3615.119,"wallTime":1772649749172,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@24","endTime":3638.869,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@24"} -{"type":"frame-snapshot","snapshot":{"callId":"call@24","snapshotName":"after@call@24","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[16,1]],"viewport":{"width":1280,"height":720},"timestamp":3640.79,"wallTime":1772649749199,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@26","startTime":3646.038,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@101","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@26"} -{"type":"frame-snapshot","snapshot":{"callId":"call@26","snapshotName":"before@call@26","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[17,1]],"viewport":{"width":1280,"height":720},"timestamp":3647.97,"wallTime":1772649749206,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@26","endTime":3671.195,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@26"} -{"type":"frame-snapshot","snapshot":{"callId":"call@26","snapshotName":"after@call@26","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[18,1]],"viewport":{"width":1280,"height":720},"timestamp":3673.609,"wallTime":1772649749231,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@28","startTime":3678.099,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@102","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@28"} -{"type":"frame-snapshot","snapshot":{"callId":"call@28","snapshotName":"before@call@28","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[19,1]],"viewport":{"width":1280,"height":720},"timestamp":3680.159,"wallTime":1772649749238,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@28","endTime":3703.787,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@28"} -{"type":"frame-snapshot","snapshot":{"callId":"call@28","snapshotName":"after@call@28","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[20,1]],"viewport":{"width":1280,"height":720},"timestamp":3706.157,"wallTime":1772649749264,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@30","startTime":3710.503,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@103","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@30"} -{"type":"frame-snapshot","snapshot":{"callId":"call@30","snapshotName":"before@call@30","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[21,1]],"viewport":{"width":1280,"height":720},"timestamp":3712.657,"wallTime":1772649749270,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@30","endTime":3735.755,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@30"} -{"type":"frame-snapshot","snapshot":{"callId":"call@30","snapshotName":"after@call@30","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[22,1]],"viewport":{"width":1280,"height":720},"timestamp":3737.974,"wallTime":1772649749296,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@32","startTime":3742.303,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@104","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@32"} -{"type":"frame-snapshot","snapshot":{"callId":"call@32","snapshotName":"before@call@32","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[23,1]],"viewport":{"width":1280,"height":720},"timestamp":3776.446,"wallTime":1772649749302,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@32","endTime":3800.423,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@32"} -{"type":"frame-snapshot","snapshot":{"callId":"call@32","snapshotName":"after@call@32","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[24,1]],"viewport":{"width":1280,"height":720},"timestamp":3802.618,"wallTime":1772649749360,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@34","startTime":3806.515,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@105","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@34"} -{"type":"frame-snapshot","snapshot":{"callId":"call@34","snapshotName":"before@call@34","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[25,1]],"viewport":{"width":1280,"height":720},"timestamp":3808.19,"wallTime":1772649749366,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@34","endTime":3832.612,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@34"} -{"type":"frame-snapshot","snapshot":{"callId":"call@34","snapshotName":"after@call@34","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[26,1]],"viewport":{"width":1280,"height":720},"timestamp":3834.5,"wallTime":1772649749392,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@36","startTime":3838.136,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@106","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@36"} -{"type":"frame-snapshot","snapshot":{"callId":"call@36","snapshotName":"before@call@36","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[27,1]],"viewport":{"width":1280,"height":720},"timestamp":3840.03,"wallTime":1772649749398,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@36","endTime":3864.829,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@36"} -{"type":"frame-snapshot","snapshot":{"callId":"call@36","snapshotName":"after@call@36","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[28,1]],"viewport":{"width":1280,"height":720},"timestamp":3866.931,"wallTime":1772649749425,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@38","startTime":3871.206,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@107","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@38"} -{"type":"frame-snapshot","snapshot":{"callId":"call@38","snapshotName":"before@call@38","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[29,1]],"viewport":{"width":1280,"height":720},"timestamp":3873.133,"wallTime":1772649749431,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@38","endTime":3897.061,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@38"} -{"type":"frame-snapshot","snapshot":{"callId":"call@38","snapshotName":"after@call@38","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[30,1]],"viewport":{"width":1280,"height":720},"timestamp":3899.176,"wallTime":1772649749457,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@40","startTime":3902.93,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@108","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@40"} -{"type":"frame-snapshot","snapshot":{"callId":"call@40","snapshotName":"before@call@40","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[31,1]],"viewport":{"width":1280,"height":720},"timestamp":3905.434,"wallTime":1772649749463,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@40","endTime":3929.331,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@40"} -{"type":"frame-snapshot","snapshot":{"callId":"call@40","snapshotName":"after@call@40","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[32,1]],"viewport":{"width":1280,"height":720},"timestamp":3931.54,"wallTime":1772649749489,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@42","startTime":3935.593,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@109","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@42"} -{"type":"frame-snapshot","snapshot":{"callId":"call@42","snapshotName":"before@call@42","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[33,1]],"viewport":{"width":1280,"height":720},"timestamp":3937.809,"wallTime":1772649749496,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@42","endTime":3961.84,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@42"} -{"type":"frame-snapshot","snapshot":{"callId":"call@42","snapshotName":"after@call@42","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[34,1]],"viewport":{"width":1280,"height":720},"timestamp":3963.967,"wallTime":1772649749522,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@44","startTime":3967.836,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@110","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@44"} -{"type":"frame-snapshot","snapshot":{"callId":"call@44","snapshotName":"before@call@44","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[35,1]],"viewport":{"width":1280,"height":720},"timestamp":3969.769,"wallTime":1772649749527,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@44","endTime":3994.038,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@44"} -{"type":"frame-snapshot","snapshot":{"callId":"call@44","snapshotName":"after@call@44","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[36,1]],"viewport":{"width":1280,"height":720},"timestamp":3996.041,"wallTime":1772649749554,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@46","startTime":3999.872,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@111","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@46"} -{"type":"frame-snapshot","snapshot":{"callId":"call@46","snapshotName":"before@call@46","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[37,1]],"viewport":{"width":1280,"height":720},"timestamp":4001.792,"wallTime":1772649749560,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@46","endTime":4026.326,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@46"} -{"type":"frame-snapshot","snapshot":{"callId":"call@46","snapshotName":"after@call@46","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[38,1]],"viewport":{"width":1280,"height":720},"timestamp":4028.385,"wallTime":1772649749586,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@48","startTime":4032.139,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@112","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@48"} -{"type":"frame-snapshot","snapshot":{"callId":"call@48","snapshotName":"before@call@48","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[39,1]],"viewport":{"width":1280,"height":720},"timestamp":4034.195,"wallTime":1772649749592,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@48","endTime":4058.663,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@48"} -{"type":"frame-snapshot","snapshot":{"callId":"call@48","snapshotName":"after@call@48","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[40,1]],"viewport":{"width":1280,"height":720},"timestamp":4060.576,"wallTime":1772649749618,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@50","startTime":4064.279,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@113","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@50"} -{"type":"frame-snapshot","snapshot":{"callId":"call@50","snapshotName":"before@call@50","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[41,1]],"viewport":{"width":1280,"height":720},"timestamp":4066.28,"wallTime":1772649749624,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@50","endTime":4090.947,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@50"} -{"type":"frame-snapshot","snapshot":{"callId":"call@50","snapshotName":"after@call@50","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[42,1]],"viewport":{"width":1280,"height":720},"timestamp":4093.024,"wallTime":1772649749651,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@52","startTime":4096.764,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@114","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@52"} -{"type":"frame-snapshot","snapshot":{"callId":"call@52","snapshotName":"before@call@52","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[43,1]],"viewport":{"width":1280,"height":720},"timestamp":4098.661,"wallTime":1772649749656,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@52","endTime":4123.265,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@52"} -{"type":"frame-snapshot","snapshot":{"callId":"call@52","snapshotName":"after@call@52","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[44,1]],"viewport":{"width":1280,"height":720},"timestamp":4125.352,"wallTime":1772649749683,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@54","startTime":4129.131,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@115","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@54"} -{"type":"frame-snapshot","snapshot":{"callId":"call@54","snapshotName":"before@call@54","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[45,1]],"viewport":{"width":1280,"height":720},"timestamp":4131.094,"wallTime":1772649749689,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@54","endTime":4155.567,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@54"} -{"type":"frame-snapshot","snapshot":{"callId":"call@54","snapshotName":"after@call@54","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[46,1]],"viewport":{"width":1280,"height":720},"timestamp":4157.626,"wallTime":1772649749715,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@56","startTime":4161.14,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@116","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@56"} -{"type":"frame-snapshot","snapshot":{"callId":"call@56","snapshotName":"before@call@56","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[47,1]],"viewport":{"width":1280,"height":720},"timestamp":4163.013,"wallTime":1772649749721,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@56","endTime":4187.852,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@56"} -{"type":"frame-snapshot","snapshot":{"callId":"call@56","snapshotName":"after@call@56","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[48,1]],"viewport":{"width":1280,"height":720},"timestamp":4190.04,"wallTime":1772649749748,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@58","startTime":4194.511,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@117","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@58"} -{"type":"frame-snapshot","snapshot":{"callId":"call@58","snapshotName":"before@call@58","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[49,1]],"viewport":{"width":1280,"height":720},"timestamp":4196.606,"wallTime":1772649749754,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@58","endTime":4220.243,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@58"} -{"type":"frame-snapshot","snapshot":{"callId":"call@58","snapshotName":"after@call@58","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[50,1]],"viewport":{"width":1280,"height":720},"timestamp":4222.374,"wallTime":1772649749780,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@60","startTime":4226.604,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@118","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@60"} -{"type":"frame-snapshot","snapshot":{"callId":"call@60","snapshotName":"before@call@60","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[51,1]],"viewport":{"width":1280,"height":720},"timestamp":4228.715,"wallTime":1772649749786,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@60","endTime":4252.394,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@60"} -{"type":"frame-snapshot","snapshot":{"callId":"call@60","snapshotName":"after@call@60","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[52,1]],"viewport":{"width":1280,"height":720},"timestamp":4254.347,"wallTime":1772649749812,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@62","startTime":4258.024,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@119","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@62"} -{"type":"frame-snapshot","snapshot":{"callId":"call@62","snapshotName":"before@call@62","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[53,1]],"viewport":{"width":1280,"height":720},"timestamp":4259.925,"wallTime":1772649749818,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@62","endTime":4284.573,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@62"} -{"type":"frame-snapshot","snapshot":{"callId":"call@62","snapshotName":"after@call@62","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[54,1]],"viewport":{"width":1280,"height":720},"timestamp":4286.671,"wallTime":1772649749844,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@64","startTime":4290.668,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@120","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@64"} -{"type":"frame-snapshot","snapshot":{"callId":"call@64","snapshotName":"before@call@64","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[55,1]],"viewport":{"width":1280,"height":720},"timestamp":4292.738,"wallTime":1772649749850,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@64","endTime":4316.936,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@64"} -{"type":"frame-snapshot","snapshot":{"callId":"call@64","snapshotName":"after@call@64","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[56,1]],"viewport":{"width":1280,"height":720},"timestamp":4319.113,"wallTime":1772649749877,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@66","startTime":4323.256,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@121","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@66"} -{"type":"frame-snapshot","snapshot":{"callId":"call@66","snapshotName":"before@call@66","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[57,1]],"viewport":{"width":1280,"height":720},"timestamp":4325.35,"wallTime":1772649749883,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@66","endTime":4349.221,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@66"} -{"type":"frame-snapshot","snapshot":{"callId":"call@66","snapshotName":"after@call@66","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[58,1]],"viewport":{"width":1280,"height":720},"timestamp":4351.432,"wallTime":1772649749909,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@68","startTime":4355.559,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@122","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@68"} -{"type":"frame-snapshot","snapshot":{"callId":"call@68","snapshotName":"before@call@68","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[59,1]],"viewport":{"width":1280,"height":720},"timestamp":4357.69,"wallTime":1772649749915,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@68","endTime":4381.546,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@68"} -{"type":"frame-snapshot","snapshot":{"callId":"call@68","snapshotName":"after@call@68","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[60,1]],"viewport":{"width":1280,"height":720},"timestamp":4383.664,"wallTime":1772649749941,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@70","startTime":4388.044,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@123","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@70"} -{"type":"frame-snapshot","snapshot":{"callId":"call@70","snapshotName":"before@call@70","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[61,1]],"viewport":{"width":1280,"height":720},"timestamp":4390.086,"wallTime":1772649749948,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@70","endTime":4413.883,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@70"} -{"type":"frame-snapshot","snapshot":{"callId":"call@70","snapshotName":"after@call@70","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[62,1]],"viewport":{"width":1280,"height":720},"timestamp":4415.843,"wallTime":1772649749974,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@72","startTime":4419.901,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@124","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@72"} -{"type":"frame-snapshot","snapshot":{"callId":"call@72","snapshotName":"before@call@72","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[63,1]],"viewport":{"width":1280,"height":720},"timestamp":4421.646,"wallTime":1772649749980,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@72","endTime":4446.16,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@72"} -{"type":"frame-snapshot","snapshot":{"callId":"call@72","snapshotName":"after@call@72","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[64,1]],"viewport":{"width":1280,"height":720},"timestamp":4448.048,"wallTime":1772649750006,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@74","startTime":4452.186,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@125","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@74"} -{"type":"frame-snapshot","snapshot":{"callId":"call@74","snapshotName":"before@call@74","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[65,1]],"viewport":{"width":1280,"height":720},"timestamp":4453.973,"wallTime":1772649750012,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@74","endTime":4478.373,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@74"} -{"type":"frame-snapshot","snapshot":{"callId":"call@74","snapshotName":"after@call@74","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[66,1]],"viewport":{"width":1280,"height":720},"timestamp":4480.259,"wallTime":1772649750038,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@76","startTime":4484.389,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@126","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@76"} -{"type":"frame-snapshot","snapshot":{"callId":"call@76","snapshotName":"before@call@76","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[67,1]],"viewport":{"width":1280,"height":720},"timestamp":4486.155,"wallTime":1772649750044,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@76","endTime":4510.834,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@76"} -{"type":"frame-snapshot","snapshot":{"callId":"call@76","snapshotName":"after@call@76","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[68,1]],"viewport":{"width":1280,"height":720},"timestamp":4512.681,"wallTime":1772649750071,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@78","startTime":4516.817,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@127","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@78"} -{"type":"frame-snapshot","snapshot":{"callId":"call@78","snapshotName":"before@call@78","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[69,1]],"viewport":{"width":1280,"height":720},"timestamp":4518.603,"wallTime":1772649750077,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@78","endTime":4543.051,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@78"} -{"type":"frame-snapshot","snapshot":{"callId":"call@78","snapshotName":"after@call@78","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[70,1]],"viewport":{"width":1280,"height":720},"timestamp":4544.919,"wallTime":1772649750103,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@80","startTime":4549.127,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@128","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@80"} -{"type":"frame-snapshot","snapshot":{"callId":"call@80","snapshotName":"before@call@80","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[71,1]],"viewport":{"width":1280,"height":720},"timestamp":4550.907,"wallTime":1772649750109,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@80","endTime":4575.49,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@80"} -{"type":"frame-snapshot","snapshot":{"callId":"call@80","snapshotName":"after@call@80","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[72,1]],"viewport":{"width":1280,"height":720},"timestamp":4577.435,"wallTime":1772649750135,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@82","startTime":4581.588,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@129","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@82"} -{"type":"frame-snapshot","snapshot":{"callId":"call@82","snapshotName":"before@call@82","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[73,1]],"viewport":{"width":1280,"height":720},"timestamp":4583.329,"wallTime":1772649750141,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@82","endTime":4607.625,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@82"} -{"type":"frame-snapshot","snapshot":{"callId":"call@82","snapshotName":"after@call@82","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[74,1]],"viewport":{"width":1280,"height":720},"timestamp":4609.497,"wallTime":1772649750167,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@84","startTime":4613.574,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@130","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@84"} -{"type":"frame-snapshot","snapshot":{"callId":"call@84","snapshotName":"before@call@84","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[75,1]],"viewport":{"width":1280,"height":720},"timestamp":4615.419,"wallTime":1772649750173,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@84","endTime":4639.918,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@84"} -{"type":"frame-snapshot","snapshot":{"callId":"call@84","snapshotName":"after@call@84","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[76,1]],"viewport":{"width":1280,"height":720},"timestamp":4641.849,"wallTime":1772649750200,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@86","startTime":4645.974,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@131","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@86"} -{"type":"frame-snapshot","snapshot":{"callId":"call@86","snapshotName":"before@call@86","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[77,1]],"viewport":{"width":1280,"height":720},"timestamp":4647.804,"wallTime":1772649750206,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@86","endTime":4672.198,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@86"} -{"type":"frame-snapshot","snapshot":{"callId":"call@86","snapshotName":"after@call@86","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[78,1]],"viewport":{"width":1280,"height":720},"timestamp":4674.083,"wallTime":1772649750232,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@88","startTime":4678.131,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@132","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@88"} -{"type":"frame-snapshot","snapshot":{"callId":"call@88","snapshotName":"before@call@88","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[79,1]],"viewport":{"width":1280,"height":720},"timestamp":4679.968,"wallTime":1772649750238,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@88","endTime":4704.609,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@88"} -{"type":"frame-snapshot","snapshot":{"callId":"call@88","snapshotName":"after@call@88","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[80,1]],"viewport":{"width":1280,"height":720},"timestamp":4706.617,"wallTime":1772649750264,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@90","startTime":4710.683,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@133","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@90"} -{"type":"frame-snapshot","snapshot":{"callId":"call@90","snapshotName":"before@call@90","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[81,1]],"viewport":{"width":1280,"height":720},"timestamp":4712.484,"wallTime":1772649750270,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@90","endTime":4736.957,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@90"} -{"type":"frame-snapshot","snapshot":{"callId":"call@90","snapshotName":"after@call@90","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[82,1]],"viewport":{"width":1280,"height":720},"timestamp":4739.036,"wallTime":1772649750297,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@92","startTime":4743.094,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@134","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@92"} -{"type":"frame-snapshot","snapshot":{"callId":"call@92","snapshotName":"before@call@92","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[83,1]],"viewport":{"width":1280,"height":720},"timestamp":4744.924,"wallTime":1772649750303,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@92","endTime":4769.157,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@92"} -{"type":"frame-snapshot","snapshot":{"callId":"call@92","snapshotName":"after@call@92","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[84,1]],"viewport":{"width":1280,"height":720},"timestamp":4771.151,"wallTime":1772649750329,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@94","startTime":4775.199,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@135","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@94"} -{"type":"frame-snapshot","snapshot":{"callId":"call@94","snapshotName":"before@call@94","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[85,1]],"viewport":{"width":1280,"height":720},"timestamp":4776.989,"wallTime":1772649750335,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@94","endTime":4801.443,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@94"} -{"type":"frame-snapshot","snapshot":{"callId":"call@94","snapshotName":"after@call@94","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[86,1]],"viewport":{"width":1280,"height":720},"timestamp":4803.394,"wallTime":1772649750361,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@96","startTime":4807.469,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@136","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@96"} -{"type":"frame-snapshot","snapshot":{"callId":"call@96","snapshotName":"before@call@96","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[87,1]],"viewport":{"width":1280,"height":720},"timestamp":4809.255,"wallTime":1772649750367,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@96","endTime":4833.806,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@96"} -{"type":"frame-snapshot","snapshot":{"callId":"call@96","snapshotName":"after@call@96","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[88,1]],"viewport":{"width":1280,"height":720},"timestamp":4835.859,"wallTime":1772649750393,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@98","startTime":4839.827,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@137","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@98"} -{"type":"frame-snapshot","snapshot":{"callId":"call@98","snapshotName":"before@call@98","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[89,1]],"viewport":{"width":1280,"height":720},"timestamp":4841.578,"wallTime":1772649750399,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@98","endTime":4866.089,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@98"} -{"type":"frame-snapshot","snapshot":{"callId":"call@98","snapshotName":"after@call@98","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[90,1]],"viewport":{"width":1280,"height":720},"timestamp":4868.334,"wallTime":1772649750426,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@100","startTime":4894.634,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@138","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@100"} -{"type":"frame-snapshot","snapshot":{"callId":"call@100","snapshotName":"before@call@100","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[91,1]],"viewport":{"width":1280,"height":720},"timestamp":4898.561,"wallTime":1772649750454,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@100","endTime":4933.314,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@100"} -{"type":"frame-snapshot","snapshot":{"callId":"call@100","snapshotName":"after@call@100","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[92,1]],"viewport":{"width":1280,"height":720},"timestamp":4934.431,"wallTime":1772649750493,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@102","startTime":4935.641,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@139","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@102"} -{"type":"frame-snapshot","snapshot":{"callId":"call@102","snapshotName":"before@call@102","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[93,1]],"viewport":{"width":1280,"height":720},"timestamp":4936.54,"wallTime":1772649750495,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@102","endTime":4962.952,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@102"} -{"type":"frame-snapshot","snapshot":{"callId":"call@102","snapshotName":"after@call@102","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[94,1]],"viewport":{"width":1280,"height":720},"timestamp":4964.486,"wallTime":1772649750523,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@104","startTime":4967.436,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@140","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@104"} -{"type":"frame-snapshot","snapshot":{"callId":"call@104","snapshotName":"before@call@104","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[95,1]],"viewport":{"width":1280,"height":720},"timestamp":4968.922,"wallTime":1772649750527,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@104","endTime":4995.21,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@104"} -{"type":"frame-snapshot","snapshot":{"callId":"call@104","snapshotName":"after@call@104","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[96,1]],"viewport":{"width":1280,"height":720},"timestamp":4996.739,"wallTime":1772649750555,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@106","startTime":4999.6,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@141","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@106"} -{"type":"frame-snapshot","snapshot":{"callId":"call@106","snapshotName":"before@call@106","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[97,1]],"viewport":{"width":1280,"height":720},"timestamp":5001.141,"wallTime":1772649750559,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@106","endTime":5027.561,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@106"} -{"type":"frame-snapshot","snapshot":{"callId":"call@106","snapshotName":"after@call@106","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[98,1]],"viewport":{"width":1280,"height":720},"timestamp":5029.593,"wallTime":1772649750587,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@108","startTime":5033.096,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@142","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@108"} -{"type":"frame-snapshot","snapshot":{"callId":"call@108","snapshotName":"before@call@108","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[99,1]],"viewport":{"width":1280,"height":720},"timestamp":5034.586,"wallTime":1772649750593,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@108","endTime":5059.938,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@108"} -{"type":"frame-snapshot","snapshot":{"callId":"call@108","snapshotName":"after@call@108","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[100,1]],"viewport":{"width":1280,"height":720},"timestamp":5061.444,"wallTime":1772649750620,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@110","startTime":5064.311,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@143","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@110"} -{"type":"frame-snapshot","snapshot":{"callId":"call@110","snapshotName":"before@call@110","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[101,1]],"viewport":{"width":1280,"height":720},"timestamp":5065.859,"wallTime":1772649750624,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@110","endTime":5092.275,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@110"} -{"type":"frame-snapshot","snapshot":{"callId":"call@110","snapshotName":"after@call@110","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[102,1]],"viewport":{"width":1280,"height":720},"timestamp":5093.975,"wallTime":1772649750652,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@112","startTime":5096.929,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@144","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@112"} -{"type":"frame-snapshot","snapshot":{"callId":"call@112","snapshotName":"before@call@112","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[103,1]],"viewport":{"width":1280,"height":720},"timestamp":5098.58,"wallTime":1772649750657,"collectionTime":1.0000000000002274,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@112","endTime":5124.487,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@112"} -{"type":"frame-snapshot","snapshot":{"callId":"call@112","snapshotName":"after@call@112","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[104,1]],"viewport":{"width":1280,"height":720},"timestamp":5126.157,"wallTime":1772649750684,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@114","startTime":5129.221,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@145","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@114"} -{"type":"frame-snapshot","snapshot":{"callId":"call@114","snapshotName":"before@call@114","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[105,1]],"viewport":{"width":1280,"height":720},"timestamp":5130.809,"wallTime":1772649750689,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@114","endTime":5156.687,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@114"} -{"type":"frame-snapshot","snapshot":{"callId":"call@114","snapshotName":"after@call@114","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[106,1]],"viewport":{"width":1280,"height":720},"timestamp":5158.279,"wallTime":1772649750716,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@116","startTime":5161.21,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@146","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@116"} -{"type":"frame-snapshot","snapshot":{"callId":"call@116","snapshotName":"before@call@116","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[107,1]],"viewport":{"width":1280,"height":720},"timestamp":5162.648,"wallTime":1772649750721,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@116","endTime":5188.987,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@116"} -{"type":"frame-snapshot","snapshot":{"callId":"call@116","snapshotName":"after@call@116","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[108,1]],"viewport":{"width":1280,"height":720},"timestamp":5190.546,"wallTime":1772649750749,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@118","startTime":5193.638,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@147","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@118"} -{"type":"frame-snapshot","snapshot":{"callId":"call@118","snapshotName":"before@call@118","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[109,1]],"viewport":{"width":1280,"height":720},"timestamp":5195.096,"wallTime":1772649750753,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@118","endTime":5221.375,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@118"} -{"type":"frame-snapshot","snapshot":{"callId":"call@118","snapshotName":"after@call@118","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[110,1]],"viewport":{"width":1280,"height":720},"timestamp":5222.965,"wallTime":1772649750781,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@120","startTime":5225.864,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@148","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@120"} -{"type":"frame-snapshot","snapshot":{"callId":"call@120","snapshotName":"before@call@120","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[111,1]],"viewport":{"width":1280,"height":720},"timestamp":5227.337,"wallTime":1772649750786,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@120","endTime":5253.495,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@120"} -{"type":"frame-snapshot","snapshot":{"callId":"call@120","snapshotName":"after@call@120","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[112,1]],"viewport":{"width":1280,"height":720},"timestamp":5255.127,"wallTime":1772649750813,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@122","startTime":5258.072,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@149","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@122"} -{"type":"frame-snapshot","snapshot":{"callId":"call@122","snapshotName":"before@call@122","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[113,1]],"viewport":{"width":1280,"height":720},"timestamp":5259.524,"wallTime":1772649750818,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@122","endTime":5285.91,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@122"} -{"type":"frame-snapshot","snapshot":{"callId":"call@122","snapshotName":"after@call@122","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[114,1]],"viewport":{"width":1280,"height":720},"timestamp":5287.512,"wallTime":1772649750846,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@124","startTime":5290.465,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@150","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@124"} -{"type":"frame-snapshot","snapshot":{"callId":"call@124","snapshotName":"before@call@124","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[115,1]],"viewport":{"width":1280,"height":720},"timestamp":5291.941,"wallTime":1772649750850,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@124","endTime":5318.124,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@124"} -{"type":"frame-snapshot","snapshot":{"callId":"call@124","snapshotName":"after@call@124","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[116,1]],"viewport":{"width":1280,"height":720},"timestamp":5319.649,"wallTime":1772649750878,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@126","startTime":5322.657,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@151","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@126"} -{"type":"frame-snapshot","snapshot":{"callId":"call@126","snapshotName":"before@call@126","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[117,1]],"viewport":{"width":1280,"height":720},"timestamp":5324.114,"wallTime":1772649750882,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@126","endTime":5350.429,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@126"} -{"type":"frame-snapshot","snapshot":{"callId":"call@126","snapshotName":"after@call@126","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[118,1]],"viewport":{"width":1280,"height":720},"timestamp":5351.938,"wallTime":1772649750910,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@128","startTime":5354.804,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@152","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@128"} -{"type":"frame-snapshot","snapshot":{"callId":"call@128","snapshotName":"before@call@128","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[119,1]],"viewport":{"width":1280,"height":720},"timestamp":5356.238,"wallTime":1772649750914,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@128","endTime":5382.674,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@128"} -{"type":"frame-snapshot","snapshot":{"callId":"call@128","snapshotName":"after@call@128","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[120,1]],"viewport":{"width":1280,"height":720},"timestamp":5384.227,"wallTime":1772649750942,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@130","startTime":5387.138,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@153","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@130"} -{"type":"frame-snapshot","snapshot":{"callId":"call@130","snapshotName":"before@call@130","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[121,1]],"viewport":{"width":1280,"height":720},"timestamp":5388.669,"wallTime":1772649750947,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@130","endTime":5414.981,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@130"} -{"type":"frame-snapshot","snapshot":{"callId":"call@130","snapshotName":"after@call@130","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[122,1]],"viewport":{"width":1280,"height":720},"timestamp":5416.457,"wallTime":1772649750975,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@132","startTime":5419.314,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@154","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@132"} -{"type":"frame-snapshot","snapshot":{"callId":"call@132","snapshotName":"before@call@132","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[123,1]],"viewport":{"width":1280,"height":720},"timestamp":5420.787,"wallTime":1772649750979,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@132","endTime":5447.2,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@132"} -{"type":"frame-snapshot","snapshot":{"callId":"call@132","snapshotName":"after@call@132","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[124,1]],"viewport":{"width":1280,"height":720},"timestamp":5448.76,"wallTime":1772649751007,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@134","startTime":5451.714,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@155","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@134"} -{"type":"frame-snapshot","snapshot":{"callId":"call@134","snapshotName":"before@call@134","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[125,1]],"viewport":{"width":1280,"height":720},"timestamp":5453.183,"wallTime":1772649751011,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@134","endTime":5479.512,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@134"} -{"type":"frame-snapshot","snapshot":{"callId":"call@134","snapshotName":"after@call@134","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[126,1]],"viewport":{"width":1280,"height":720},"timestamp":5481.065,"wallTime":1772649751039,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@136","startTime":5483.955,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@156","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@136"} -{"type":"frame-snapshot","snapshot":{"callId":"call@136","snapshotName":"before@call@136","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[127,1]],"viewport":{"width":1280,"height":720},"timestamp":5485.439,"wallTime":1772649751044,"collectionTime":0.9999999999995453,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@136","endTime":5511.886,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@136"} -{"type":"frame-snapshot","snapshot":{"callId":"call@136","snapshotName":"after@call@136","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[128,1]],"viewport":{"width":1280,"height":720},"timestamp":5513.374,"wallTime":1772649751072,"collectionTime":0.9999999999995453,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@138","startTime":5516.264,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@157","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@138"} -{"type":"frame-snapshot","snapshot":{"callId":"call@138","snapshotName":"before@call@138","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[129,1]],"viewport":{"width":1280,"height":720},"timestamp":5517.69,"wallTime":1772649751076,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@138","endTime":5544.181,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@138"} -{"type":"frame-snapshot","snapshot":{"callId":"call@138","snapshotName":"after@call@138","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[130,1]],"viewport":{"width":1280,"height":720},"timestamp":5545.679,"wallTime":1772649751104,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@140","startTime":5548.539,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@158","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@140"} -{"type":"frame-snapshot","snapshot":{"callId":"call@140","snapshotName":"before@call@140","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[131,1]],"viewport":{"width":1280,"height":720},"timestamp":5550.113,"wallTime":1772649751108,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@140","endTime":5576.532,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@140"} -{"type":"frame-snapshot","snapshot":{"callId":"call@140","snapshotName":"after@call@140","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[132,1]],"viewport":{"width":1280,"height":720},"timestamp":5578.126,"wallTime":1772649751136,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@142","startTime":5580.999,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@159","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@142"} -{"type":"frame-snapshot","snapshot":{"callId":"call@142","snapshotName":"before@call@142","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[133,1]],"viewport":{"width":1280,"height":720},"timestamp":5582.44,"wallTime":1772649751141,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@142","endTime":5608.753,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@142"} -{"type":"frame-snapshot","snapshot":{"callId":"call@142","snapshotName":"after@call@142","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[134,1]],"viewport":{"width":1280,"height":720},"timestamp":5610.367,"wallTime":1772649751168,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@144","startTime":5613.308,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@160","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@144"} -{"type":"frame-snapshot","snapshot":{"callId":"call@144","snapshotName":"before@call@144","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[135,1]],"viewport":{"width":1280,"height":720},"timestamp":5614.822,"wallTime":1772649751173,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@144","endTime":5641.101,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@144"} -{"type":"frame-snapshot","snapshot":{"callId":"call@144","snapshotName":"after@call@144","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[136,1]],"viewport":{"width":1280,"height":720},"timestamp":5642.729,"wallTime":1772649751201,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@146","startTime":5645.708,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@161","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@146"} -{"type":"frame-snapshot","snapshot":{"callId":"call@146","snapshotName":"before@call@146","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[137,1]],"viewport":{"width":1280,"height":720},"timestamp":5652.097,"wallTime":1772649751210,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@146","endTime":5673.352,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@146"} -{"type":"frame-snapshot","snapshot":{"callId":"call@146","snapshotName":"after@call@146","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[138,1]],"viewport":{"width":1280,"height":720},"timestamp":5675.077,"wallTime":1772649751233,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@148","startTime":5678.057,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@162","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@148"} -{"type":"frame-snapshot","snapshot":{"callId":"call@148","snapshotName":"before@call@148","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[139,1]],"viewport":{"width":1280,"height":720},"timestamp":5680.357,"wallTime":1772649751238,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@148","endTime":5705.67,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@148"} -{"type":"frame-snapshot","snapshot":{"callId":"call@148","snapshotName":"after@call@148","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[140,1]],"viewport":{"width":1280,"height":720},"timestamp":5707.454,"wallTime":1772649751266,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@150","startTime":5710.455,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@163","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@150"} -{"type":"frame-snapshot","snapshot":{"callId":"call@150","snapshotName":"before@call@150","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[141,1]],"viewport":{"width":1280,"height":720},"timestamp":5711.952,"wallTime":1772649751270,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@150","endTime":5738.07,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@150"} -{"type":"frame-snapshot","snapshot":{"callId":"call@150","snapshotName":"after@call@150","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[142,1]],"viewport":{"width":1280,"height":720},"timestamp":5739.662,"wallTime":1772649751298,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@152","startTime":5742.785,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@164","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@152"} -{"type":"frame-snapshot","snapshot":{"callId":"call@152","snapshotName":"before@call@152","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[143,1]],"viewport":{"width":1280,"height":720},"timestamp":5744.276,"wallTime":1772649751302,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@152","endTime":5770.149,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@152"} -{"type":"frame-snapshot","snapshot":{"callId":"call@152","snapshotName":"after@call@152","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[144,1]],"viewport":{"width":1280,"height":720},"timestamp":5771.959,"wallTime":1772649751330,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@154","startTime":5775.093,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@165","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@154"} -{"type":"frame-snapshot","snapshot":{"callId":"call@154","snapshotName":"before@call@154","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[145,1]],"viewport":{"width":1280,"height":720},"timestamp":5776.661,"wallTime":1772649751335,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@154","endTime":5802.457,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@154"} -{"type":"frame-snapshot","snapshot":{"callId":"call@154","snapshotName":"after@call@154","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[146,1]],"viewport":{"width":1280,"height":720},"timestamp":5803.963,"wallTime":1772649751362,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@156","startTime":5807.016,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@166","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@156"} -{"type":"frame-snapshot","snapshot":{"callId":"call@156","snapshotName":"before@call@156","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[147,1]],"viewport":{"width":1280,"height":720},"timestamp":5808.508,"wallTime":1772649751367,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@156","endTime":5834.865,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@156"} -{"type":"frame-snapshot","snapshot":{"callId":"call@156","snapshotName":"after@call@156","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[148,1]],"viewport":{"width":1280,"height":720},"timestamp":5836.398,"wallTime":1772649751394,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@158","startTime":5839.446,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@167","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@158"} -{"type":"frame-snapshot","snapshot":{"callId":"call@158","snapshotName":"before@call@158","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[149,1]],"viewport":{"width":1280,"height":720},"timestamp":5840.985,"wallTime":1772649751399,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@158","endTime":5867.14,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@158"} -{"type":"frame-snapshot","snapshot":{"callId":"call@158","snapshotName":"after@call@158","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[150,1]],"viewport":{"width":1280,"height":720},"timestamp":5868.675,"wallTime":1772649751427,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@160","startTime":5871.746,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@168","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@160"} -{"type":"frame-snapshot","snapshot":{"callId":"call@160","snapshotName":"before@call@160","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[151,1]],"viewport":{"width":1280,"height":720},"timestamp":5873.185,"wallTime":1772649751431,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@160","endTime":5899.393,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@160"} -{"type":"frame-snapshot","snapshot":{"callId":"call@160","snapshotName":"after@call@160","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[152,1]],"viewport":{"width":1280,"height":720},"timestamp":5900.897,"wallTime":1772649751459,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@162","startTime":5903.931,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@169","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@162"} -{"type":"frame-snapshot","snapshot":{"callId":"call@162","snapshotName":"before@call@162","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[153,1]],"viewport":{"width":1280,"height":720},"timestamp":5905.476,"wallTime":1772649751464,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@162","endTime":5931.772,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@162"} -{"type":"frame-snapshot","snapshot":{"callId":"call@162","snapshotName":"after@call@162","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[154,1]],"viewport":{"width":1280,"height":720},"timestamp":5933.309,"wallTime":1772649751491,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@164","startTime":5936.462,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@170","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@164"} -{"type":"frame-snapshot","snapshot":{"callId":"call@164","snapshotName":"before@call@164","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[155,1]],"viewport":{"width":1280,"height":720},"timestamp":5937.939,"wallTime":1772649751496,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@164","endTime":5964.03,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@164"} -{"type":"frame-snapshot","snapshot":{"callId":"call@164","snapshotName":"after@call@164","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[156,1]],"viewport":{"width":1280,"height":720},"timestamp":5965.551,"wallTime":1772649751524,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@166","startTime":5968.622,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@171","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@166"} -{"type":"frame-snapshot","snapshot":{"callId":"call@166","snapshotName":"before@call@166","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[157,1]],"viewport":{"width":1280,"height":720},"timestamp":5970.096,"wallTime":1772649751528,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@166","endTime":5996.323,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@166"} -{"type":"frame-snapshot","snapshot":{"callId":"call@166","snapshotName":"after@call@166","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[158,1]],"viewport":{"width":1280,"height":720},"timestamp":5997.845,"wallTime":1772649751556,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@168","startTime":6000.9,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@172","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@168"} -{"type":"frame-snapshot","snapshot":{"callId":"call@168","snapshotName":"before@call@168","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[159,1]],"viewport":{"width":1280,"height":720},"timestamp":6002.369,"wallTime":1772649751561,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@168","endTime":6028.732,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@168"} -{"type":"frame-snapshot","snapshot":{"callId":"call@168","snapshotName":"after@call@168","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[160,1]],"viewport":{"width":1280,"height":720},"timestamp":6030.227,"wallTime":1772649751588,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@170","startTime":6033.468,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@173","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@170"} -{"type":"frame-snapshot","snapshot":{"callId":"call@170","snapshotName":"before@call@170","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[161,1]],"viewport":{"width":1280,"height":720},"timestamp":6034.872,"wallTime":1772649751593,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@170","endTime":6060.991,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@170"} -{"type":"frame-snapshot","snapshot":{"callId":"call@170","snapshotName":"after@call@170","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[162,1]],"viewport":{"width":1280,"height":720},"timestamp":6062.541,"wallTime":1772649751621,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@172","startTime":6065.655,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@174","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@172"} -{"type":"frame-snapshot","snapshot":{"callId":"call@172","snapshotName":"before@call@172","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[163,1]],"viewport":{"width":1280,"height":720},"timestamp":6067.165,"wallTime":1772649751625,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@172","endTime":6093.236,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@172"} -{"type":"frame-snapshot","snapshot":{"callId":"call@172","snapshotName":"after@call@172","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[164,1]],"viewport":{"width":1280,"height":720},"timestamp":6094.83,"wallTime":1772649751653,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@174","startTime":6097.936,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@175","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@174"} -{"type":"frame-snapshot","snapshot":{"callId":"call@174","snapshotName":"before@call@174","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[165,1]],"viewport":{"width":1280,"height":720},"timestamp":6099.439,"wallTime":1772649751658,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@174","endTime":6125.553,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@174"} -{"type":"frame-snapshot","snapshot":{"callId":"call@174","snapshotName":"after@call@174","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[166,1]],"viewport":{"width":1280,"height":720},"timestamp":6127.005,"wallTime":1772649751685,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@176","startTime":6130.082,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@176","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@176"} -{"type":"frame-snapshot","snapshot":{"callId":"call@176","snapshotName":"before@call@176","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[167,1]],"viewport":{"width":1280,"height":720},"timestamp":6131.54,"wallTime":1772649751690,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@176","endTime":6157.872,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@176"} -{"type":"frame-snapshot","snapshot":{"callId":"call@176","snapshotName":"after@call@176","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[168,1]],"viewport":{"width":1280,"height":720},"timestamp":6159.375,"wallTime":1772649751718,"collectionTime":1,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@178","startTime":6162.566,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@177","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@178"} -{"type":"frame-snapshot","snapshot":{"callId":"call@178","snapshotName":"before@call@178","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[169,1]],"viewport":{"width":1280,"height":720},"timestamp":6164.045,"wallTime":1772649751722,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@178","endTime":6190.203,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@178"} -{"type":"frame-snapshot","snapshot":{"callId":"call@178","snapshotName":"after@call@178","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[170,1]],"viewport":{"width":1280,"height":720},"timestamp":6191.723,"wallTime":1772649751750,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@180","startTime":6194.889,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@178","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@180"} -{"type":"frame-snapshot","snapshot":{"callId":"call@180","snapshotName":"before@call@180","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[171,1]],"viewport":{"width":1280,"height":720},"timestamp":6196.432,"wallTime":1772649751754,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@180","endTime":6222.533,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@180"} -{"type":"frame-snapshot","snapshot":{"callId":"call@180","snapshotName":"after@call@180","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[172,1]],"viewport":{"width":1280,"height":720},"timestamp":6224.047,"wallTime":1772649751782,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@182","startTime":6227.122,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@179","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@182"} -{"type":"frame-snapshot","snapshot":{"callId":"call@182","snapshotName":"before@call@182","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[173,1]],"viewport":{"width":1280,"height":720},"timestamp":6228.578,"wallTime":1772649751787,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@182","endTime":6254.729,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@182"} -{"type":"frame-snapshot","snapshot":{"callId":"call@182","snapshotName":"after@call@182","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[174,1]],"viewport":{"width":1280,"height":720},"timestamp":6256.174,"wallTime":1772649751814,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@184","startTime":6259.293,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@180","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@184"} -{"type":"frame-snapshot","snapshot":{"callId":"call@184","snapshotName":"before@call@184","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[175,1]],"viewport":{"width":1280,"height":720},"timestamp":6260.771,"wallTime":1772649751819,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@184","endTime":6286.996,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@184"} -{"type":"frame-snapshot","snapshot":{"callId":"call@184","snapshotName":"after@call@184","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[176,1]],"viewport":{"width":1280,"height":720},"timestamp":6288.485,"wallTime":1772649751847,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@186","startTime":6291.559,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@181","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@186"} -{"type":"frame-snapshot","snapshot":{"callId":"call@186","snapshotName":"before@call@186","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[177,1]],"viewport":{"width":1280,"height":720},"timestamp":6293.033,"wallTime":1772649751851,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@186","endTime":6319.318,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@186"} -{"type":"frame-snapshot","snapshot":{"callId":"call@186","snapshotName":"after@call@186","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[178,1]],"viewport":{"width":1280,"height":720},"timestamp":6320.877,"wallTime":1772649751879,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@188","startTime":6324.043,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@182","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@188"} -{"type":"frame-snapshot","snapshot":{"callId":"call@188","snapshotName":"before@call@188","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[179,1]],"viewport":{"width":1280,"height":720},"timestamp":6325.501,"wallTime":1772649751884,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@188","endTime":6351.677,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@188"} -{"type":"frame-snapshot","snapshot":{"callId":"call@188","snapshotName":"after@call@188","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[180,1]],"viewport":{"width":1280,"height":720},"timestamp":6353.271,"wallTime":1772649751911,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@190","startTime":6356.401,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@183","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@190"} -{"type":"frame-snapshot","snapshot":{"callId":"call@190","snapshotName":"before@call@190","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[181,1]],"viewport":{"width":1280,"height":720},"timestamp":6357.765,"wallTime":1772649751916,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@190","endTime":6383.898,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@190"} -{"type":"frame-snapshot","snapshot":{"callId":"call@190","snapshotName":"after@call@190","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[182,1]],"viewport":{"width":1280,"height":720},"timestamp":6385.557,"wallTime":1772649751944,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@192","startTime":6388.646,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@184","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@192"} -{"type":"frame-snapshot","snapshot":{"callId":"call@192","snapshotName":"before@call@192","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[183,1]],"viewport":{"width":1280,"height":720},"timestamp":6390.143,"wallTime":1772649751948,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@192","endTime":6416.253,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@192"} -{"type":"frame-snapshot","snapshot":{"callId":"call@192","snapshotName":"after@call@192","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[184,1]],"viewport":{"width":1280,"height":720},"timestamp":6417.783,"wallTime":1772649751976,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@194","startTime":6420.863,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@185","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@194"} -{"type":"frame-snapshot","snapshot":{"callId":"call@194","snapshotName":"before@call@194","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[185,1]],"viewport":{"width":1280,"height":720},"timestamp":6422.317,"wallTime":1772649751980,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@194","endTime":6448.533,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@194"} -{"type":"frame-snapshot","snapshot":{"callId":"call@194","snapshotName":"after@call@194","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[186,1]],"viewport":{"width":1280,"height":720},"timestamp":6450.05,"wallTime":1772649752008,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@196","startTime":6453.219,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@186","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@196"} -{"type":"frame-snapshot","snapshot":{"callId":"call@196","snapshotName":"before@call@196","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[187,1]],"viewport":{"width":1280,"height":720},"timestamp":6455.763,"wallTime":1772649752013,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@196","endTime":6480.746,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@196"} -{"type":"frame-snapshot","snapshot":{"callId":"call@196","snapshotName":"after@call@196","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[188,1]],"viewport":{"width":1280,"height":720},"timestamp":6482.247,"wallTime":1772649752040,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@198","startTime":6495.655,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@187","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@198"} -{"type":"frame-snapshot","snapshot":{"callId":"call@198","snapshotName":"before@call@198","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[189,1]],"viewport":{"width":1280,"height":720},"timestamp":6497.325,"wallTime":1772649752055,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@198","endTime":6529.103,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@198"} -{"type":"frame-snapshot","snapshot":{"callId":"call@198","snapshotName":"after@call@198","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[190,1]],"viewport":{"width":1280,"height":720},"timestamp":6530.662,"wallTime":1772649752089,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@200","startTime":6535.173,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@188","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@200"} -{"type":"frame-snapshot","snapshot":{"callId":"call@200","snapshotName":"before@call@200","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[191,1]],"viewport":{"width":1280,"height":720},"timestamp":6536.81,"wallTime":1772649752095,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@200","endTime":6561.502,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@200"} -{"type":"frame-snapshot","snapshot":{"callId":"call@200","snapshotName":"after@call@200","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[192,1]],"viewport":{"width":1280,"height":720},"timestamp":6563.181,"wallTime":1772649752121,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@202","startTime":6566.522,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@189","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@202"} -{"type":"frame-snapshot","snapshot":{"callId":"call@202","snapshotName":"before@call@202","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[193,1]],"viewport":{"width":1280,"height":720},"timestamp":6568.061,"wallTime":1772649752126,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@202","endTime":6593.822,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@202"} -{"type":"frame-snapshot","snapshot":{"callId":"call@202","snapshotName":"after@call@202","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[194,1]],"viewport":{"width":1280,"height":720},"timestamp":6595.387,"wallTime":1772649752153,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@204","startTime":6598.715,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@190","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@204"} -{"type":"frame-snapshot","snapshot":{"callId":"call@204","snapshotName":"before@call@204","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[195,1]],"viewport":{"width":1280,"height":720},"timestamp":6600.184,"wallTime":1772649752158,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@204","endTime":6626.123,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@204"} -{"type":"frame-snapshot","snapshot":{"callId":"call@204","snapshotName":"after@call@204","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[196,1]],"viewport":{"width":1280,"height":720},"timestamp":6627.647,"wallTime":1772649752186,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@206","startTime":6630.825,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@191","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@206"} -{"type":"frame-snapshot","snapshot":{"callId":"call@206","snapshotName":"before@call@206","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[197,1]],"viewport":{"width":1280,"height":720},"timestamp":6632.532,"wallTime":1772649752190,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@206","endTime":6658.507,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@206"} -{"type":"frame-snapshot","snapshot":{"callId":"call@206","snapshotName":"after@call@206","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[198,1]],"viewport":{"width":1280,"height":720},"timestamp":6660.04,"wallTime":1772649752218,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"before","callId":"call@208","startTime":6663.216,"class":"Frame","method":"evaluateExpression","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":true,"arg":{"value":{"v":"undefined"},"handles":[]}},"stepId":"pw:api@192","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","beforeSnapshot":"before@call@208"} -{"type":"frame-snapshot","snapshot":{"callId":"call@208","snapshotName":"before@call@208","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[199,1]],"viewport":{"width":1280,"height":720},"timestamp":6664.657,"wallTime":1772649752223,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} -{"type":"after","callId":"call@208","endTime":6690.67,"result":{"value":{"v":"undefined"}},"afterSnapshot":"after@call@208"} -{"type":"frame-snapshot","snapshot":{"callId":"call@208","snapshotName":"after@call@208","pageId":"page@504e8ddc2fe731e3535d4800f737b62a","frameId":"frame@cde5dc74a700c4811a6f11cf044883ce","frameUrl":"about:blank","html":[[200,1]],"viewport":{"width":1280,"height":720},"timestamp":6692.126,"wallTime":1772649752250,"collectionTime":0,"resourceOverrides":[],"isMainFrame":true}} diff --git a/www/resources/page@504e8ddc2fe731e3535d4800f737b62a-1772649748935.jpeg b/www/resources/page@504e8ddc2fe731e3535d4800f737b62a-1772649748935.jpeg deleted file mode 100644 index 5bd8cdbe43223..0000000000000 Binary files a/www/resources/page@504e8ddc2fe731e3535d4800f737b62a-1772649748935.jpeg and /dev/null differ diff --git a/www/resources/page@504e8ddc2fe731e3535d4800f737b62a-1772649748946.jpeg b/www/resources/page@504e8ddc2fe731e3535d4800f737b62a-1772649748946.jpeg deleted file mode 100644 index b7e1c58c4648a..0000000000000 Binary files a/www/resources/page@504e8ddc2fe731e3535d4800f737b62a-1772649748946.jpeg and /dev/null differ diff --git a/www/resources/src@24aade36943ae8f9a3faa4b83739e7320107e940.txt b/www/resources/src@24aade36943ae8f9a3faa4b83739e7320107e940.txt deleted file mode 100644 index e2af8fd019b7c..0000000000000 --- a/www/resources/src@24aade36943ae8f9a3faa4b83739e7320107e940.txt +++ /dev/null @@ -1,59 +0,0 @@ -/** - * Copyright (c) Microsoft Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { test } from '@playwright/test'; -import type { TestModeName } from './testMode'; -import { DefaultTestMode, DriverTestMode } from './testMode'; - -export type TestModeWorkerOptions = { - mode: TestModeName; -}; - -export type TestModeTestFixtures = { - toImpl: (rpcObject?: any) => any; -}; - -export type TestModeWorkerFixtures = { - toImplInWorkerScope: (rpcObject?: any) => any; - playwright: typeof import('@playwright/test'); -}; - -export const testModeTest = test.extend({ - mode: ['default', { scope: 'worker', option: true }], - playwright: [async ({ mode }, run) => { - const testMode = { - 'default': new DefaultTestMode(), - 'service': new DefaultTestMode(), - 'service2': new DefaultTestMode(), - 'service-grid': new DefaultTestMode(), - 'wsl': new DefaultTestMode(), - 'driver': new DriverTestMode(), - }[mode]; - const playwright = await testMode.setup(); - await run(playwright); - await testMode.teardown(); - }, { scope: 'worker' }], - - toImplInWorkerScope: [async ({ playwright }, use) => { - await use((playwright as any)._connection.toImpl); - }, { scope: 'worker' }], - - toImpl: async ({ toImplInWorkerScope: toImplWorker, mode }, use, testInfo) => { - if (mode !== 'default' || process.env.PW_TEST_REUSE_CONTEXT) - testInfo.skip(); - await use(toImplWorker); - }, -}); diff --git a/www/resources/src@6cc92dcf2feef6b379e868c1225edd91457f68a8.txt b/www/resources/src@6cc92dcf2feef6b379e868c1225edd91457f68a8.txt deleted file mode 100644 index 670b583b326bc..0000000000000 --- a/www/resources/src@6cc92dcf2feef6b379e868c1225edd91457f68a8.txt +++ /dev/null @@ -1,221 +0,0 @@ -/** - * Copyright (c) Microsoft Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import * as fs from 'fs'; -import * as os from 'os'; -import * as path from 'path'; -import { baseTest } from './baseTest'; -import { RunServer, RemoteServer } from './remoteServer'; -import { removeFolders } from '../../packages/playwright-core/lib/server/utils/fileUtils'; -import { isBidiChannel, parseHar } from '../config/utils'; -import { createSkipTestPredicate } from '../bidi/expectationUtil'; -import { hostPlatform } from '../../packages/playwright-core/src/server/utils/hostPlatform'; - -import type { PageTestFixtures, PageWorkerFixtures } from '../page/pageTestApi'; -import type { RemoteServerOptions, PlaywrightServer } from './remoteServer'; -import type { BrowserContext, BrowserContextOptions, BrowserType, Page } from 'playwright-core'; -import type { Log } from '../../packages/trace/src/har'; -import type { TestInfo } from '@playwright/test'; - -export type BrowserTestWorkerFixtures = PageWorkerFixtures & { - browserVersion: string; - defaultSameSiteCookieValue: string; - allowsThirdParty: boolean; - browserMajorVersion: number; - browserType: BrowserType; - isAndroid: boolean; - isElectron: boolean; - isHeadlessShell: boolean; - isFrozenWebkit: boolean; - nodeVersion: { major: number, minor: number, patch: number }; - isBidi: boolean; - bidiTestSkipPredicate: (info: TestInfo) => boolean; -}; - -interface StartRemoteServer { - (kind: 'run-server' | 'launchServer', options?: RemoteServerOptions): Promise; - (kind: 'launchServer', options?: RemoteServerOptions): Promise; -} - -type BrowserTestTestFixtures = PageTestFixtures & { - createUserDataDir: () => Promise; - launchPersistent: (options?: Parameters[1]) => Promise<{ context: BrowserContext, page: Page }>; - startRemoteServer: StartRemoteServer; - contextFactory: (options?: BrowserContextOptions) => Promise; - pageWithHar(options?: { outputPath?: string, content?: 'embed' | 'attach' | 'omit', omitContent?: boolean }): Promise<{ context: BrowserContext, page: Page, getLog: () => Promise, getZip: () => Promise> }> - autoSkipBidiTest: void; -}; - -const test = baseTest.extend({ - browserVersion: [async ({ browser }, run) => { - await run(browser.version()); - }, { scope: 'worker' }], - - browserType: [async ({ playwright, browserName, mode }, run) => { - test.skip(mode === 'service2'); - await run(playwright[browserName]); - }, { scope: 'worker' }], - - allowsThirdParty: [async ({ browserName, channel }, run) => { - if (browserName === 'firefox') - await run(true); - else - await run(false); - }, { scope: 'worker' }], - - defaultSameSiteCookieValue: [async ({ browserName, platform, channel, isBidi }, run) => { - if (browserName === 'chromium' || isBidi) - await run('Lax'); - else if (browserName === 'webkit' && (platform === 'linux' || channel === 'webkit-wsl')) - await run('Lax'); - else if (browserName === 'webkit') - await run('None'); // Windows + older macOS - else if (browserName === 'firefox') - await run('None'); - else - throw new Error('unknown browser - ' + browserName); - }, { scope: 'worker' }], - - browserMajorVersion: [async ({ browserVersion }, run) => { - await run(Number(browserVersion.split('.')[0])); - }, { scope: 'worker' }], - - nodeVersion: [async ({}, use) => { - const [major, minor, patch] = process.versions.node.split('.'); - await use({ major: +major, minor: +minor, patch: +patch }); - }, { scope: 'worker' }], - - isBidi: [async ({ channel }, use) => { - await use(isBidiChannel(channel)); - }, { scope: 'worker' }], - - isAndroid: [false, { scope: 'worker' }], - isElectron: [false, { scope: 'worker' }], - electronMajorVersion: [0, { scope: 'worker' }], - - isHeadlessShell: [async ({ browserName, channel, headless }, use) => { - const isShell = channel === 'chromium-headless-shell' || (!channel && headless); - const isToTShell = channel === 'chromium-tip-of-tree-headless-shell' || (channel === 'chromium-tip-of-tree' && headless); - await use(browserName === 'chromium' && (isShell || isToTShell)); - }, { scope: 'worker' }], - - isFrozenWebkit: [async ({ browserName, isMac, macVersion }, use) => { - await use(browserName === 'webkit' && (hostPlatform.startsWith('debian11') || hostPlatform.startsWith('ubuntu20.04') || (isMac && macVersion < 15))); - }, { scope: 'worker' }], - - contextFactory: async ({ _contextFactory }: any, run) => { - await run(async options => { - const { context } = await _contextFactory(options); - return context; - }); - }, - - createUserDataDir: async ({ mode }, run) => { - test.skip(mode.startsWith('service')); - const dirs: string[] = []; - // We do not put user data dir in testOutputPath, - // because we do not want to upload them as test result artifacts. - // - // Additionally, it is impossible to upload user data dir after test run: - // - Firefox removes lock file later, presumably from another watchdog process? - // - WebKit has circular symlinks that makes CI go crazy. - await run(async () => { - const dir = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'playwright-test-')); - dirs.push(dir); - return dir; - }); - await removeFolders(dirs); - }, - - launchPersistent: async ({ createUserDataDir, browserType, mode }, run) => { - test.skip(mode !== 'default', 'Remote persistent contexts are not supported'); - - let persistentContext: BrowserContext | undefined; - await run(async options => { - if (persistentContext) - throw new Error('can only launch one persistent context'); - const userDataDir = await createUserDataDir(); - persistentContext = await browserType.launchPersistentContext(userDataDir, { ...options }); - const page = persistentContext.pages()[0]; - return { context: persistentContext, page }; - }); - if (persistentContext) - await persistentContext.close(); - }, - - startRemoteServer: async ({ childProcess, browserType, channel, mode }, run) => { - test.skip(mode !== 'default', 'Starting remote server is not supported in remote modes'); - - let server: PlaywrightServer | undefined; - const fn = async (kind: 'launchServer' | 'run-server', options?: RemoteServerOptions) => { - if (server) - throw new Error('can only start one remote server'); - if (kind === 'launchServer') { - const remoteServer = new RemoteServer(); - await remoteServer._start(childProcess, browserType, channel, options); - server = remoteServer; - } else { - const runServer = new RunServer(); - await runServer.start(childProcess, { artifactsDir: options?.artifactsDir }); - server = runServer; - } - return server; - }; - await run(fn as any); - if (server) { - await server.close(); - // Give any connected browsers a chance to disconnect to avoid - // poisoning next test with quasy-alive browsers. - await new Promise(f => setTimeout(f, 1000)); - } - }, - pageWithHar: async ({ contextFactory }, use, testInfo) => { - const pageWithHar = async (options: { outputPath?: string, content?: 'embed' | 'attach' | 'omit', omitContent?: boolean } = {}) => { - const harPath = testInfo.outputPath(options.outputPath || 'test.har'); - const context = await contextFactory({ recordHar: { path: harPath, content: options.content, omitContent: options.omitContent }, ignoreHTTPSErrors: true }); - const page = await context.newPage(); - return { - page, - context, - getLog: async () => { - await context.close(); - return JSON.parse(fs.readFileSync(harPath).toString())['log'] as Log; - }, - getZip: async () => { - await context.close(); - return parseHar(harPath); - }, - }; - }; - await use(pageWithHar); - }, - - bidiTestSkipPredicate: [async ({ }, run) => { - const filter = await createSkipTestPredicate(test.info().project.name); - await run(filter); - }, { scope: 'worker' }], - - autoSkipBidiTest: [async ({ bidiTestSkipPredicate }, run) => { - test.fixme(bidiTestSkipPredicate(test.info()), 'marked as timeout in bidi expectations'); - await run(); - }, { auto: true, scope: 'test' }], -}); - -export const playwrightTest = test; -export const browserTest = test; -export const contextTest = test; - -export { expect } from '@playwright/test'; diff --git a/www/resources/src@9c73c3c17d11bb78ec4db2600b4ce9ce2e35a790.txt b/www/resources/src@9c73c3c17d11bb78ec4db2600b4ce9ce2e35a790.txt deleted file mode 100644 index b712f9ef8167d..0000000000000 --- a/www/resources/src@9c73c3c17d11bb78ec4db2600b4ce9ce2e35a790.txt +++ /dev/null @@ -1,229 +0,0 @@ -/** - * Copyright Microsoft Corporation. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import type { Locator, Frame, Page } from 'playwright-core'; -import { ZipFile } from '../../packages/playwright-core/lib/server/utils/zipFile'; -import type { StackFrame } from '../../packages/protocol/src/channels'; -import { parseClientSideCallMetadata } from '../../packages/playwright-core/lib/utils/isomorphic/traceUtils'; -import { TraceLoader } from '../../packages/playwright-core/src/utils/isomorphic/trace/traceLoader'; -import { TraceModel } from '../../packages/playwright-core/src/utils/isomorphic/trace/traceModel'; -import type { ActionTraceEvent, TraceEvent } from '@trace/trace'; -import { renderTitleForCall } from '../../packages/playwright-core/lib/utils/isomorphic/protocolFormatter'; -import { ZipTraceLoaderBackend } from '../../packages/playwright-core/lib/server/trace/viewer/traceParser'; -import type { SnapshotStorage } from '../../packages/playwright-core/src/utils/isomorphic/trace/snapshotStorage'; - -export type BoundingBox = Awaited>; - -export async function attachFrame(page: Page, frameId: string, url: string): Promise { - const handle = await page.evaluateHandle(async ({ frameId, url }) => { - const frame = document.createElement('iframe'); - frame.src = url; - frame.id = frameId; - document.body.appendChild(frame); - await new Promise(x => frame.onload = x); - return frame; - }, { frameId, url }); - return handle.asElement().contentFrame() as Promise; -} - -export async function detachFrame(page: Page, frameId: string) { - await page.evaluate(frameId => { - document.getElementById(frameId)!.remove(); - }, frameId); -} - -export async function verifyViewport(page: Page, width: number, height: number) { - // `expect` may clash in test runner tests if imported eagerly. - const { expect } = require('@playwright/test'); - expect(page.viewportSize()!.width).toBe(width); - expect(page.viewportSize()!.height).toBe(height); - expect(await page.evaluate('window.innerWidth')).toBe(width); - expect(await page.evaluate('window.innerHeight')).toBe(height); -} - -export function expectedSSLError(browserName: string, platform: string, channel: string | undefined): RegExp { - if (browserName === 'chromium') - return /net::(ERR_CERT_AUTHORITY_INVALID|ERR_CERT_INVALID)/; - if (browserName === 'webkit') { - if (platform === 'darwin') - return /The certificate for this server is invalid/; - else if (platform === 'win32' && channel !== 'webkit-wsl') - return /SSL peer certificate or SSH remote key was not OK/; - else - return /Unacceptable TLS certificate|Operation was cancelled/; - } - if (browserName === 'firefox' && isBidiChannel(channel)) - return /MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT/; - return /SSL_ERROR_UNKNOWN/; -} - -export function isBidiChannel(channel: string | undefined): boolean { - return channel?.startsWith('bidi-chrom') || channel?.startsWith('moz-firefox') || false; -} - -export function chromiumVersionLessThan(a: string, b: string) { - const left: number[] = a.split('.').map(e => Number(e)); - const right: number[] = b.split('.').map(e => Number(e)); - for (let i = 0; i < 4; i++) { - if (left[i] > right[i]) - return false; - if (left[i] < right[i]) - return true; - } - return false; -} - -let didSuppressUnverifiedCertificateWarning = false; -let originalEmitWarning: (warning: string | Error, ...args: any[]) => void; -export function suppressCertificateWarning() { - if (didSuppressUnverifiedCertificateWarning) - return; - didSuppressUnverifiedCertificateWarning = true; - // Suppress one-time warning: - // https://github.com/nodejs/node/blob/1bbe66f432591aea83555d27dd76c55fea040a0d/lib/internal/options.js#L37-L49 - originalEmitWarning = process.emitWarning; - process.emitWarning = (warning, ...args) => { - if (typeof warning === 'string' && warning.includes('NODE_TLS_REJECT_UNAUTHORIZED')) { - process.emitWarning = originalEmitWarning; - return; - } - return originalEmitWarning.call(process, warning, ...args); - }; -} - -export async function parseTraceRaw(file: string): Promise<{ events: any[], resources: Map, actions: string[], actionObjects: ActionTraceEvent[], stacks: Map }> { - const zipFS = new ZipFile(file); - const resources = new Map(); - for (const entry of await zipFS.entries()) - resources.set(entry, await zipFS.read(entry)); - zipFS.close(); - - const actionMap = new Map(); - const events: any[] = []; - for (const traceFile of [...resources.keys()].filter(name => name.endsWith('.trace'))) { - for (const line of resources.get(traceFile)!.toString().split('\n')) { - if (line) { - const event = JSON.parse(line) as TraceEvent; - events.push(event); - - if (event.type === 'before') { - const action: ActionTraceEvent = { - ...event, - type: 'action', - endTime: 0, - }; - actionMap.set(event.callId, action); - } else if (event.type === 'input') { - const existing = actionMap.get(event.callId); - existing.inputSnapshot = event.inputSnapshot; - existing.point = event.point; - } else if (event.type === 'after') { - const existing = actionMap.get(event.callId); - existing.afterSnapshot = event.afterSnapshot; - existing.endTime = event.endTime; - existing.error = event.error; - existing.result = event.result; - } - } - } - } - - for (const networkFile of [...resources.keys()].filter(name => name.endsWith('.network'))) { - for (const line of resources.get(networkFile)!.toString().split('\n')) { - if (line) - events.push(JSON.parse(line)); - } - } - - const stacks: Map = new Map(); - for (const stacksFile of [...resources.keys()].filter(name => name.endsWith('.stacks'))) { - for (const [key, value] of parseClientSideCallMetadata(JSON.parse(resources.get(stacksFile)!.toString()))) - stacks.set(key, value); - } - - const actionObjects = [...actionMap.values()]; - actionObjects.sort((a, b) => a.startTime - b.startTime); - return { - events, - resources, - actions: actionObjects.map(a => renderTitleForCall({ ...a, type: a.class })), - actionObjects, - stacks, - }; -} - -export async function parseTrace(file: string): Promise<{ snapshots: SnapshotStorage, model: TraceModel }> { - const backend = new ZipTraceLoaderBackend(file); - const loader = new TraceLoader(); - await loader.load(backend, () => {}); - return { model: new TraceModel(file, loader.contextEntries), snapshots: loader.storage() }; -} - -export async function parseHar(file: string): Promise> { - const zipFS = new ZipFile(file); - const resources = new Map(); - for (const entry of await zipFS.entries()) - resources.set(entry, await zipFS.read(entry)); - zipFS.close(); - return resources; -} - -export function waitForTestLog(page: Page, prefix: string): Promise { - return new Promise(resolve => { - page.on('console', message => { - const text = message.text(); - if (text.startsWith(prefix)) { - const json = text.substring(prefix.length); - resolve(JSON.parse(json)); - } - }); - }); -} - -export async function rafraf(target: Page | Frame, count = 1) { - for (let i = 0; i < count; i++) { - await target.evaluate(async () => { - await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f))); - }); - } -} - -export function roundBox(box: BoundingBox): BoundingBox { - return { - x: Math.round(box.x), - y: Math.round(box.y), - width: Math.round(box.width), - height: Math.round(box.height), - }; -} - -export function unshift(snapshot: string): string { - const lines = snapshot.split('\n'); - let whitespacePrefixLength = 100; - for (const line of lines) { - if (!line.trim()) - continue; - const match = line.match(/^(\s*)/); - if (match && match[1].length < whitespacePrefixLength) - whitespacePrefixLength = match[1].length; - } - return lines.filter(t => t.trim()).map(line => line.substring(whitespacePrefixLength)).join('\n'); -} - -const ansiRegex = new RegExp('[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))', 'g'); -export function stripAnsi(str: string): string { - return str.replace(ansiRegex, ''); -} diff --git a/www/resources/src@d5769c75a7e523a7184981be2f6ca899350ad9ff.txt b/www/resources/src@d5769c75a7e523a7184981be2f6ca899350ad9ff.txt deleted file mode 100644 index 641317aa00cb6..0000000000000 --- a/www/resources/src@d5769c75a7e523a7184981be2f6ca899350ad9ff.txt +++ /dev/null @@ -1,988 +0,0 @@ -/** - * Copyright Microsoft Corporation. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { spawnSync } from 'child_process'; -import fs from 'fs'; -import path from 'path'; -import { PNG, jpegjs } from 'playwright-core/lib/utilsBundle'; -import { registry } from '../../packages/playwright-core/lib/server'; -import { expect, browserTest as it } from '../config/browserTest'; -import { parseTraceRaw, rafraf } from '../config/utils'; -import { kTargetClosedErrorMessage } from '../config/errors'; - -export class VideoPlayer { - fileName: string; - output: string; - duration: number; - frames: number; - videoWidth: number; - videoHeight: number; - cache = new Map(); - - constructor(fileName: string) { - this.fileName = fileName; - const ffmpeg = registry.findExecutable('ffmpeg')!.executablePathOrDie('javascript'); - // Force output frame rate to 25 fps as otherwise it would produce one image per timebase unit - // which is 1 / (25 * 1000). - this.output = spawnSync(ffmpeg, ['-i', this.fileName, '-r', '25', `${this.fileName}-%04d.png`]).stderr.toString(); - - const lines = this.output.split('\n'); - let framesLine = lines.find(l => l.startsWith('frame='))!; - if (!framesLine) - throw new Error(`No frame data in the output:\n${this.output}`); - framesLine = framesLine.substring(framesLine.lastIndexOf('frame=')); - const framesMatch = framesLine.match(/frame=\s+(\d+)/); - const streamLine = lines.find(l => l.trim().startsWith('Stream #0:0')); - const resolutionMatch = streamLine.match(/, (\d+)x(\d+),/); - const durationMatch = lines.find(l => l.trim().startsWith('Duration'))!.match(/Duration: (\d+):(\d\d):(\d\d.\d\d)/); - this.duration = (((parseInt(durationMatch![1], 10) * 60) + parseInt(durationMatch![2], 10)) * 60 + parseFloat(durationMatch![3])) * 1000; - this.frames = parseInt(framesMatch![1], 10); - this.videoWidth = parseInt(resolutionMatch![1], 10); - this.videoHeight = parseInt(resolutionMatch![2], 10); - } - - findFrame(framePredicate: (pixels: Buffer) => boolean, offset?: { x: number, y: number }): any |undefined { - for (let f = 1; f <= this.frames; ++f) { - const frame = this.frame(f, offset); - if (framePredicate(frame.data)) - return frame; - } - } - - seekLastFrame(offset?: { x: number, y: number }): any { - return this.frame(this.frames, offset); - } - - frame(frame: number, offset = { x: 10, y: 10 }): any { - if (!this.cache.has(frame)) { - const gap = '0'.repeat(4 - String(frame).length); - const buffer = fs.readFileSync(`${this.fileName}-${gap}${frame}.png`); - this.cache.set(frame, PNG.sync.read(buffer)); - } - const decoded = this.cache.get(frame); - const dst = new PNG({ width: 10, height: 10 }); - PNG.bitblt(decoded, dst, offset.x, offset.y, 10, 10, 0, 0); - return dst; - } -} - -type Pixel = { r: number, g: number, b: number, alpha: number }; -type PixelPredicate = (pixel: Pixel) => boolean; - -function isAlmostWhite({ r, g, b, alpha }: Pixel): boolean { - return r > 185 && g > 185 && b > 185 && alpha === 255; -} - -function isAlmostRed({ r, g, b, alpha }: Pixel): boolean { - return r > 185 && g < 70 && b < 70 && alpha === 255; -} - -function isAlmostBlack({ r, g, b, alpha }: Pixel): boolean { - return r < 70 && g < 70 && b < 70 && alpha === 255; -} - -function isAlmostGray({ r, g, b, alpha }: Pixel): boolean { - return r > 70 && r < 185 && - g > 70 && g < 185 && - b > 70 && b < 185 && - alpha === 255; -} - -function findPixel(pixels: Buffer, pixelPredicate: PixelPredicate): Pixel|undefined { - for (let i = 0, n = pixels.length; i < n; i += 4) { - const pixel = { - r: pixels[i], - g: pixels[i + 1], - b: pixels[i + 2], - alpha: pixels[i + 3], - }; - if (pixelPredicate(pixel)) - return pixel; - } - return undefined; -} - -function everyPixel(pixels: Buffer, pixelPredicate: PixelPredicate) { - const badPixel = findPixel(pixels, pixel => !pixelPredicate(pixel)); - return !badPixel; -} - -function expectAll(pixels: Buffer, pixelPredicate: PixelPredicate) { - const badPixel = findPixel(pixels, pixel => !pixelPredicate(pixel)); - if (!badPixel) - return; - const rgba = [badPixel.r, badPixel.g, badPixel.b, badPixel.alpha].join(', '); - throw new Error([ - `Expected all pixels to satisfy ${pixelPredicate.name}, found bad pixel (${rgba})`, - `Actual pixels=[${pixels.join(',')}]`, - ].join('\n')); -} - -function findVideos(videoDir: string) { - const files = fs.readdirSync(videoDir); - return files.filter(file => file.endsWith('webm')).map(file => path.join(videoDir, file)); -} - -function expectRedFrames(videoFile: string, size: { width: number, height: number }) { - expectFrames(videoFile, size, isAlmostRed); -} - -function expectFrames(videoFile: string, size: { width: number, height: number }, pixelPredicate: PixelPredicate) { - const videoPlayer = new VideoPlayer(videoFile); - const duration = videoPlayer.duration; - expect(duration).toBeGreaterThan(0); - - expect(videoPlayer.videoWidth).toBe(size.width); - expect(videoPlayer.videoHeight).toBe(size.height); - - { - const pixels = videoPlayer.seekLastFrame().data; - expectAll(pixels, pixelPredicate); - } - { - const pixels = videoPlayer.seekLastFrame({ x: size.width - 20, y: 10 }).data; - expectAll(pixels, pixelPredicate); - } -} - -it.describe('screencast', () => { - it.slow(); - it.skip(({ mode }) => mode !== 'default', 'video.path() is not available in remote mode'); - - it('videoSize should require videosPath', async ({ browser }) => { - const error = await browser.newContext({ videoSize: { width: 100, height: 100 } }).catch(e => e); - expect(error.message).toContain('"videoSize" option requires "videosPath" to be specified'); - }); - - it('should work with old options', async ({ browser, browserName, trace, headless, isWindows }, testInfo) => { - const videosPath = testInfo.outputPath(''); - // Firefox does not have a mobile variant and has a large minimum size (500 on windows and 450 elsewhere). - const size = browserName === 'firefox' ? { width: 500, height: 400 } : { width: 320, height: 240 }; - const context = await browser.newContext({ - videosPath, - viewport: size, - videoSize: size - }); - const page = await context.newPage(); - - await page.evaluate(() => document.body.style.backgroundColor = 'red'); - await rafraf(page, 100); - await context.close(); - - const videoFile = await page.video().path(); - expectRedFrames(videoFile, size); - }); - - it('should throw without recordVideo.dir', async ({ browser }) => { - const error = await browser.newContext({ recordVideo: {} as any }).catch(e => e); - expect(error.message).toContain('recordVideo.dir: expected string, got undefined'); - }); - - it('should capture static page', async ({ browser, browserName, trace, headless, isWindows }, testInfo) => { - // Firefox does not have a mobile variant and has a large minimum size (500 on windows and 450 elsewhere). - const size = browserName === 'firefox' ? { width: 500, height: 400 } : { width: 320, height: 240 }; - const context = await browser.newContext({ - recordVideo: { - dir: testInfo.outputPath(''), - size - }, - viewport: size, - }); - const page = await context.newPage(); - - await page.evaluate(() => document.body.style.backgroundColor = 'red'); - await rafraf(page, 100); - await context.close(); - - const videoFile = await page.video().path(); - expectRedFrames(videoFile, size); - }); - - it('should continue recording main page after popup closes', async ({ browser, browserName }, testInfo) => { - it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/30837' }); - // Firefox does not have a mobile variant and has a large minimum size (500 on windows and 450 elsewhere). - const size = browserName === 'firefox' ? { width: 500, height: 400 } : { width: 320, height: 240 }; - const context = await browser.newContext({ - recordVideo: { - dir: testInfo.outputPath(''), - size - }, - viewport: size, - }); - const page = await context.newPage(); - await page.setContent('clickme'); - const [popup] = await Promise.all([ - page.waitForEvent('popup'), - await page.click('a'), - ]); - await popup.close(); - - await page.evaluate(() => { - document.body.textContent = ''; // remove link - document.body.style.backgroundColor = 'red'; - }); - await rafraf(page, 100); - await context.close(); - - const videoFile = await page.video().path(); - expectRedFrames(videoFile, size); - }); - - it('should expose video path', async ({ browser }, testInfo) => { - const videosPath = testInfo.outputPath(''); - const size = { width: 320, height: 240 }; - const context = await browser.newContext({ - recordVideo: { - dir: videosPath, - size - }, - viewport: size, - }); - const page = await context.newPage(); - await page.evaluate(() => document.body.style.backgroundColor = 'red'); - const path = await page.video()!.path(); - expect(path).toContain(videosPath); - await context.close(); - expect(fs.existsSync(path)).toBeTruthy(); - }); - - it('should delete video', async ({ browser }, testInfo) => { - const videosPath = testInfo.outputPath(''); - const size = { width: 320, height: 240 }; - const context = await browser.newContext({ - recordVideo: { - dir: videosPath, - size - }, - viewport: size, - }); - const page = await context.newPage(); - const deletePromise = page.video().delete(); - await page.evaluate(() => document.body.style.backgroundColor = 'red'); - await rafraf(page, 100); - await context.close(); - - const videoPath = await page.video().path(); - await deletePromise; - expect(fs.existsSync(videoPath)).toBeFalsy(); - }); - - it('should expose video path blank page', async ({ browser }, testInfo) => { - const videosPath = testInfo.outputPath(''); - const size = { width: 320, height: 240 }; - const context = await browser.newContext({ - recordVideo: { - dir: videosPath, - size - }, - viewport: size, - }); - const page = await context.newPage(); - const path = await page.video()!.path(); - expect(path).toContain(videosPath); - await context.close(); - expect(fs.existsSync(path)).toBeTruthy(); - }); - - it('should work with weird screen resolution', async ({ browser }, testInfo) => { - it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/22069' }); - const videosPath = testInfo.outputPath(''); - const size = { width: 1904, height: 609 }; - const context = await browser.newContext({ - recordVideo: { - dir: videosPath, - size - }, - viewport: size, - }); - const page = await context.newPage(); - const path = await page.video()!.path(); - expect(path).toContain(videosPath); - await context.close(); - expect(fs.existsSync(path)).toBeTruthy(); - }); - - it('should work with relative path for recordVideo.dir', async ({ browser }, testInfo) => { - it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/27086' }); - const videosPath = path.relative(process.cwd(), testInfo.outputPath('')); - const size = { width: 320, height: 240 }; - const context = await browser.newContext({ - recordVideo: { - dir: videosPath, - size - }, - viewport: size, - }); - const page = await context.newPage(); - const videoPath = await page.video()!.path(); - await context.close(); - expect(fs.existsSync(videoPath)).toBeTruthy(); - }); - - it('should expose video path blank popup', async ({ browser }, testInfo) => { - const videosPath = testInfo.outputPath(''); - const size = { width: 320, height: 240 }; - const context = await browser.newContext({ - recordVideo: { - dir: videosPath, - size - }, - viewport: size, - }); - const page = await context.newPage(); - const [popup] = await Promise.all([ - page.waitForEvent('popup'), - page.evaluate('window.open("about:blank")') - ]); - const path = await popup.video()!.path(); - expect(path).toContain(videosPath); - await context.close(); - expect(fs.existsSync(path)).toBeTruthy(); - }); - - it('should capture navigation', async ({ browser, browserName, server, trace }, testInfo) => { - const context = await browser.newContext({ - recordVideo: { - dir: testInfo.outputPath(''), - size: { width: 1280, height: 720 } - }, - }); - const page = await context.newPage(); - - await page.goto(server.PREFIX + '/background-color.html#rgb(0,0,0)'); - await rafraf(page, 100); - await page.goto(server.CROSS_PROCESS_PREFIX + '/background-color.html#rgb(100,100,100)'); - await rafraf(page, 100); - await context.close(); - - const videoFile = await page.video().path(); - const videoPlayer = new VideoPlayer(videoFile); - const duration = videoPlayer.duration; - expect(duration).toBeGreaterThan(0); - - { - // Find a frame with all almost-black pixels. - const frame = videoPlayer.findFrame(pixels => everyPixel(pixels, isAlmostBlack)); - expect(frame).not.toBeUndefined(); - } - - { - const pixels = videoPlayer.seekLastFrame().data; - expectAll(pixels, isAlmostGray); - } - }); - - it('should capture css transformation', async ({ browser, server, headless, browserName, platform, trace }, testInfo) => { - it.fixme(!headless, 'Fails on headed'); - it.fixme(browserName === 'webkit' && platform === 'win32'); - - const size = { width: 600, height: 400 }; - // Set viewport equal to screencast frame size to avoid scaling. - const context = await browser.newContext({ - recordVideo: { - dir: testInfo.outputPath(''), - size, - }, - viewport: size, - }); - const page = await context.newPage(); - - await page.goto(server.PREFIX + '/rotate-z.html'); - await rafraf(page, 100); - await context.close(); - - const videoFile = await page.video().path(); - const videoPlayer = new VideoPlayer(videoFile); - const duration = videoPlayer.duration; - expect(duration).toBeGreaterThan(0); - - { - const pixels = videoPlayer.seekLastFrame({ x: 95, y: 45 }).data; - expectAll(pixels, isAlmostRed); - } - }); - - it('should work for popups', async ({ browser, server, browserName, trace }, testInfo) => { - it.fixme(browserName === 'firefox', 'https://github.com/microsoft/playwright/issues/14557'); - const videosPath = testInfo.outputPath(''); - const size = { width: 600, height: 400 }; - const context = await browser.newContext({ - recordVideo: { - dir: videosPath, - size, - }, - viewport: size, - }); - - const page = await context.newPage(); - await page.goto(server.EMPTY_PAGE); - const [popup] = await Promise.all([ - page.waitForEvent('popup'), - page.evaluate(() => { window.open('about:blank'); }), - ]); - await popup.evaluate(() => document.body.style.backgroundColor = 'red'); - await Promise.all([ - rafraf(page, 100), - rafraf(popup, 100), - ]); - await context.close(); - - const pageVideoFile = await page.video().path(); - const popupVideoFile = await popup.video().path(); - expect(pageVideoFile).not.toEqual(popupVideoFile); - expectRedFrames(popupVideoFile, size); - - const videoFiles = findVideos(videosPath); - expect(videoFiles.length).toBe(2); - }); - - it('should scale frames down to the requested size ', async ({ browser, browserName, server, headless, isHeadlessShell }, testInfo) => { - it.fixme(!headless, 'Fails on headed'); - it.fixme(browserName === 'chromium' && !isHeadlessShell, 'Chromium (but not headless shell) has a min width issue'); - - const context = await browser.newContext({ - recordVideo: { - dir: testInfo.outputPath(''), - // Set size to 1/2 of the viewport. - size: { width: 320, height: 240 }, - }, - viewport: { width: 640, height: 480 }, - }); - const page = await context.newPage(); - - await page.goto(server.PREFIX + '/checkerboard.html'); - // Update the picture to ensure enough frames are generated. - await page.$eval('.container', container => { - container.firstElementChild.classList.remove('red'); - }); - await rafraf(page, 100); - await page.$eval('.container', container => { - container.firstElementChild.classList.add('red'); - }); - await rafraf(page, 100); - await context.close(); - - const videoFile = await page.video().path(); - const videoPlayer = new VideoPlayer(videoFile); - const duration = videoPlayer.duration; - expect(duration).toBeGreaterThan(0); - - { - const pixels = videoPlayer.seekLastFrame({ x: 10, y: 10 }).data; - expectAll(pixels, isAlmostRed); - } - { - const pixels = videoPlayer.seekLastFrame({ x: 300, y: 10 }).data; - expectAll(pixels, isAlmostGray); - } - { - const pixels = videoPlayer.seekLastFrame({ x: 10, y: 200 }).data; - expectAll(pixels, isAlmostGray); - } - { - const pixels = videoPlayer.seekLastFrame({ x: 300, y: 200 }).data; - expectAll(pixels, isAlmostRed); - } - }); - - it('should use viewport scaled down to fit into 800x800 as default size', async ({ browser }, testInfo) => { - const size = { width: 1600, height: 1200 }; - const context = await browser.newContext({ - recordVideo: { - dir: testInfo.outputPath(''), - }, - viewport: size, - }); - - const page = await context.newPage(); - await rafraf(page, 100); - await context.close(); - - const videoFile = await page.video().path(); - const videoPlayer = new VideoPlayer(videoFile); - expect(videoPlayer.videoWidth).toBe(800); - expect(videoPlayer.videoHeight).toBe(600); - }); - - it('should be 800x450 by default', async ({ browser }, testInfo) => { - const context = await browser.newContext({ - recordVideo: { - dir: testInfo.outputPath(''), - }, - }); - - const page = await context.newPage(); - await rafraf(page, 100); - await context.close(); - - const videoFile = await page.video().path(); - const videoPlayer = new VideoPlayer(videoFile); - expect(videoPlayer.videoWidth).toBe(800); - expect(videoPlayer.videoHeight).toBe(450); - }); - - it('should be 800x600 with null viewport', async ({ browser, headless, browserName }, testInfo) => { - it.fixme(browserName === 'firefox' && headless, 'Fails in headless on bots'); - - const context = await browser.newContext({ - recordVideo: { - dir: testInfo.outputPath(''), - }, - viewport: null - }); - - const page = await context.newPage(); - await rafraf(page, 100); - await context.close(); - - const videoFile = await page.video().path(); - const videoPlayer = new VideoPlayer(videoFile); - expect(videoPlayer.videoWidth).toBe(800); - expect(videoPlayer.videoHeight).toBe(600); - }); - - it('should capture static page in persistent context @smoke', async ({ launchPersistent, browserName, trace, isMac }, testInfo) => { - it.skip(browserName === 'webkit' && isMac && process.arch === 'arm64', 'Is only failing on self-hosted github actions runner on M1 mac; not reproducible locally'); - const size = { width: 600, height: 400 }; - const { context, page } = await launchPersistent({ - recordVideo: { - dir: testInfo.outputPath(''), - size, - }, - viewport: size, - }); - - await page.evaluate(() => document.body.style.backgroundColor = 'red'); - await rafraf(page, 100); - await context.close(); - - const videoFile = await page.video().path(); - const videoPlayer = new VideoPlayer(videoFile); - const duration = videoPlayer.duration; - expect(duration).toBeGreaterThan(0); - - expect(videoPlayer.videoWidth).toBe(600); - expect(videoPlayer.videoHeight).toBe(400); - - { - const pixels = videoPlayer.seekLastFrame().data; - expectAll(pixels, isAlmostRed); - } - }); - - it('should emulate an iphone', async ({ contextFactory, playwright, browserName }, testInfo) => { - it.skip(browserName === 'firefox', 'isMobile is not supported in Firefox'); - - const device = playwright.devices['iPhone 6']; - const context = await contextFactory({ - ...device, - recordVideo: { - dir: testInfo.outputPath(''), - }, - }); - - const page = await context.newPage(); - await rafraf(page, 100); - await context.close(); - - const videoFile = await page.video().path(); - const videoPlayer = new VideoPlayer(videoFile); - expect(videoPlayer.videoWidth).toBe(374); - expect(videoPlayer.videoHeight).toBe(666); - }); - - it('should throw on browser close', async ({ browserType }, testInfo) => { - const size = { width: 320, height: 240 }; - const browser = await browserType.launch(); - const context = await browser.newContext({ - recordVideo: { - dir: testInfo.outputPath(''), - size, - }, - viewport: size, - }); - - const page = await context.newPage(); - await rafraf(page, 100); - await browser.close(); - - const file = testInfo.outputPath('saved-video-'); - const saveResult = await page.video().saveAs(file).catch(e => e); - expect(saveResult.message).toContain('browser has been closed'); - }); - - it('should throw if browser dies', async ({ browserType }, testInfo) => { - const size = { width: 320, height: 240 }; - const browser = await browserType.launch(); - - const context = await browser.newContext({ - recordVideo: { - dir: testInfo.outputPath(''), - size, - }, - viewport: size, - }); - - const page = await context.newPage(); - await rafraf(page, 100); - await (browser as any)._channel.killForTests(); - - const file = testInfo.outputPath('saved-video-'); - const saveResult = await page.video().saveAs(file).catch(e => e); - expect(saveResult.message).toContain('rowser has been closed'); - }); - - it('should wait for video to finish if page was closed', async ({ browserType }, testInfo) => { - const size = { width: 320, height: 240 }; - const browser = await browserType.launch(); - - const videoDir = testInfo.outputPath(''); - const context = await browser.newContext({ - recordVideo: { - dir: videoDir, - size, - }, - viewport: size, - }); - - const page = await context.newPage(); - await rafraf(page, 100); - await page.close(); - await context.close(); - await browser.close(); - - const videoFiles = findVideos(videoDir); - expect(videoFiles.length).toBe(1); - const videoPlayer = new VideoPlayer(videoFiles[0]); - expect(videoPlayer.videoWidth).toBe(320); - expect(videoPlayer.videoHeight).toBe(240); - }); - - it('should not create video for internal pages', async ({ browser, server }, testInfo) => { - server.setRoute('/empty.html', (req, res) => { - res.setHeader('Set-Cookie', 'name=value'); - res.end(); - }); - - const videoDir = testInfo.outputPath(''); - const context = await browser.newContext({ - recordVideo: { - dir: videoDir - } - }); - - const page = await context.newPage(); - await page.goto(server.EMPTY_PAGE); - await rafraf(page, 100); - - const cookies = await context.cookies(); - expect(cookies.length).toBe(1); - await context.storageState(); - await context.close(); - - const files = fs.readdirSync(videoDir); - expect(files.length).toBe(1); - }); - - it('should capture full viewport', async ({ browserType, browserName, isWindows, headless, isHeadlessShell }, testInfo) => { - it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/22411' }); - it.fixme(browserName === 'chromium' && !isHeadlessShell, 'The square is not on the video'); - it.fixme(browserName === 'firefox' && isWindows, 'https://github.com/microsoft/playwright/issues/14405'); - const size = { width: 600, height: 400 }; - const browser = await browserType.launch(); - - const videoDir = testInfo.outputPath(''); - const context = await browser.newContext({ - viewport: size, - recordVideo: { - dir: videoDir, - size, - }, - }); - - const page = await context.newPage(); - await page.setContent(`
`); - await rafraf(page, 100); - await page.close(); - await context.close(); - await browser.close(); - - const videoFiles = findVideos(videoDir); - expect(videoFiles.length).toBe(1); - const videoPlayer = new VideoPlayer(videoFiles[0]); - expect(videoPlayer.videoWidth).toBe(size.width); - expect(videoPlayer.videoHeight).toBe(size.height); - - // Bottom right corner should be part of the red border. - // However, headed browsers on mac have rounded corners, so offset by 10. - const pixels = videoPlayer.seekLastFrame({ x: size.width - 20, y: size.height - 20 }).data; - expectAll(pixels, isAlmostRed); - }); - - it('should capture full viewport on hidpi', async ({ browserType, browserName, headless, isWindows, isLinux, isHeadlessShell, channel }, testInfo) => { - it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/22411' }); - it.fixme(browserName === 'chromium' && !isHeadlessShell, 'The square is not on the video'); - it.fixme(browserName === 'firefox' && isWindows, 'https://github.com/microsoft/playwright/issues/14405'); - it.fixme(browserName === 'webkit' && !headless && (isLinux || (isWindows && channel === 'webkit-wsl')), 'https://github.com/microsoft/playwright/issues/22617'); - const size = { width: 600, height: 400 }; - const browser = await browserType.launch(); - - const videoDir = testInfo.outputPath(''); - const context = await browser.newContext({ - viewport: size, - deviceScaleFactor: 3, - recordVideo: { - dir: videoDir, - size, - }, - }); - - const page = await context.newPage(); - await page.setContent(`
`); - await rafraf(page, 100); - await page.close(); - await context.close(); - await browser.close(); - - const videoFiles = findVideos(videoDir); - expect(videoFiles.length).toBe(1); - const videoPlayer = new VideoPlayer(videoFiles[0]); - expect(videoPlayer.videoWidth).toBe(size.width); - expect(videoPlayer.videoHeight).toBe(size.height); - - // Bottom right corner should be part of the red border. - // However, headed browsers on mac have rounded corners, so offset by 10. - const pixels = videoPlayer.seekLastFrame({ x: size.width - 20, y: size.height - 20 }).data; - expectAll(pixels, isAlmostRed); - }); - - it('should work with video+trace', async ({ browser, trace, headless, browserName, isHeadlessShell }, testInfo) => { - it.skip(trace === 'on'); - it.fixme(!headless, 'different trace screencast image size on all browsers'); - it.fixme(browserName === 'chromium' && !isHeadlessShell, 'different trace screencast image size'); - - const size = { width: 500, height: 400 }; - const traceFile = testInfo.outputPath('trace.zip'); - - const context = await browser.newContext({ - recordVideo: { - dir: testInfo.outputPath(''), - size - }, - viewport: size, - }); - await context.tracing.start({ screenshots: true }); - const page = await context.newPage(); - - await page.evaluate(() => document.body.style.backgroundColor = 'red'); - await rafraf(page, 100); - await context.tracing.stop({ path: traceFile }); - await context.close(); - - const videoFile = await page.video().path(); - expectRedFrames(videoFile, size); - - const { events, resources } = await parseTraceRaw(traceFile); - const frame = events.filter(e => e.type === 'screencast-frame').pop(); - const buffer = resources.get('resources/' + frame.sha1); - const image = jpegjs.decode(buffer); - expect(image.width).toBe(size.width); - expect(image.height).toBe(size.height); - const offset = size.width * size.height / 2 * 4 + size.width * 4 / 2; // Center should be red. - const pixel: Pixel = { - r: image.data.readUInt8(offset), - g: image.data.readUInt8(offset + 1), - b: image.data.readUInt8(offset + 2), - alpha: image.data.readUInt8(offset + 3), - }; - expect(isAlmostRed(pixel)).toBe(true); - }); - - it('video.start/stop twice', async ({ browser }, testInfo) => { - const size = { width: 800, height: 600 }; - const context = await browser.newContext({ viewport: size }); - const page = await context.newPage(); - - await page.video().start({ size }); - await page.evaluate(() => document.body.style.backgroundColor = 'red'); - await rafraf(page, 100); - const videoPath1 = await page.video().path(); - expect(videoPath1).toBeDefined(); - await page.video().stop(); - expectRedFrames(videoPath1, size); - - await page.video().start({ size }); - await page.evaluate(() => document.body.style.backgroundColor = 'rgb(100,100,100)'); - await rafraf(page, 100); - const videoPath2 = await page.video().path(); - expect(videoPath2).toBeDefined(); - expect(videoPath2).not.toEqual(videoPath1); - const videoPath3 = testInfo.outputPath('video3.webm'); - await page.video().stop({ path: videoPath3 }); - const contents2 = fs.readFileSync(videoPath2).toString('base64'); - const contents3 = fs.readFileSync(videoPath3).toString('base64'); - expect(contents2 === contents3).toBeTruthy(); - expectFrames(videoPath3, size, isAlmostGray); - - await context.close(); - }); - - it('video.start should fail when recordVideo is set, but stop should work', async ({ browser }, testInfo) => { - const context = await browser.newContext({ - recordVideo: { - dir: testInfo.outputPath(''), - }, - }); - const page = await context.newPage(); - const error = await page.video().start().catch(e => e); - expect(error.message).toContain('Video is already being recorded'); - await page.video().stop({ path: testInfo.outputPath('video.webm') }); - await context.close(); - }); - - it('video.start should fail when another recording is in progress', async ({ browser }, testInfo) => { - const context = await browser.newContext(); - const page = await context.newPage(); - await page.evaluate(() => document.body.style.backgroundColor = 'red'); - await rafraf(page, 100); - - // await page.video().start(); - // const error = await page.video().start().catch(e => e); - expect(error.message).toContain('Video is already being recorded'); - await context.close(); - }); - - it('video.stop should fail when no recording is in progress', async ({ browser }, testInfo) => { - const context = await browser.newContext(); - const page = await context.newPage(); - const error = await page.video().stop().catch(e => e); - expect(error.message).toContain('Video is not being recorded'); - await context.close(); - }); - - it('video.start should finish when page is closed', async ({ browser, browserName }, testInfo) => { - const context = await browser.newContext(); - const page = await context.newPage(); - await page.video().start(); - await page.evaluate(() => document.body.style.backgroundColor = 'red'); - await rafraf(page, 100); - const videoPath = await page.video().path(); - expect(videoPath).toBeDefined(); - await page.close(); - const error = await page.video().stop().catch(e => e); - expect(error.message).toContain(kTargetClosedErrorMessage); - const newPath = testInfo.outputPath('video.webm'); - await page.video().saveAs(newPath); - expect(fs.existsSync(newPath)).toBeTruthy(); - await context.close(); - }); - - it('empty video', async ({ browser, browserName }, testInfo) => { - const size = browserName === 'firefox' ? { width: 500, height: 400 } : { width: 320, height: 240 }; - const context = await browser.newContext({ viewport: size }); - const page = await context.newPage(); - await page.video().start({ size }); - const videoPath = testInfo.outputPath('empty-video.webm'); - await page.video().stop({ path: videoPath }); - await context.close(); - expectFrames(videoPath, size, isAlmostWhite); - }); - - it('inspector.startScreencast emits screencastframe events', async ({ browser, server }) => { - const size = { width: 500, height: 400 }; - const context = await browser.newContext({ viewport: size }); - const page = await context.newPage(); - - const frames: { data: Buffer, width: number, height: number }[] = []; - page.inspector().on('screencastframe', frame => frames.push(frame)); - - await page.inspector().startScreencast({ size }); - await page.goto(server.EMPTY_PAGE); - await page.evaluate(() => document.body.style.backgroundColor = 'red'); - await rafraf(page, 100); - await page.inspector().stopScreencast(); - - expect(frames.length).toBeGreaterThan(0); - for (const frame of frames) { - // Each frame must be a valid JPEG (starts with FF D8) - expect(frame.data[0]).toBe(0xff); - expect(frame.data[1]).toBe(0xd8); - expect(frame.width).toBe(size.width); - expect(frame.height).toBe(size.height); - } - - await context.close(); - }); - - it('startScreencast throws when called with different options while running', async ({ browser }) => { - const size = { width: 500, height: 400 }; - const context = await browser.newContext({ viewport: size }); - const page = await context.newPage(); - - await page.inspector().startScreencast({ size }); - await expect(page.inspector().startScreencast({ size: { width: 320, height: 240 } })).rejects.toThrow('Screencast is already running with different options'); - - await page.inspector().stopScreencast(); - await context.close(); - }); - - it('startScreencast allows restart with different options after stop', async ({ browser }) => { - const context = await browser.newContext({ viewport: { width: 500, height: 400 } }); - const page = await context.newPage(); - - await page.inspector().startScreencast({ size: { width: 500, height: 400 } }); - await page.inspector().stopScreencast(); - // Different options should succeed once the previous screencast is stopped. - await expect(page.inspector().startScreencast({ size: { width: 320, height: 240 } })).resolves.toBeUndefined(); - - await page.inspector().stopScreencast(); - await context.close(); - }); - - it('startScreencast throws when video recording is running with different params', async ({ browser }) => { - const videoSize = { width: 500, height: 400 }; - const context = await browser.newContext({ viewport: videoSize }); - const page = await context.newPage(); - - await page.video().start({ size: videoSize }); - await expect(page.inspector().startScreencast({ size: { width: 320, height: 240 } })).rejects.toThrow('Screencast is already running with different options'); - - await page.video().stop(); - await context.close(); - }); -}); - -it('should saveAs video', async ({ browser }, testInfo) => { - it.slow(); - - const videosPath = testInfo.outputPath(''); - const size = { width: 320, height: 240 }; - const context = await browser.newContext({ - recordVideo: { - dir: videosPath, - size - }, - viewport: size, - }); - const page = await context.newPage(); - await page.evaluate(() => document.body.style.backgroundColor = 'red'); - await rafraf(page, 100); - await context.close(); - - const saveAsPath = testInfo.outputPath('my-video.webm'); - await page.video().saveAs(saveAsPath); - expect(fs.existsSync(saveAsPath)).toBeTruthy(); -}); diff --git a/www/test.trace b/www/test.trace deleted file mode 100644 index 64eb9e368f8f4..0000000000000 --- a/www/test.trace +++ /dev/null @@ -1,251 +0,0 @@ -{"version":8,"type":"context-options","origin":"testRunner","browserName":"","playwrightVersion":"1.59.0-next","options":{},"platform":"linux","wallTime":1772649748075,"monotonicTime":2516.041,"sdkLanguage":"javascript","testTimeout":90000} -{"type":"before","callId":"hook@1","stepId":"hook@1","startTime":2533.386,"class":"Test","method":"hook","title":"Before Hooks","params":{},"stack":[]} -{"type":"before","callId":"hook@2","stepId":"hook@2","parentId":"hook@1","startTime":2534.074,"class":"Test","method":"hook","title":"skip modifier","params":{},"stack":[{"file":"/home/yurys/playwright/tests/library/video.spec.ts","line":163,"column":6}]} -{"type":"before","callId":"fixture@3","stepId":"fixture@3","parentId":"hook@2","startTime":2536.114,"class":"Test","method":"fixture","title":"Fixture \"playwright\"","params":{},"stack":[{"file":"/home/yurys/playwright/tests/config/testModeFixtures.ts","line":34,"column":34}]} -{"type":"after","callId":"fixture@3","endTime":2536.989,"annotations":[]} -{"type":"after","callId":"hook@2","endTime":2560.159,"annotations":[]} -{"type":"before","callId":"fixture@85","stepId":"fixture@85","parentId":"hook@1","startTime":2567.125,"class":"Test","method":"fixture","title":"Fixture \"bidiTestSkipPredicate\"","params":{},"stack":[{"file":"/home/yurys/playwright/tests/config/browserTest.ts","line":62,"column":23}]} -{"type":"after","callId":"fixture@85","endTime":2567.284,"annotations":[]} -{"type":"before","callId":"fixture@86","stepId":"fixture@86","parentId":"hook@1","startTime":2567.591,"class":"Test","method":"fixture","title":"Fixture \"autoSkipBidiTest\"","params":{},"stack":[{"file":"/home/yurys/playwright/tests/config/browserTest.ts","line":62,"column":23}]} -{"type":"after","callId":"fixture@86","endTime":2567.756,"annotations":[]} -{"type":"before","callId":"fixture@87","stepId":"fixture@87","parentId":"hook@1","startTime":2568.028,"class":"Test","method":"fixture","title":"Fixture \"connectOptions\"","params":{},"stack":[{"file":"project#webkit-library","line":1,"column":1}],"group":"configuration"} -{"type":"after","callId":"fixture@87","endTime":2568.143,"annotations":[]} -{"type":"before","callId":"fixture@88","stepId":"fixture@88","parentId":"hook@1","startTime":2568.43,"class":"Test","method":"fixture","title":"Fixture \"browser\"","params":{},"stack":[]} -{"type":"before","callId":"pw:api@89","stepId":"pw:api@89","parentId":"fixture@88","startTime":2573.889,"class":"Test","method":"pw:api","title":"Launch browser","params":{"handleSIGINT":"false","executablePath":"undefined","tracesDir":"/home/yurys/playwright/test-results/.playwright-artifacts-0/traces","artifactsDir":"/home/yurys/playwright/test-results/.playwright-artifacts-0","headless":"true","ignoreDefaultArgs":"undefined","ignoreAllDefaultArgs":"false","env":"undefined","timeout":"180000"},"stack":[]} -{"type":"after","callId":"pw:api@89","endTime":2699.61,"annotations":[]} -{"type":"after","callId":"fixture@88","endTime":2699.725,"annotations":[]} -{"type":"after","callId":"hook@1","endTime":2699.896,"annotations":[]} -{"type":"before","callId":"pw:api@90","stepId":"pw:api@90","startTime":2706.754,"class":"Test","method":"pw:api","title":"Create context","params":{"selectorEngines":"[]","testIdAttributeName":"data-testid","acceptDownloads":"accept","bypassCSP":"false","colorScheme":"light","hasTouch":"false","ignoreHTTPSErrors":"false","isMobile":"false","javaScriptEnabled":"true","locale":"en-US","offline":"false","viewport":"Object","serviceWorkers":"allow","noDefaultViewport":"false","extraHTTPHeaders":"undefined","storageState":"undefined","reducedMotion":"undefined","forcedColors":"undefined","contrast":"undefined","clientCertificates":"undefined"},"stack":[{"file":"/home/yurys/playwright/tests/library/video.spec.ts","line":857,"column":21}]} -{"type":"after","callId":"pw:api@90","endTime":2719.825,"annotations":[]} -{"type":"before","callId":"pw:api@91","stepId":"pw:api@91","startTime":2731.834,"class":"Test","method":"pw:api","title":"Create page","params":{},"stack":[{"file":"/home/yurys/playwright/tests/library/video.spec.ts","line":858,"column":32}]} -{"type":"stderr","timestamp":3234.468,"text":"setOptions { width: \u001b[33m800\u001b[39m, height: \u001b[33m600\u001b[39m, quality: \u001b[33m90\u001b[39m }\n"} -{"type":"stderr","timestamp":3234.936,"text":"startScreencast { width: \u001b[33m800\u001b[39m, height: \u001b[33m600\u001b[39m, quality: \u001b[33m90\u001b[39m }\n"} -{"type":"after","callId":"pw:api@91","endTime":3248.687,"annotations":[]} -{"type":"before","callId":"pw:api@92","stepId":"pw:api@92","startTime":3256.243,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"() => document.body.style.backgroundColor = 'red'","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/library/video.spec.ts","line":859,"column":16}]} -{"type":"after","callId":"pw:api@92","endTime":3268.93,"annotations":[]} -{"type":"before","callId":"pw:api@93","stepId":"pw:api@93","startTime":3271.887,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"stderr","timestamp":3376.514,"text":"screencast frame \u001b[33m1280\u001b[39m \u001b[33m720\u001b[39m\n"} -{"type":"stderr","timestamp":3387.912,"text":"screencast frame \u001b[33m1280\u001b[39m \u001b[33m720\u001b[39m\n"} -{"type":"after","callId":"pw:api@93","endTime":3389.969,"annotations":[]} -{"type":"before","callId":"pw:api@94","stepId":"pw:api@94","startTime":3393.757,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@94","endTime":3431.768,"annotations":[]} -{"type":"before","callId":"pw:api@95","stepId":"pw:api@95","startTime":3435.272,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@95","endTime":3463.989,"annotations":[]} -{"type":"before","callId":"pw:api@96","stepId":"pw:api@96","startTime":3467.491,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@96","endTime":3496.31,"annotations":[]} -{"type":"before","callId":"pw:api@97","stepId":"pw:api@97","startTime":3499.824,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@97","endTime":3528.194,"annotations":[]} -{"type":"before","callId":"pw:api@98","stepId":"pw:api@98","startTime":3531.569,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@98","endTime":3560.903,"annotations":[]} -{"type":"before","callId":"pw:api@99","stepId":"pw:api@99","startTime":3564.444,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@99","endTime":3593.103,"annotations":[]} -{"type":"before","callId":"pw:api@100","stepId":"pw:api@100","startTime":3610.131,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@100","endTime":3641.105,"annotations":[]} -{"type":"before","callId":"pw:api@101","stepId":"pw:api@101","startTime":3645.465,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@101","endTime":3673.905,"annotations":[]} -{"type":"before","callId":"pw:api@102","stepId":"pw:api@102","startTime":3677.458,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@102","endTime":3706.436,"annotations":[]} -{"type":"before","callId":"pw:api@103","stepId":"pw:api@103","startTime":3709.916,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@103","endTime":3738.263,"annotations":[]} -{"type":"before","callId":"pw:api@104","stepId":"pw:api@104","startTime":3741.503,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@104","endTime":3802.932,"annotations":[]} -{"type":"before","callId":"pw:api@105","stepId":"pw:api@105","startTime":3806.006,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@105","endTime":3834.774,"annotations":[]} -{"type":"before","callId":"pw:api@106","stepId":"pw:api@106","startTime":3837.57,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@106","endTime":3867.248,"annotations":[]} -{"type":"before","callId":"pw:api@107","stepId":"pw:api@107","startTime":3870.567,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@107","endTime":3899.45,"annotations":[]} -{"type":"before","callId":"pw:api@108","stepId":"pw:api@108","startTime":3902.367,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@108","endTime":3931.83,"annotations":[]} -{"type":"before","callId":"pw:api@109","stepId":"pw:api@109","startTime":3935.052,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@109","endTime":3964.245,"annotations":[]} -{"type":"before","callId":"pw:api@110","stepId":"pw:api@110","startTime":3967.206,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@110","endTime":3996.313,"annotations":[]} -{"type":"before","callId":"pw:api@111","stepId":"pw:api@111","startTime":3999.315,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@111","endTime":4028.652,"annotations":[]} -{"type":"before","callId":"pw:api@112","stepId":"pw:api@112","startTime":4031.592,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@112","endTime":4060.849,"annotations":[]} -{"type":"before","callId":"pw:api@113","stepId":"pw:api@113","startTime":4063.683,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@113","endTime":4093.298,"annotations":[]} -{"type":"before","callId":"pw:api@114","stepId":"pw:api@114","startTime":4096.209,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@114","endTime":4125.621,"annotations":[]} -{"type":"before","callId":"pw:api@115","stepId":"pw:api@115","startTime":4128.573,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@115","endTime":4157.924,"annotations":[]} -{"type":"before","callId":"pw:api@116","stepId":"pw:api@116","startTime":4160.668,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@116","endTime":4190.388,"annotations":[]} -{"type":"before","callId":"pw:api@117","stepId":"pw:api@117","startTime":4193.775,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@117","endTime":4222.654,"annotations":[]} -{"type":"before","callId":"pw:api@118","stepId":"pw:api@118","startTime":4225.97,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@118","endTime":4254.604,"annotations":[]} -{"type":"before","callId":"pw:api@119","stepId":"pw:api@119","startTime":4257.497,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@119","endTime":4286.963,"annotations":[]} -{"type":"before","callId":"pw:api@120","stepId":"pw:api@120","startTime":4290.116,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@120","endTime":4319.384,"annotations":[]} -{"type":"before","callId":"pw:api@121","stepId":"pw:api@121","startTime":4322.636,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@121","endTime":4351.724,"annotations":[]} -{"type":"before","callId":"pw:api@122","stepId":"pw:api@122","startTime":4354.959,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@122","endTime":4383.957,"annotations":[]} -{"type":"before","callId":"pw:api@123","stepId":"pw:api@123","startTime":4387.123,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@123","endTime":4416.108,"annotations":[]} -{"type":"before","callId":"pw:api@124","stepId":"pw:api@124","startTime":4419.34,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@124","endTime":4448.315,"annotations":[]} -{"type":"before","callId":"pw:api@125","stepId":"pw:api@125","startTime":4451.618,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@125","endTime":4480.531,"annotations":[]} -{"type":"before","callId":"pw:api@126","stepId":"pw:api@126","startTime":4483.841,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@126","endTime":4512.98,"annotations":[]} -{"type":"before","callId":"pw:api@127","stepId":"pw:api@127","startTime":4516.255,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@127","endTime":4545.179,"annotations":[]} -{"type":"before","callId":"pw:api@128","stepId":"pw:api@128","startTime":4548.561,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@128","endTime":4577.741,"annotations":[]} -{"type":"before","callId":"pw:api@129","stepId":"pw:api@129","startTime":4581.045,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@129","endTime":4609.778,"annotations":[]} -{"type":"before","callId":"pw:api@130","stepId":"pw:api@130","startTime":4613.037,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@130","endTime":4642.111,"annotations":[]} -{"type":"before","callId":"pw:api@131","stepId":"pw:api@131","startTime":4645.392,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@131","endTime":4674.409,"annotations":[]} -{"type":"before","callId":"pw:api@132","stepId":"pw:api@132","startTime":4677.593,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@132","endTime":4706.903,"annotations":[]} -{"type":"before","callId":"pw:api@133","stepId":"pw:api@133","startTime":4710.076,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@133","endTime":4739.3,"annotations":[]} -{"type":"before","callId":"pw:api@134","stepId":"pw:api@134","startTime":4742.552,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@134","endTime":4771.417,"annotations":[]} -{"type":"before","callId":"pw:api@135","stepId":"pw:api@135","startTime":4774.609,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@135","endTime":4803.657,"annotations":[]} -{"type":"before","callId":"pw:api@136","stepId":"pw:api@136","startTime":4806.958,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@136","endTime":4836.125,"annotations":[]} -{"type":"before","callId":"pw:api@137","stepId":"pw:api@137","startTime":4839.196,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@137","endTime":4868.599,"annotations":[]} -{"type":"before","callId":"pw:api@138","stepId":"pw:api@138","startTime":4871.684,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@138","endTime":4934.565,"annotations":[]} -{"type":"before","callId":"pw:api@139","stepId":"pw:api@139","startTime":4935.435,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@139","endTime":4964.746,"annotations":[]} -{"type":"before","callId":"pw:api@140","stepId":"pw:api@140","startTime":4966.999,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@140","endTime":4996.974,"annotations":[]} -{"type":"before","callId":"pw:api@141","stepId":"pw:api@141","startTime":4999.182,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@141","endTime":5029.944,"annotations":[]} -{"type":"before","callId":"pw:api@142","stepId":"pw:api@142","startTime":5032.643,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@142","endTime":5061.675,"annotations":[]} -{"type":"before","callId":"pw:api@143","stepId":"pw:api@143","startTime":5063.889,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@143","endTime":5094.206,"annotations":[]} -{"type":"before","callId":"pw:api@144","stepId":"pw:api@144","startTime":5096.486,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@144","endTime":5126.463,"annotations":[]} -{"type":"before","callId":"pw:api@145","stepId":"pw:api@145","startTime":5128.823,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@145","endTime":5158.51,"annotations":[]} -{"type":"before","callId":"pw:api@146","stepId":"pw:api@146","startTime":5160.791,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@146","endTime":5190.817,"annotations":[]} -{"type":"before","callId":"pw:api@147","stepId":"pw:api@147","startTime":5193.219,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@147","endTime":5223.197,"annotations":[]} -{"type":"before","callId":"pw:api@148","stepId":"pw:api@148","startTime":5225.415,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@148","endTime":5255.367,"annotations":[]} -{"type":"before","callId":"pw:api@149","stepId":"pw:api@149","startTime":5257.63,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@149","endTime":5287.763,"annotations":[]} -{"type":"before","callId":"pw:api@150","stepId":"pw:api@150","startTime":5290.008,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@150","endTime":5319.958,"annotations":[]} -{"type":"before","callId":"pw:api@151","stepId":"pw:api@151","startTime":5322.244,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@151","endTime":5352.17,"annotations":[]} -{"type":"before","callId":"pw:api@152","stepId":"pw:api@152","startTime":5354.367,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@152","endTime":5384.457,"annotations":[]} -{"type":"before","callId":"pw:api@153","stepId":"pw:api@153","startTime":5386.664,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@153","endTime":5416.684,"annotations":[]} -{"type":"before","callId":"pw:api@154","stepId":"pw:api@154","startTime":5418.905,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@154","endTime":5448.994,"annotations":[]} -{"type":"before","callId":"pw:api@155","stepId":"pw:api@155","startTime":5451.24,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@155","endTime":5481.322,"annotations":[]} -{"type":"before","callId":"pw:api@156","stepId":"pw:api@156","startTime":5483.52,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@156","endTime":5513.607,"annotations":[]} -{"type":"before","callId":"pw:api@157","stepId":"pw:api@157","startTime":5515.81,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@157","endTime":5545.931,"annotations":[]} -{"type":"before","callId":"pw:api@158","stepId":"pw:api@158","startTime":5548.125,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@158","endTime":5578.358,"annotations":[]} -{"type":"before","callId":"pw:api@159","stepId":"pw:api@159","startTime":5580.55,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@159","endTime":5610.636,"annotations":[]} -{"type":"before","callId":"pw:api@160","stepId":"pw:api@160","startTime":5612.865,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@160","endTime":5643,"annotations":[]} -{"type":"before","callId":"pw:api@161","stepId":"pw:api@161","startTime":5645.274,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@161","endTime":5675.324,"annotations":[]} -{"type":"before","callId":"pw:api@162","stepId":"pw:api@162","startTime":5677.644,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@162","endTime":5707.732,"annotations":[]} -{"type":"before","callId":"pw:api@163","stepId":"pw:api@163","startTime":5710.06,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@163","endTime":5739.952,"annotations":[]} -{"type":"before","callId":"pw:api@164","stepId":"pw:api@164","startTime":5742.367,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@164","endTime":5772.256,"annotations":[]} -{"type":"before","callId":"pw:api@165","stepId":"pw:api@165","startTime":5774.592,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@165","endTime":5804.195,"annotations":[]} -{"type":"before","callId":"pw:api@166","stepId":"pw:api@166","startTime":5806.49,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@166","endTime":5836.632,"annotations":[]} -{"type":"before","callId":"pw:api@167","stepId":"pw:api@167","startTime":5838.949,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@167","endTime":5868.936,"annotations":[]} -{"type":"before","callId":"pw:api@168","stepId":"pw:api@168","startTime":5871.227,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@168","endTime":5901.128,"annotations":[]} -{"type":"before","callId":"pw:api@169","stepId":"pw:api@169","startTime":5903.417,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@169","endTime":5933.562,"annotations":[]} -{"type":"before","callId":"pw:api@170","stepId":"pw:api@170","startTime":5935.969,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@170","endTime":5965.809,"annotations":[]} -{"type":"before","callId":"pw:api@171","stepId":"pw:api@171","startTime":5968.133,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@171","endTime":5998.077,"annotations":[]} -{"type":"before","callId":"pw:api@172","stepId":"pw:api@172","startTime":6000.394,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@172","endTime":6030.459,"annotations":[]} -{"type":"before","callId":"pw:api@173","stepId":"pw:api@173","startTime":6032.797,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@173","endTime":6062.828,"annotations":[]} -{"type":"before","callId":"pw:api@174","stepId":"pw:api@174","startTime":6065.181,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@174","endTime":6095.103,"annotations":[]} -{"type":"before","callId":"pw:api@175","stepId":"pw:api@175","startTime":6097.44,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@175","endTime":6127.238,"annotations":[]} -{"type":"before","callId":"pw:api@176","stepId":"pw:api@176","startTime":6129.572,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@176","endTime":6159.609,"annotations":[]} -{"type":"before","callId":"pw:api@177","stepId":"pw:api@177","startTime":6162.029,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@177","endTime":6191.961,"annotations":[]} -{"type":"before","callId":"pw:api@178","stepId":"pw:api@178","startTime":6194.338,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@178","endTime":6224.281,"annotations":[]} -{"type":"before","callId":"pw:api@179","stepId":"pw:api@179","startTime":6226.613,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@179","endTime":6256.408,"annotations":[]} -{"type":"before","callId":"pw:api@180","stepId":"pw:api@180","startTime":6258.803,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@180","endTime":6288.749,"annotations":[]} -{"type":"before","callId":"pw:api@181","stepId":"pw:api@181","startTime":6291.065,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@181","endTime":6321.11,"annotations":[]} -{"type":"before","callId":"pw:api@182","stepId":"pw:api@182","startTime":6323.529,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@182","endTime":6353.509,"annotations":[]} -{"type":"before","callId":"pw:api@183","stepId":"pw:api@183","startTime":6355.915,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@183","endTime":6385.827,"annotations":[]} -{"type":"before","callId":"pw:api@184","stepId":"pw:api@184","startTime":6388.177,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@184","endTime":6418.017,"annotations":[]} -{"type":"before","callId":"pw:api@185","stepId":"pw:api@185","startTime":6420.355,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@185","endTime":6450.284,"annotations":[]} -{"type":"before","callId":"pw:api@186","stepId":"pw:api@186","startTime":6452.624,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@186","endTime":6482.484,"annotations":[]} -{"type":"before","callId":"pw:api@187","stepId":"pw:api@187","startTime":6485.221,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@187","endTime":6530.936,"annotations":[]} -{"type":"before","callId":"pw:api@188","stepId":"pw:api@188","startTime":6534.444,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@188","endTime":6563.429,"annotations":[]} -{"type":"before","callId":"pw:api@189","stepId":"pw:api@189","startTime":6565.94,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@189","endTime":6595.673,"annotations":[]} -{"type":"before","callId":"pw:api@190","stepId":"pw:api@190","startTime":6598.193,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@190","endTime":6627.904,"annotations":[]} -{"type":"before","callId":"pw:api@191","stepId":"pw:api@191","startTime":6630.299,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@191","endTime":6660.276,"annotations":[]} -{"type":"before","callId":"pw:api@192","stepId":"pw:api@192","startTime":6662.665,"class":"Test","method":"pw:api","title":"Evaluate","params":{"expression":"async () => {\n await new Promise(f => window.builtins.requestAnimationFrame(() => window.builtins.requestAnimationFrame(f)));\n }","isFunction":"true","arg":"Object"},"stack":[{"file":"/home/yurys/playwright/tests/config/utils.ts","line":198,"column":18,"function":"rafraf"}]} -{"type":"after","callId":"pw:api@192","endTime":6692.377,"annotations":[]} -{"type":"error","message":"ReferenceError: error is not defined","stack":[{"file":"/home/yurys/playwright/tests/library/video.spec.ts","line":864,"column":12}]} -{"type":"before","callId":"hook@193","stepId":"hook@193","startTime":6695.4,"class":"Test","method":"hook","title":"After Hooks","params":{},"stack":[]} -{"type":"before","callId":"fixture@194","stepId":"fixture@194","parentId":"hook@193","startTime":6697.331,"class":"Test","method":"fixture","title":"Fixture \"autoSkipBidiTest\"","params":{},"stack":[{"file":"/home/yurys/playwright/tests/config/browserTest.ts","line":62,"column":23}]} -{"type":"after","callId":"fixture@194","endTime":6697.512,"annotations":[]} -{"type":"stderr","timestamp":6702.321,"text":"setOptions \u001b[1mnull\u001b[22m\n"} -{"type":"after","callId":"hook@193","endTime":6812.997,"annotations":[]} -{"type":"before","callId":"hook@224","stepId":"hook@224","startTime":6813.515,"class":"Test","method":"hook","title":"Worker Cleanup","params":{},"stack":[]} -{"type":"before","callId":"fixture@225","stepId":"fixture@225","parentId":"hook@224","startTime":6814.296,"class":"Test","method":"fixture","title":"Fixture \"browser\"","params":{},"stack":[]} -{"type":"after","callId":"fixture@225","endTime":6906.737,"annotations":[]} -{"type":"before","callId":"fixture@226","stepId":"fixture@226","parentId":"hook@224","startTime":6907.876,"class":"Test","method":"fixture","title":"Fixture \"connectOptions\"","params":{},"stack":[{"file":"project#webkit-library","line":1,"column":1}],"group":"configuration"} -{"type":"after","callId":"fixture@226","endTime":6907.974,"annotations":[]} -{"type":"before","callId":"fixture@228","stepId":"fixture@228","parentId":"hook@224","startTime":6909.33,"class":"Test","method":"fixture","title":"Fixture \"browserName\"","params":{},"stack":[{"file":"project#webkit-library","line":1,"column":1}],"group":"configuration"} -{"type":"after","callId":"fixture@228","endTime":6909.382,"annotations":[]} -{"type":"before","callId":"fixture@229","stepId":"fixture@229","parentId":"hook@224","startTime":6910.032,"class":"Test","method":"fixture","title":"Fixture \"bidiTestSkipPredicate\"","params":{},"stack":[{"file":"/home/yurys/playwright/tests/config/browserTest.ts","line":62,"column":23}]} -{"type":"after","callId":"fixture@229","endTime":6910.169,"annotations":[]} -{"type":"before","callId":"fixture@233","stepId":"fixture@233","parentId":"hook@224","startTime":6913.264,"class":"Test","method":"fixture","title":"Fixture \"launchOptions\"","params":{},"stack":[{"file":"project#webkit-library","line":1,"column":1}],"group":"configuration"} -{"type":"after","callId":"fixture@233","endTime":6913.301,"annotations":[]} -{"type":"before","callId":"fixture@234","stepId":"fixture@234","parentId":"hook@224","startTime":6913.8,"class":"Test","method":"fixture","title":"Fixture \"headless\"","params":{},"stack":[{"file":"project#webkit-library","line":1,"column":1}],"group":"configuration"} -{"type":"after","callId":"fixture@234","endTime":6913.838,"annotations":[]} -{"type":"before","callId":"fixture@235","stepId":"fixture@235","parentId":"hook@224","startTime":6914.292,"class":"Test","method":"fixture","title":"Fixture \"playwright\"","params":{},"stack":[{"file":"/home/yurys/playwright/tests/config/testModeFixtures.ts","line":34,"column":34}]} -{"type":"after","callId":"fixture@235","endTime":6914.445,"annotations":[]} -{"type":"before","callId":"fixture@236","stepId":"fixture@236","parentId":"hook@224","startTime":6915.076,"class":"Test","method":"fixture","title":"Fixture \"mode\"","params":{},"stack":[{"file":"project#webkit-library","line":1,"column":1}]} -{"type":"after","callId":"fixture@236","endTime":6915.173,"annotations":[]} -{"type":"after","callId":"hook@224","endTime":6915.218,"annotations":[]} \ No newline at end of file diff --git a/xxx.patch b/xxx.patch deleted file mode 100644 index 585c9b0179e56..0000000000000 --- a/xxx.patch +++ /dev/null @@ -1,158 +0,0 @@ -diff --git a/packages/playwright/src/index.ts b/packages/playwright/src/index.ts -index 6b9bc4459..e09fe219c 100644 ---- a/packages/playwright/src/index.ts -+++ b/packages/playwright/src/index.ts -@@ -84,11 +84,13 @@ const playwrightFixtures: Fixtures = ({ - video: ['off', { scope: 'worker', option: true, box: true }], - trace: ['off', { scope: 'worker', option: true, box: true }], - -- _browserOptions: [async ({ playwright, headless, channel, launchOptions }, use) => { -+ _browserOptions: [async ({ playwright, headless, channel, launchOptions }, use, testInfo) => { -+ const testInfoImpl = test.info() as TestInfoImpl; - const options: LaunchOptions = { - handleSIGINT: false, - ...launchOptions, -- tracesDir: tracing().tracesDir(), -+ tracesDir: testInfoImpl._tracing.tracesDir(), -+ artifactsDir: testInfoImpl.artifactsDir(), - }; - if (headless !== undefined) - options.headless = headless; -@@ -231,14 +233,14 @@ const playwrightFixtures: Fixtures = ({ - }); - }, { box: true }], - -- _setupContextOptions: [async ({ playwright, actionTimeout, navigationTimeout, testIdAttribute }, use, _testInfo) => { -- const testInfo = _testInfo as TestInfoImpl; -+ _setupContextOptions: [async ({ playwright, actionTimeout, navigationTimeout, testIdAttribute }, use, testInfo) => { -+ const testInfoImpl = testInfo as TestInfoImpl; - if (testIdAttribute) - playwrightLibrary.selectors.setTestIdAttribute(testIdAttribute); -- testInfo.snapshotSuffix = process.platform; -- testInfo._onCustomMessageCallback = () => Promise.reject(new Error('Only tests that use default Playwright context or page fixture support test_debug')); -+ testInfoImpl.snapshotSuffix = process.platform; -+ testInfoImpl._onCustomMessageCallback = () => Promise.reject(new Error('Only tests that use default Playwright context or page fixture support test_debug')); - if (debugMode() === 'inspector') -- (testInfo as TestInfoImpl)._setDebugMode(); -+ testInfoImpl._setDebugMode(); - - playwright._defaultContextTimeout = actionTimeout || 0; - playwright._defaultContextNavigationTimeout = navigationTimeout || 0; -@@ -253,8 +255,9 @@ const playwrightFixtures: Fixtures = ({ - // Now that default test timeout is known, we can replace zero with an actual value. - testInfo.setTimeout(testInfo.project.timeout); - -- const artifactsRecorder = new ArtifactsRecorder(playwright, tracing().artifactsDir(), screenshot); -- await artifactsRecorder.willStartTest(testInfo as TestInfoImpl); -+ const testInfoImpl = testInfo as TestInfoImpl; -+ const artifactsRecorder = new ArtifactsRecorder(playwright, testInfoImpl, screenshot); -+ await artifactsRecorder.willStartTest(); - - const tracingGroupSteps: TestStepInternal[] = []; - const csiListener: ClientInstrumentationListener = { -@@ -363,7 +366,7 @@ const playwrightFixtures: Fixtures = ({ - } - const videoOptions: BrowserContextOptions = captureVideo ? { - recordVideo: { -- dir: tracing().artifactsDir(), -+ dir: path.join(testInfoImpl.artifactsDir(), 'videos'), - size: typeof video === 'string' ? undefined : video.size, - } - } : {}; -@@ -426,22 +429,22 @@ const playwrightFixtures: Fixtures = ({ - await use(reuse); - }, { scope: 'worker', title: 'context', box: true }], - -- context: async ({ browser, _reuseContext, _contextFactory }, use, testInfoPublic) => { -+ context: async ({ browser, _reuseContext, _contextFactory }, use, testInfo) => { - const browserImpl = browser as BrowserImpl; -- const testInfo = testInfoPublic as TestInfoImpl; -+ const testInfoImpl = testInfo as TestInfoImpl; - attachConnectedHeaderIfNeeded(testInfo, browserImpl); - if (!_reuseContext) { - const { context, close } = await _contextFactory(); -- testInfo._onCustomMessageCallback = createCustomMessageHandler(testInfo, context); -- testInfo._onDidFinishTestFunctionCallbacks.add(() => runDaemonForContext(testInfo, context)); -+ testInfoImpl._onCustomMessageCallback = createCustomMessageHandler(testInfoImpl, context); -+ testInfoImpl._onDidFinishTestFunctionCallbacks.add(() => runDaemonForContext(testInfoImpl, context)); - await use(context); - await close(); - return; - } - - const context = await browserImpl._wrapApiCall(() => browserImpl._newContextForReuse(), { internal: true }); -- testInfo._onCustomMessageCallback = createCustomMessageHandler(testInfo, context); -- testInfo._onDidFinishTestFunctionCallbacks.add(() => runDaemonForContext(testInfo, context)); -+ testInfoImpl._onCustomMessageCallback = createCustomMessageHandler(testInfoImpl, context); -+ testInfoImpl._onDidFinishTestFunctionCallbacks.add(() => runDaemonForContext(testInfoImpl, context)); - await use(context); - const closeReason = testInfo.status === 'timedOut' ? 'Test timeout of ' + testInfo.timeout + 'ms exceeded.' : 'Test ended.'; - await browserImpl._wrapApiCall(() => browserImpl._disconnectFromReusedContext(closeReason), { internal: true }); -@@ -501,10 +504,10 @@ const playwrightFixtures: Fixtures = ({ - await testInfoImpl._upstreamStorage(resolvedCacheFile, cacheOutFile); - }, - -- request: async ({ playwright }, use) => { -+ request: async ({ playwright }, use, testInfo) => { - const request = await playwright.request.newContext(); - await use(request); -- const hook = (test.info() as TestInfoImpl)._currentHookType(); -+ const hook = (testInfo as TestInfoImpl)._currentHookType(); - if (hook === 'beforeAll') { - await request.dispose({ reason: [ - `Fixture { request } from beforeAll cannot be reused in a test.`, -@@ -654,8 +657,7 @@ class SnapshotRecorder { - } - - private _createTemporaryArtifact(...name: string[]) { -- const file = path.join(this._artifactsRecorder._artifactsDir, ...name); -- return file; -+ return path.join(this.testInfo.artifactsDir(), ...name); - } - - private async _snapshotPage(page: PageImpl, temporary: boolean) { -@@ -682,17 +684,16 @@ class SnapshotRecorder { - } - - class ArtifactsRecorder { -- _testInfo!: TestInfoImpl; -- _playwright: PlaywrightImpl; -- _artifactsDir: string; -+ readonly _testInfo: TestInfoImpl; -+ readonly _playwright: PlaywrightImpl; - private _startedCollectingArtifacts: symbol; - - private _screenshotRecorder: SnapshotRecorder; - private _pageSnapshot: string | undefined; - -- constructor(playwright: PlaywrightImpl, artifactsDir: string, screenshot: ScreenshotOption) { -+ constructor(playwright: PlaywrightImpl, testInfo: TestInfoImpl, screenshot: ScreenshotOption) { - this._playwright = playwright; -- this._artifactsDir = artifactsDir; -+ this._testInfo = testInfo; - const screenshotOptions = typeof screenshot === 'string' ? undefined : screenshot; - this._startedCollectingArtifacts = Symbol('startedCollectingArtifacts'); - -@@ -703,9 +704,8 @@ class ArtifactsRecorder { - }); - } - -- async willStartTest(testInfo: TestInfoImpl) { -- this._testInfo = testInfo; -- testInfo._onDidFinishTestFunctionCallbacks.add(() => this.didFinishTestFunction()); -+ async willStartTest() { -+ this._testInfo._onDidFinishTestFunctionCallbacks.add(() => this.didFinishTestFunction()); - - this._screenshotRecorder.fixOrdinal(); - -@@ -834,10 +834,6 @@ function renderTitle(type: string, method: string, params: Record(playwrightFixtures); - - export { defineConfig } from './common/configLoader';