-
Notifications
You must be signed in to change notification settings - Fork 16.4k
add E2E tests for DAG Runs tab #59754
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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)
|
|
Thanks for the PR @Sahil-Shadwal I will review soon |
|
@Sahil-Shadwal can you look at failures? |
On it |
|
@Sahil-Shadwal All of dag run tab test failing can you check? |
Progress so far: I've resolved the major blocking issues preventing the tests from running: Fixed the this.waitForPageLoad is not a function crash by implementing the correct Playwright wait states. My Ask: Is there a specific attribute or data-testid convention I should be using for the Runs tab table specifically?
|
|
@Sahil-Shadwal Thanks for working on this! A few things to address:
Let me know if you have questions! |
@Sahil-Shadwal Thanks for the update on your progress! 1. data-testid conventions for Runs tab The ones you have added in tests looks correct. The issue you're seeing with element location is likely timing - the table loads asynchronously. Make sure you're waiting for the table to be visible before querying rows: await this.runsTable.waitFor({ state: "visible", timeout: 10_000 }); 2. Seeding test data You don't need to seed data manually. Instead, create the data you need in test.beforeAll(async ({ browser }) => { const context = await browser.newContext({ storageState: AUTH_FILE }); await setupPage.triggerDag(testDagId); const response = await page.request.get( if (runId) { await context.close(); 3. waitForPageLoad issue If |
|
@Sahil-Shadwal can you resolve conflicts? |
✅done |
- Add tests for run details navigation and verification - Implement filtering tests for run state and type - Add search functionality tests - Implement pagination tests with offset/limit - Add sorting tests for logical date column - Create reusable DagsPage helper methods for DAG run operations
|
@Sahil-Shadwal CI is failing can you have a look also I see you are using login in pages we should not do that |
… PR pattern - Remove LoginPage import and all login-related code - Tests now receive authenticated page from Playwright's global storageState - Initialize DagsPage directly in each test function - Matches pattern from successfully merged PRs: apache#59943, apache#59919, apache#59734 - Fixes CI failures across Chromium, Firefox, and WebKit Addresses reviewer feedback from @vatsrahul1001
Resolved conflicts by keeping our DAG-specific runs tab test (DAG-006). Main branch has a different dag-runs.spec.ts for global DAG Runs page (DAGRUNS-001).
|
Hey, thanks for sticking with me on this - I know it's taken way longer than it should have. Really appreciate you taking the time to explain the patterns. Just pushed a fix removing the LoginPage stuff (finally caught what you meant about not using login in pages). Looked at how the other merged PRs handle auth (#59943, #59919, etc.) and matched that pattern - just using the global storageState: AUTH_FILE instead. Quick summary of what changed: Removed LoginPage completely But honestly, if you'd rather hand this off to someone else at this point, I totally get it - I know I've already taken up a lot of your time. Thanks again for the help! |
Thanks for the changes @Sahil-Shadwal, I see static checks and tests are still failing can you have a look? |
|
@Sahil-Shadwal can you resolve conflicts and look at failing tests? |
|
@vatsrahul1001 sorry to disappoint , i tried to fix these but i am getting nowhere and i am busy rn so please assign this issue to someone else |
@Sahil-Shadwal you do not need to be disappoint. Feel free to pick up new issues when you have bandwidth |





Add E2E tests for DAG Runs tab functionality.
Changes
data-testidto DagRuns.tsx for E2E testingTest Coverage
✅ Navigate to Runs tab
✅ Verify run details (ID, state, times, duration)
✅ Click run to view details
✅ Filter and search functionality
✅ Pagination
Closes #59541
Related issues: #59028
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in airflow-core/newsfragments.