|
@@ -1,61 +0,0 @@
|
|
|
-import { chromium } from 'playwright';
|
|
|
|
|
-const browser = await chromium.launch({ executablePath: 'C:/Program Files/Google/Chrome/Application/chrome.exe' });
|
|
|
|
|
-
|
|
|
|
|
-async function login(p) {
|
|
|
|
|
- await p.goto('http://localhost:4200/login', { waitUntil: 'networkidle' });
|
|
|
|
|
- await p.waitForTimeout(600);
|
|
|
|
|
- await p.fill('input[type="tel"]', '13800138000');
|
|
|
|
|
- await p.fill('input[type="text"][maxlength="6"]', '123456');
|
|
|
|
|
- await p.click('button[type="submit"]');
|
|
|
|
|
- await p.waitForTimeout(3000);
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// 全新 context = 无缓存,Cache-Control: no-store 双保险
|
|
|
|
|
-const ctx = await browser.newContext({ viewport: { width: 1440, height: 900 }, bypassCSP: true });
|
|
|
|
|
-const p = await ctx.newPage();
|
|
|
|
|
-await p.route('**/*', r => r.continue());
|
|
|
|
|
-const errs = [];
|
|
|
|
|
-p.on('pageerror', e => errs.push(e.message.slice(0,120)));
|
|
|
|
|
-p.on('console', m => { if (m.type()==='error') errs.push(m.text().slice(0,120)); });
|
|
|
|
|
-
|
|
|
|
|
-await login(p);
|
|
|
|
|
-await p.goto('http://localhost:4200/desktop/workbench', { waitUntil: 'networkidle' });
|
|
|
|
|
-await p.waitForTimeout(2500);
|
|
|
|
|
-
|
|
|
|
|
-const probe = await p.evaluate(() => ({
|
|
|
|
|
- url: location.pathname,
|
|
|
|
|
- h1: document.querySelector('h1')?.textContent?.trim(),
|
|
|
|
|
- stats: document.querySelectorAll('ui-statistic').length,
|
|
|
|
|
- cards: document.querySelectorAll('ui-card').length,
|
|
|
|
|
- oldCards: document.querySelectorAll('.agent-card').length,
|
|
|
|
|
- oldMetric: document.querySelectorAll('.bar').length,
|
|
|
|
|
- demoWord: document.body.innerText.includes('演示数据'),
|
|
|
|
|
- overflowX: document.documentElement.scrollWidth > document.documentElement.clientWidth,
|
|
|
|
|
- scrollW: document.documentElement.scrollWidth,
|
|
|
|
|
- clientW: document.documentElement.clientWidth,
|
|
|
|
|
-}));
|
|
|
|
|
-console.log('=== 工作台(1440×900, 无缓存) ===');
|
|
|
|
|
-console.log(JSON.stringify(probe, null, 2));
|
|
|
|
|
-if (errs.length) console.log('⚠ 控制台错误:', errs.slice(0,3));
|
|
|
|
|
-else console.log('✅ 无控制台错误');
|
|
|
|
|
-
|
|
|
|
|
-await p.screenshot({ path: '../../.shots/dk-workbench-NEW.png' });
|
|
|
|
|
-
|
|
|
|
|
-// 宽屏 1920 验证流动布局
|
|
|
|
|
-await p.setViewportSize({ width: 1920, height: 1080 });
|
|
|
|
|
-await p.waitForTimeout(1200);
|
|
|
|
|
-const wide = await p.evaluate(() => ({
|
|
|
|
|
- cols: getComputedStyle(document.querySelector('.grid')).gridTemplateColumns,
|
|
|
|
|
- scrollW: document.documentElement.scrollWidth,
|
|
|
|
|
- clientW: document.documentElement.clientWidth,
|
|
|
|
|
-}));
|
|
|
|
|
-console.log('\n=== 1920×1080 流动布局 ===');
|
|
|
|
|
-console.log('卡片网格列:', wide.cols);
|
|
|
|
|
-await p.screenshot({ path: '../../.shots/dk-workbench-1920.png' });
|
|
|
|
|
-
|
|
|
|
|
-// 窄窗 1100 验证降级
|
|
|
|
|
-await p.setViewportSize({ width: 1100, height: 900 });
|
|
|
|
|
-await p.waitForTimeout(1200);
|
|
|
|
|
-await p.screenshot({ path: '../../.shots/dk-workbench-1100.png' });
|
|
|
|
|
-console.log('\n✅ 截图已出:dk-workbench-NEW / -1920 / -1100');
|
|
|
|
|
-await browser.close();
|
|
|