chen0427ok opened a new pull request, #59374:
URL: https://github.com/apache/airflow/pull/59374

   ## Description
   
   Implements UI E2E test case **DAGS-001** to verify DAGs list displays 
correctly, as requested in issue #59307.
   
   ## Changes
   
   - **New test spec**: `dags-list.spec.ts` with 3 comprehensive test cases
   - **Extended DagsPage**: Added methods to verify DAG list display 
functionality
   - **Best practices**: Used `data-testid` selectors as recommended in the 
[E2E Testing 
README](https://github.com/apache/airflow/blob/main/airflow-core/src/airflow/ui/tests/e2e/README.md#contributing-new-tests)
   - **Improved stability**: Increased LoginPage timeouts for better 
reliability during test execution
   
   ## Test Cases
   
   1. **Verify DAGs list displays after login** - Ensures the DAG list is 
visible and contains at least one DAG
   2. **Verify DAG links are formatted correctly** - Validates all DAG links 
follow the expected pattern `/dags/{dag_id}`
   3. **Verify specific test DAG exists in the list** - Confirms the test DAG 
(`example_bash_operator`) is present
   
   ## Test Results
   
   **Local Testing Results:**
   
   - **Chromium**: 3/3 tests passed
   - **WebKit**: 3/3 tests passed
   - **Firefox**: 0/3 tests failed
   
   ### Firefox Issue Details
   
   All Firefox tests fail with the same error:
   ```
   TimeoutError: locator.waitFor: Test timeout of 120000ms exceeded.
   Call log:
     - waiting for locator('input[name="username"]') to be visible
   ```
   
   **Root Cause**: Firefox browser receives a `404 Not Found` nginx error page 
when navigating to `/auth/login`, while Chromium and WebKit successfully load 
the login page. This appears to be an environment/configuration issue rather 
than a test code problem, as evidenced by:
   
   1. Screenshot shows nginx 404 error page
   2. Same test code works perfectly in Chromium and WebKit
   3. Issue occurs consistently across all three Firefox test cases
   
   **Screenshots**: Test results and Firefox error screenshots are available in 
`test-results/` directory.
   
   ## Follows Contribution Guidelines
   
   - Uses Page Object Model (POM) pattern
   - Uses `data-testid` selectors where available
   - Test names start with "should"
   - Tests are independent and set up their own state
   - Includes meaningful assertions beyond navigation checks
   - Follows existing code style and conventions
   
   ## Related Issue
   
   Closes #59307
   
   ## Checklist
   
   - [x] My code follows the style guidelines of this project
   - [x] I have performed a self-review of my own code
   - [x] I have commented my code where necessary
   - [x] I have made corresponding changes to the documentation (README.md 
already includes guidance)
   - [x] My changes generate no new warnings
   - [x] I have added tests that prove my fix is effective or that my feature 
works
   - [x] New and existing unit tests pass locally with my changes
   - [x] Any dependent changes have been merged and published in downstream 
modules


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to