Udemy Playwright: Web Automation Testing From Zero to Hero: Difference between revisions
Jump to navigation
Jump to search
Udemy Playwright: Web Automation Testing From Zero to Hero (view source)
Revision as of 03:46, 5 June 2024
, 5 June→Page Objects Helper Base
mNo edit summary |
|||
Line 1,049: | Line 1,049: | ||
=== Page Objects Helper Base === | === Page Objects Helper Base === | ||
File <code>page-objects\helperBase.ts</code> | |||
<nowiki> | |||
import { Page } from "@playwright/test" | |||
export class HelperBase { | |||
readonly page: Page | |||
constructor(page: Page) { | |||
this.page = page | |||
} | |||
async waitForNumberOfSeconds(timeInSeconds: number) { | |||
await this.page.waitForTimeout(timeInSeconds * 1000) | |||
} | |||
}</nowiki> | |||
File <code>page-objects\navigationPage.ts</code> | |||
<nowiki> | |||
... | |||
async formLayoutsPage() { | |||
await this.selectGroupMenuItem("Forms") | |||
await this.page.getByText("Form Layouts").click() | |||
await this.waitForNumberOfSeconds(2) | |||
} | |||
...</nowiki> | |||
Which is used in <code>tests\usePageObjects.spec.ts</code> | |||
<nowiki> | |||
test("Page Manger", async ({ page }) => { | |||
const pm = new PageManager(page) | |||
await pm.navigateTo().formLayoutsPage() | |||
await pm | |||
.onFormLayoutsPage() | |||
.submitUsingTheGridFormWithCredentialsAndSelectOption( | |||
"test@test.com", | |||
"Welcome1", | |||
"Option 2" | |||
) | |||
await pm | |||
.onFormLayoutsPage() | |||
.submitInLineFormWithNameEmailAndCheckbox( | |||
"John Smith", | |||
"john@test.com", | |||
true | |||
) | |||
await pm.navigateTo().datePickerPage() | |||
await pm.onDatePickerPage().selectCommonDatePickerDateFromToday(10) | |||
await pm.onDatePickerPage().selectDatePickerWithRangeFromToday(6, 15) | |||
})</nowiki> |