mirror of
https://gh-proxy.org/https://github.com/klinsmaya/workdsh.git
synced 2026-11-08 17:36:57 +08:00
git-subtree-dir: workdsh-web git-subtree-mainline:d3a7b2143dgit-subtree-split:03b63ea143
10 lines
1.3 KiB
JavaScript
10 lines
1.3 KiB
JavaScript
import {readFile,mkdir} from 'node:fs/promises';
|
|
import {chromium,expect} from '@playwright/test';
|
|
let login;for(let i=0;i<100;i++){login=(await readFile('.test-runtime/upgrade-017/preview-server.log','utf8')).match(/http:\/\/127\.0\.0\.1:18989\/\?token=[\w-]+/)?.[0];if(login)break;await new Promise(r=>setTimeout(r,1000))}if(!login)throw Error('Preview not ready');
|
|
const browser=await chromium.launch();try{
|
|
const p=await browser.newPage({viewport:{width:1600,height:1050}});const errors=[];p.on('pageerror',e=>errors.push(e.message));await p.goto(login);await p.getByRole('button',{name:'项目',exact:true}).click();await expect(p.getByRole('heading',{name:'我的项目',exact:true})).toBeVisible();await mkdir('.artifacts/release-alpha8/screenshots',{recursive:true});
|
|
await p.getByRole('button',{name:'Settings',exact:true}).click();await p.getByRole('button',{name:'System',exact:true}).click();await p.getByRole('button',{name:'Close',exact:true}).click();
|
|
for(const theme of ['light','dark']){await p.emulateMedia({colorScheme:theme});await p.waitForTimeout(400);await p.locator('.wd-p-center').screenshot({path:'.artifacts/release-alpha8/screenshots/projects-'+theme+'.png'});}
|
|
console.log('Captured clean project main-area screenshots; no account or chat sidebar');
|
|
}finally{await browser.close()}
|