# GSoc 2026 - Interested to Contribute on Switch to Playwright tests for integration testing

**URL:** <https://forum.djangoproject.com/t/gsoc-2026-interested-to-contribute-on-switch-to-playwright-tests-for-integration-testing/44551>\
**Category:** Google Season of Code\
**Created:** [March 18, 2026, 5:13am UTC](https://forum.djangoproject.com/t/gsoc-2026-interested-to-contribute-on-switch-to-playwright-tests-for-integration-testing/44551 "2026-03-18T05:13:11Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kishan4580](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/kishan4580/32/31932_2.png) [@Kishan4580](https://forum.djangoproject.com/u/Kishan4580)\
**Post date:** [March 18, 2026, 5:13am UTC](https://forum.djangoproject.com/t/gsoc-2026-interested-to-contribute-on-switch-to-playwright-tests-for-integration-testing/44551/1 "2026-03-18T05:13:11Z")

</div>

Hi everyone,

I’m interested in the GSoC 2026 project **“Switch to Playwright tests for integration testing”** and I’m currently setting up Django locally to understand the existing Selenium-based integration tests.

My background is mainly Python and web development, and I’m especially interested in contributing around testing infrastructure and developer experience.

Before drafting a proposal, I wanted to ask a few focused questions so I can scope the work realistically:

1. Is the expected GSoC scope mainly:

2. Are there particular test modules or test classes that would be the best first migration targets (for example around admin integration tests)?

3. Is the preferred direction to create a Playwright-based counterpart/replacement for `AdminSeleniumTestCase`, or would maintainers prefer a more generic abstraction layer first?

4. Would a small proof-of-concept PR (for example adding a minimal Playwright test utility or porting one isolated test module) be considered a useful first contribution before the proposal period?

I’m currently studying the test suite and would appreciate any pointers to the most relevant files or prior discussions.

Thanks!

---

<div class="post-metadata">

**Author:** ![jrief](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/jrief/32/17040_2.png) [@jrief](https://forum.djangoproject.com/u/jrief)\
**Post date:** [March 18, 2026, 11:05am UTC](https://forum.djangoproject.com/t/gsoc-2026-interested-to-contribute-on-switch-to-playwright-tests-for-integration-testing/44551/2 "2026-03-18T11:05:00Z")

</div>

Playwright works best when used with Pytest. Since the Django test suite is based on Python’s unit test framework, switching to Playwright would be a significant undertaking. I also doubt that the Django community would accept a migration to PyTest.

Nevertheless, I strongly recommend using Playwright with Pytest for all Django based projects.

---

<div class="post-metadata">

**Author:** ![KenWhitesell](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/kenwhitesell/32/280_2.png) [@KenWhitesell](https://forum.djangoproject.com/u/KenWhitesell)\
**Post date:** [March 18, 2026, 2:22pm UTC](https://forum.djangoproject.com/t/gsoc-2026-interested-to-contribute-on-switch-to-playwright-tests-for-integration-testing/44551/3 "2026-03-18T14:22:26Z")

</div>

2 posts were split to a new topic: [GSoC - Interesting to Contribute on Switch to Playwright tests](https://forum.djangoproject.com/t/gsoc-interesting-to-contribute-on-switch-to-playwright-tests/44573)

---

<div class="post-metadata">

**Author:** ![MANAS225](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/manas225/32/31684_2.png) [@MANAS225](https://forum.djangoproject.com/u/MANAS225)\
**Post date:** [March 19, 2026, 5:47am UTC](https://forum.djangoproject.com/t/gsoc-2026-interested-to-contribute-on-switch-to-playwright-tests-for-integration-testing/44551/4 "2026-03-19T05:47:57Z")

</div>

Hi everyone,

I am Manas Madeshiya from India, a GSoC 2026  
applicant interested in this project.

My Django contribution:  
→ PR #20883 (ticket #36979): Fixed  
GenericInlineModelAdmin.get\_formset()  
to use get\_exclude() hook  
All 33 CI checks passing, under review.  
Link: [Fixed #36979 -- Made GenericInlineModelAdmin.get\_formset() use get\_exclude(). by MANAS225 · Pull Request #20883 · django/django · GitHub](http://github.com/django/django/pull/20883)

I have studied the existing test suite:  
→ 142 Selenium import statements  
→ 16 test classes across 11 files to migrate  
→ Largest: admin\_widgets (7 classes)

GitHub: [MANAS225 (MANAS MADESHIYA) · GitHub](http://github.com/MANAS225)

Looking forward to working on this!
