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 22:35, 3 June 2024
, 3 June→Page Objects Manager
Line 991: | Line 991: | ||
=== Page Objects Manager === | === Page Objects Manager === | ||
File: <code>page-objects\pageManager.ts</code> | |||
<nowiki> | |||
import { Page, expect } from "@playwright/test" | |||
import { NavigationPage } from "../page-objects/navigationPage" | |||
import { FormLayoutsPage } from "../page-objects/formLayoutsPage" | |||
import { DatePickerPage } from "../page-objects/datePickerPage" | |||
export class PageManager { | |||
private readonly page: Page | |||
private readonly navigationPage: NavigationPage | |||
private readonly formLayoutsPage: FormLayoutsPage | |||
private readonly datePickerPage: DatePickerPage | |||
constructor(page: Page) { | |||
this.page = page | |||
this.navigationPage = new NavigationPage(this.page) | |||
this.formLayoutsPage = new FormLayoutsPage(this.page) | |||
this.datePickerPage = new DatePickerPage(this.page) | |||
} | |||
navigateTo = () => this.navigationPage | |||
onFormLayoutsPage = () => this.formLayoutsPage | |||
onDatePickerPage = () => this.datePickerPage | |||
}</nowiki> | |||
<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> | |||
=== Page Objects Helper Base === | === Page Objects Helper Base === |