26 lines
762 B
TypeScript
26 lines
762 B
TypeScript
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();
|
|
|
|
// 登录并保存认证状态
|
|
await page.goto(`${env.baseURL}/admin/login`);
|
|
await page.locator('#email').fill('contact@novalon.cn');
|
|
await page.locator('#password').fill('admin123456');
|
|
await page.locator('button[type="submit"]').click();
|
|
|
|
// 等待登录成功
|
|
await page.waitForURL(/\/admin(?!\/login)/);
|
|
|
|
// 保存认证状态
|
|
await page.context().storageState({ path: '.auth/admin.json' });
|
|
|
|
await browser.close();
|
|
}
|
|
|
|
export default globalSetup;
|