Refactor Playwright tests in dag-calendar-tab (#63409)#64191
Refactor Playwright tests in dag-calendar-tab (#63409)#64191snesan821 wants to merge 3 commits intoapache:mainfrom
Conversation
|
Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contributors' Guide (https://github.com/apache/airflow/blob/main/contributing-docs/README.rst)
|
choo121600
left a comment
There was a problem hiding this comment.
Would it make sense to switch these to expect().toBeVisible() instead of waitFor()?
This could make the test more explicit and rely on Playwright’s built-in retry + assertion behavior.
- Replace .waitFor() with expect().toBeVisible() in DagCalendarTab - Add domcontentloaded wait and toBeAttached/toBeEnabled checks in DagsPage.triggerDag - Add grid container visibility check and fallback locator in RequiredActionsPage.clickOnTaskInGrid - Increase combobox timeout and add listbox visibility wait in ConnectionsPage.fillConnectionForm - Wrap XComsPage.navigate in toPass block for WebKit stability
|
Hey @choo121600, thanks for the review! That completely makes sense. I've updated the DagCalendarTab tests to use expect().toBeVisible() (and toBeHidden()) to leverage Playwright's built-in web-first assertions and retry behavior. Just a heads-up: while making this update, I also included a few targeted stability patches in this push to help resolve the Playwright WebKit E2E test flakes we were seeing fail the CI. These changes mostly involve adding explicit DOM readiness waits and relaxing some brittle timeouts across DagsPage, RequiredActionsPage, ConnectionsPage, and XComsPage. Let me know if everything looks good to go now! |
Description
This PR addresses Playwright testing anti-patterns outlined in Issue #63409, specifically focusing on the
DagCalendarTabpage object.Changes:
page.waitForFunction()DOM query used to count calendar cells.expect(locator).toBeVisible()) utilizing existingcalendarCellslocator to ensure the calendar grid is fully loaded and stable.closes: #63409
Was generative AI tooling used to co-author this PR?
Generated-by: Kiro following the guidelines