feat: add UAT helper utilities and test data
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user