- 添加项目配置文件和环境变量设置 - 创建测试用例目录结构和命名规范 - 实现基础测试 fixture 和页面对象模型 - 添加示例测试用例和数据生成器 - 配置 playwright 和 gitignore 文件
32 lines
924 B
TypeScript
32 lines
924 B
TypeScript
import { expect, Page } from '@playwright/test';
|
|
|
|
export class CustomerDetailsPage {
|
|
page: Page;
|
|
subPages: { name: string; url?: string[] }[];
|
|
/**
|
|
* 顾客详情页面
|
|
*/
|
|
constructor(page: Page) {
|
|
this.page = page;
|
|
this.subPages = [{ name: '基本资料' }, { name: '流水' }, { name: '动态' }, { name: '日志' }];
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param subPageName 子页面名称
|
|
* - 基本资料
|
|
* - 流水
|
|
* - 动态
|
|
* - 日志
|
|
*/
|
|
gotoSubPage = async (subPageName: string) => {
|
|
if (!this.subPages.findIndex(e => e.name === subPageName)) {
|
|
throw new Error(`${subPageName} is not in the subPages list`);
|
|
}
|
|
const $subPage = this.page.getByRole('tab', { name: subPageName });
|
|
await $subPage.click();
|
|
await expect($subPage).toHaveClass(/active/);
|
|
await this.page.waitForLoadState();
|
|
};
|
|
}
|