Files
novalon-manage-system/uat-tests/utils/uat-helper.ts
T
2026-03-25 09:44:57 +08:00

44 lines
1.2 KiB
TypeScript

import { Page, expect } from '@playwright/test';
import { uatConfig } from '../config/uat-config';
export class UATHelper {
constructor(private page: Page) {}
async waitForElement(selector: string, options?: { timeout?: number }) {
await this.page.waitForSelector(selector, {
timeout: options?.timeout || uatConfig.timeout,
state: 'visible'
});
}
async waitForAPIResponse(urlPattern: string) {
return this.page.waitForResponse(response =>
response.url().includes(urlPattern)
);
}
async waitForPageLoad() {
await this.page.waitForLoadState('networkidle');
await this.page.waitForFunction(() =>
document.readyState === 'complete'
);
}
async takeScreenshot(name: string) {
await this.page.screenshot({
path: `uat-tests/screenshots/${name}.png`,
fullPage: true
});
}
async verifySuccessMessage(expectedMessage: string) {
const message = await this.page.textContent('.el-message--success');
expect(message).toContain(expectedMessage);
}
async verifyErrorMessage(expectedMessage: string) {
const message = await this.page.textContent('.el-message--error');
expect(message).toContain(expectedMessage);
}
}