|
|
|
|
|
by sa46
283 days ago
|
|
> Page Object Models trade off clarity for encapsulation [and] obscure what's actually happening. This argument also applies to using a function for abstraction. I've just written a few dozen e2e tests with Playwright. The code looks like: await invoiceDetailPage.selectCustomer(page, 'Acme');
await invoiceDetailPage.selectCustomerPoNumber(page, '1234567890');
await invoiceDetailPage.setCustomerReleaseNumber(page, '987654321');
...10-15 more lines
Each of those lines is 3 to 20 lines of Playwright code. Aggressive DRY is bad, but Page Object Models are usually worth it to reduce duplication and limit churn from UI changes. |
|