66 lines
2.1 KiB
TypeScript
66 lines
2.1 KiB
TypeScript
import { test, expect } from '@playwright/test';
|
|
import { MemberManagementPage } from '../pages/MemberManagementPage';
|
|
import { MemberCardManagementPage } from '../pages/MemberCardManagementPage';
|
|
|
|
test.describe('会员管理工作流', () => {
|
|
let memberPage: MemberManagementPage;
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
memberPage = new MemberManagementPage(page);
|
|
});
|
|
|
|
test('查看会员列表', async () => {
|
|
await test.step('导航到会员管理页面', async () => {
|
|
await memberPage.goto();
|
|
});
|
|
|
|
await test.step('验证表格加载', async () => {
|
|
await expect(memberPage.table).toBeVisible({ timeout: 10000 });
|
|
await memberPage.waitForTableReady();
|
|
const rowCount = await memberPage.getRowCount();
|
|
console.log(`会员列表包含 ${rowCount} 条记录`);
|
|
expect(rowCount).toBeGreaterThanOrEqual(0);
|
|
});
|
|
});
|
|
|
|
test('搜索会员', async () => {
|
|
await test.step('导航到会员管理页面', async () => {
|
|
await memberPage.goto();
|
|
});
|
|
|
|
await test.step('执行搜索', async () => {
|
|
await memberPage.waitForTableReady();
|
|
await memberPage.search('test');
|
|
await memberPage.page.waitForTimeout(500);
|
|
});
|
|
|
|
await test.step('验证搜索结果', async () => {
|
|
const rowCount = await memberPage.getRowCount();
|
|
console.log(`搜索结果: ${rowCount} 条记录`);
|
|
expect(rowCount).toBeGreaterThanOrEqual(0);
|
|
});
|
|
});
|
|
});
|
|
|
|
test.describe('会员卡管理工作流', () => {
|
|
let cardPage: MemberCardManagementPage;
|
|
|
|
test.beforeEach(async ({ page }) => {
|
|
cardPage = new MemberCardManagementPage(page);
|
|
});
|
|
|
|
test('查看会员卡列表', async () => {
|
|
await test.step('导航到会员卡管理页面', async () => {
|
|
await cardPage.goto();
|
|
});
|
|
|
|
await test.step('验证表格加载', async () => {
|
|
await expect(cardPage.table).toBeVisible({ timeout: 10000 });
|
|
await cardPage.waitForTableReady();
|
|
const rowCount = await cardPage.getRowCount();
|
|
console.log(`会员卡列表包含 ${rowCount} 条记录`);
|
|
expect(rowCount).toBeGreaterThanOrEqual(0);
|
|
});
|
|
});
|
|
});
|