Skip to content

Conversation

@vatsrahul1001
Copy link
Contributor

Adds UI end-to-end testing framework using Playwright, integrated with Breeze.

  • New breeze testing ui-e2e-tests command for UI automation tests
  • Page Object Model structure for maintainable tests
  • Initial test: DAG trigger workflow with verification
breeze testing ui-e2e-tests --test-pattern "dag-trigger.spec.ts" --headed

^ 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.rst or {issue_number}.significant.rst, in airflow-core/newsfragments.

@boring-cyborg boring-cyborg bot added area:dev-tools area:UI Related to UI/UX. For Frontend Developers. backport-to-v3-1-test Mark PR with this label to backport to v3-1-test branch labels Nov 21, 2025
@vatsrahul1001 vatsrahul1001 removed the backport-to-v3-1-test Mark PR with this label to backport to v3-1-test branch label Nov 21, 2025
@vatsrahul1001 vatsrahul1001 marked this pull request as draft November 21, 2025 07:07
@vatsrahul1001 vatsrahul1001 marked this pull request as ready for review November 26, 2025 05:11
Copy link
Member

@pierrejeambrun pierrejeambrun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing! 🎉

Just a few suggestion / improvement but I think this is a solid base!

@pierrejeambrun
Copy link
Member

pierrejeambrun commented Nov 27, 2025

We probably also should git ignore reports and test results

Copy link
Member

@pierrejeambrun pierrejeambrun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm having trouble running all 3 on my end.

It's a bit flaky. Basically commands without the --project options are broken.

All green
Image

Some errors (but I can't reproduce consistently)
Image

When I run them separately with:

breeze testing ui-e2e-tests --browser firefox --headed

All 3 are working.

Just a few adjustments and we can merge. We will see the flakiness when we integrate this to the CI.

@vatsrahul1001 vatsrahul1001 merged commit 575d2bc into apache:main Nov 28, 2025
28 checks passed
@vatsrahul1001 vatsrahul1001 deleted the playwright-integration branch November 28, 2025 12:21
Copy link
Contributor

@jscheffl jscheffl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool!

#protm

@potiuk
Copy link
Member

potiuk commented Nov 28, 2025

This is cool.

But there are two follow up questions:

  • Currently breeze testing ui-e2e-tests fails when there is no pnpm installed locally:
  File "/Users/jarekpotiuk/.local/share/uv/python/cpython-3.13.7-macos-aarch64-none/lib/python3.13/subprocess.py", line 1972, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'pnpm'

I think it should at least be explained as a prerequisite or installed automatically. Generally breeze testing is a command that does everything - lile building images when needed etc. Might be a good idea to improve that part

  • the tests are not run in CI (I guess?) - this means that they are prone to be broken any time. Any plans to run them on CI ?

@vatsrahul1001
Copy link
Contributor Author

Thanks for raising this @potiuk I will raise PR to handle this today.

  • Currently breeze testing ui-e2e-tests fails when there is no pnpm installed locally:

Yes, the plan is to create a CI workflow that will deploy an Airflow instance and run these tests. I will create a follow-up PR for this soon.
the tests are not run in CI (I guess?) - this means that they are prone to be broken any time. Any plans to run them on CI ?

@vatsrahul1001
Copy link
Contributor Author

PR to install pnpm if not already installed.

RoyLee1224 pushed a commit to RoyLee1224/airflow that referenced this pull request Dec 3, 2025
…pache#58548)

Add UI E2E testing framework with Playwright and Breeze integration (apache#58548)
Copilot AI pushed a commit to jason810496/airflow that referenced this pull request Dec 5, 2025
…pache#58548)

Add UI E2E testing framework with Playwright and Breeze integration (apache#58548)
itayweb pushed a commit to itayweb/airflow that referenced this pull request Dec 6, 2025
…pache#58548)

Add UI E2E testing framework with Playwright and Breeze integration (apache#58548)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dev-tools area:UI Related to UI/UX. For Frontend Developers.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants