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
@@ -0,0 +1,29 @@
import { Page } from '@playwright/test';
import { BasePage } from './BasePage';
import { getPageConfig } from '../config/test-pages';
export class ContactPage extends BasePage {
constructor(page: Page, config?) {
const pageConfig = getPageConfig('contact');
super(page, pageConfig.url, config);
}
async fillContactForm(data: { name: string; email: string; phone: string; message: string }): Promise<void> {
await this.fill('#name', data.name);
await this.fill('#email', data.email);
await this.fill('#phone', data.phone);
await this.fill('#message', data.message);
}
async submitForm(): Promise<void> {
await this.click('button[type="submit"]');
}
async getFormErrorMessage(): Promise<string> {
return await this.getText('.error-message');
}
async getFormSuccessMessage(): Promise<string> {
return await this.getText('.success-message');
}
}