Files
KArtSell.Aegis/frontend/.tmp-pw-retrofit.mjs
T

32 lines
1.4 KiB
JavaScript

import { chromium } from '@playwright/test'
import { writeFileSync } from 'node:fs'
const OUT = 'D:/Temp/claude/D--JobRoomz-KArtSell-Aegis/da832daa-83e6-4660-8d4b-a698136f10e3/scratchpad/pw-capture'
const BASE = 'http://127.0.0.1:5173'
const pages = [
['31-sell-decision', '/research/sell-decision'],
['32-data-quality', '/ops/data-quality'],
['33-rebalance', '/portfolio/rebalance'],
['34-market-ingestion', '/ops/market-data-ingestion'],
['35-ingestion-status', '/ops/market-data-history'],
['36-risk-dashboard', '/portfolio/risk'],
]
const browser = await chromium.launch()
const page = await browser.newPage({ viewport: { width: 1440, height: 1000 } })
const consoleLog = []
const pageErrors = []
page.on('console', msg => { if (msg.type() === 'error' || msg.type() === 'warning') consoleLog.push(`[${msg.type()}] ${msg.text()}`) })
page.on('pageerror', err => pageErrors.push(String(err)))
for (const [name, path] of pages) {
consoleLog.push(`--- ${name} ${path} ---`)
await page.goto(BASE + path, { waitUntil: 'networkidle' }).catch(e => pageErrors.push(`goto ${path}: ${e}`))
await page.waitForTimeout(400)
await page.screenshot({ path: `${OUT}/${name}.png`, fullPage: true })
}
writeFileSync(`${OUT}/retrofit-console.log`, consoleLog.join('\n'))
writeFileSync(`${OUT}/retrofit-page-errors.log`, pageErrors.join('\n'))
await browser.close()
console.log('DONE', 'console:', consoleLog.length, 'errors:', pageErrors.length)