Hi everyone,
I’m putting together a GSoC 2026 proposal for migrating Django’s integration testing from Selenium to Playwright (175h).
I’ve been contributing to Django core over the last few months PR, mostly digging into the ORM, database fallbacks, and SQLite quirks. Spending so much time in the internals has gotten me pretty familiar with the test suite, and I’m really interested in helping modernize the E2E side.
Playwright’s auto-waiting and async capabilities should be a win for reducing test flakiness and speeding up CI. Before I finalize my proposal timeline, I wanted to get some early feedback on my rough implementation plan:
-
Infrastructure & CI: Introduce Playwright alongside Selenium so both can run concurrently during the transition phase without breaking existing workflows.
-
Compatibility Layer: Draft a base class to replace AdminSeleniumTestCase. The main challenge here will be mapping Selenium’s implicit waits to Playwright’s explicit state checks cleanly.
-
Tests Porting: Port the tests module by module. I was thinking of starting with something isolated but high-impact.
A few scoping questions for the mentors:
-
Does this phased approach align with the core team’s vision for this migration?
-
Are there specific test modules you consider the highest priority to migrate first?
Looking forward to any feedback or pointers.
Thanks,
Vignesh A (VIZZARD-X)