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; subject?: string }): Promise { await this.fill('[data-testid="name-input"]', data.name); await this.fill('[data-testid="phone-input"]', data.phone); await this.fill('[data-testid="email-input"]', data.email); if (data.subject) { await this.fill('[data-testid="subject-input"]', data.subject); } await this.fill('[data-testid="message-input"]', data.message); } async submitForm(): Promise { await this.click('[data-testid="submit-button"]'); } async getFormErrorMessage(): Promise { const errorElement = await this.page.locator('p.mt-1.text-sm.text-\\[\\#C41E3A\\]').first(); return await errorElement.textContent() || ''; } async getFormSuccessMessage(): Promise { await this.page.waitForTimeout(1000); const successElement = await this.page.locator('text=消息已发送').first(); if (await successElement.count() > 0) { return await successElement.textContent() || ''; } return ''; } }