import { chromium, FullConfig } from '@playwright/test'; import { getEnvironment } from './src/config/environments'; const env = getEnvironment(); async function globalSetup(_config: FullConfig) { const browser = await chromium.launch(); const page = await browser.newPage(); try { await page.goto(`${env.baseURL}/admin/login`, { waitUntil: 'commit', timeout: 120000 }); await page.waitForSelector('#email', { timeout: 30000 }); await page.locator('#email').fill('admin@novalon.cn'); await page.locator('#password').fill('admin123456'); await page.locator('button[type="submit"]').click(); try { await page.waitForURL(/\/admin(?!\/login)/, { timeout: 30000 }); } catch (error) { await page.screenshot({ path: 'test-results/login-failure.png', fullPage: true }); throw error; } await page.context().storageState({ path: '.auth/admin.json' }); } catch (error) { try { await page.screenshot({ path: 'test-results/setup-error.png' }); } catch (screenshotError) { console.error('截图失败:', screenshotError); } throw error; } finally { await browser.close(); } } export default globalSetup;