login.setup.ts 1.02 KB
import { test as setup, expect } from '@playwright/test';
import path from 'path';

const authFile = path.join(__dirname, '../auth.json');

setup('authenticate', async ({ page }) => {
  // 1. 先检查 auth.json 是否存在
  // 如果存在,并且你想让它自动跳过,可以加一个判断。这里简单起见,总是执行手动登录。
  // 实际项目中可以加一个环境变量来控制是否强制重新登录。

  console.log('开始执行认证设置...');

  // 2. 访问登录页
  await page.goto('https://erp-pad.test.gszdtop.com/#/');

  // 3. 手动登录(这里可以加一些提示)
  //console.log('请手动完成手机验证码登录...');

  // 4. 等待登录成功,检测某个登录后才会出现的元素
  await expect(page.getByText('赵xt')).toBeVisible();
//   await page.waitForSelector('text=个人中心', { timeout: 60000 });

  // 5. 登录成功后,保存状态
//   await page.context().storageState({ path: authFile });
//   console.log('认证状态已保存到', authFile);
});