MF** MFTF!¶
While we're fixing Magento... why not fix the tests too?
The Elephant in the Room¶
If you've ever waited 45 minutes for an MFTF suite to crawl through Selenium WebDriver, you know the pain. MFTF (Magento Functional Testing Framework) was ambitious when it launched. But in 2026, it's:
- Slow — Selenium-based, single-threaded, waiting for every page load
- Flaky — random timeouts, stale element references, session crashes
- Heavy — requires Java, Selenium Server, ChromeDriver, Allure reports
- Painful to write — XML-based test definitions, action groups, sections, data entities — all to click a button
- Maintenance burden — thousands of XML files across modules that break on every UI change
Meanwhile, the rest of the testing world moved on.
The Idea: Replace MFTF with Playwright¶
What if we replaced MFTF entirely with Playwright?
Modern, fast, reliable end-to-end testing that developers actually enjoy writing.
| MFTF | Playwright | |
|---|---|---|
| Language | XML action groups | JavaScript/TypeScript (or PHP) |
| Speed | Minutes per test | Seconds per test |
| Parallelism | Barely | Native, out of the box |
| Browser engines | Selenium + ChromeDriver | Chromium, Firefox, WebKit — built in |
| Dependencies | Java, Selenium Server, Allure | npm install |
| Debugging | Good luck | Trace viewer, video recording, screenshots |
| Auto-waiting | Manual wait hacks | Built-in smart waiting |
| CI/CD | Heavy Docker images | Lightweight, fast startup |
| Developer experience | XML hell | Actual code you can read |
Standing on Giants: elgentos/magento2-playwright¶
The brilliant team at elgentos already started this work. Their magento2-playwright project provides a Playwright testing framework specifically designed for Magento 2.
What They've Built¶
- Playwright test framework tailored for Magento 2 stores
- Page object models for common Magento pages
- Fixture support for test data
- CI/CD integration examples
- A real, working alternative to MFTF
The elgentos Team¶
- GitHub: github.com/elgentos
- LinkedIn: elgentos on LinkedIn
- Website: elgentos.nl
How This Fits Into GMAD¶
As we decouple modules and make them optional, we need tests that verify:
- Module X can be disabled without breaking anything
- Module X works correctly when enabled
- Other modules still work regardless of Module X's state
MFTF tests are tightly coupled to specific UI elements and page structures — exactly the kind of coupling we're trying to eliminate. Playwright tests can be written to test behavior, not UI implementation details.
The GMAD testing vision
Every decoupled module gets a Playwright test suite that verifies:
Module disabled →
bin/magento setup:di:compilepassesModule disabled → storefront works without it
Module enabled → feature works correctly
No regressions in core functionality
Want to Help?¶
This is a natural extension of the GMAD project. If you're passionate about testing and tired of MFTF:
- Check out elgentos/magento2-playwright
- Help us define the test strategy for decoupled modules
- Open an issue with your ideas
Let's not just decouple Magento's modules — let's decouple it from bad testing tools too.