79a66612bd
新增文件: - e2e/fixtures/test-data.ts - 测试数据固件 - e2e/fixtures/auth.ts - 认证固件 - e2e/fixtures/storage-state.ts - 存储状态固件 - e2e/fixtures/index.ts - 导出索引文件 功能特性: - 提供标准化的测试数据(新闻、产品、服务、案例) - 支持环境变量配置管理员账号 - 封装认证流程,简化测试编写 - 支持存储状态复用,提升测试效率 - 提供XSS等安全测试数据 技术说明: - 添加 ESLint 禁用注释,因为 Playwright fixture 的 use 函数不是 React Hook
27 lines
760 B
TypeScript
27 lines
760 B
TypeScript
/* eslint-disable react-hooks/rules-of-hooks */
|
|
import { test as base } from '@playwright/test';
|
|
import { AdminLoginPage } from '../pages/AdminLoginPage';
|
|
import { testFixtures } from './test-data';
|
|
|
|
type AuthFixtures = {
|
|
authenticatedPage: void;
|
|
adminLoginPage: AdminLoginPage;
|
|
};
|
|
|
|
export const test = base.extend<AuthFixtures>({
|
|
authenticatedPage: async ({ page }, use) => {
|
|
const loginPage = new AdminLoginPage(page);
|
|
await loginPage.goto();
|
|
await loginPage.login(testFixtures.adminUser.email, testFixtures.adminUser.password);
|
|
await loginPage.expectLoginSuccess();
|
|
|
|
await use();
|
|
},
|
|
|
|
adminLoginPage: async ({ page }, use) => {
|
|
await use(new AdminLoginPage(page));
|
|
},
|
|
});
|
|
|
|
export { expect } from '@playwright/test';
|