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 02:56, 29 May 2024
, 29 May→Locators in Page Objects
Line 792: | Line 792: | ||
=== Locators in Page Objects === | === Locators in Page Objects === | ||
Modifying the previous example | |||
<nowiki> | |||
readonly formLayoutsMenuItem: Locator | |||
readonly datePickerMenuItem: Locator | |||
... | |||
constructor(page: Page) { | |||
this.page = page | |||
this.formLayoutsMenuItem = page.getByText("Form Layouts") | |||
this.datePickerMenuItem = page.locator(".menu-item").getByText("Datepicker") | |||
... | |||
} | |||
async formLayoutsPage() { | |||
await this.selectGroupMenuItem("Forms") | |||
await this.formLayoutsMenuItem.click() | |||
} | |||
... | |||
</nowiki> | |||
Presenter pointed out that you can end up with long lists of fields, and constructor lines, resulting in hard to review and maintain code. You're probably better off just leaving them hard coded in the action methods. | |||
=== Parameterised Methods === | === Parameterised Methods === | ||
=== Date Picker Page Object === | === Date Picker Page Object === | ||
=== Page Objects Manager === | === Page Objects Manager === | ||
=== Page Objects Helper Base === | === Page Objects Helper Base === |