feat: add page objects for all pages

This commit is contained in:
张翔
2026-03-06 12:07:18 +08:00
parent b8d22aac9f
commit 50ecd7a241
8 changed files with 148 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
import { Page } from '@playwright/test';
import { BasePage } from './BasePage';
import { getPageConfig } from '../config/test-pages';
export class HomePage extends BasePage {
constructor(page: Page, config?) {
const pageConfig = getPageConfig('home');
super(page, pageConfig.url, config);
this.pageConfig = pageConfig;
}
private pageConfig;
async getHeroTitle(): Promise<string> {
return await this.getText('h1');
}
async getFeaturesSection(): Promise<boolean> {
return await this.isVisible('.features-section');
}
async navigateToAbout(): Promise<void> {
await this.click('a[href="/about"]');
}
async navigateToContact(): Promise<void> {
await this.click('a[href="/contact"]');
}
async navigateToProducts(): Promise<void> {
await this.click('a[href="/products"]');
}
}