[Feature Request]: Migrate acceptance tests for topic-manager from Puppeteer to Playwright
#26,736 opened on Jul 12, 2026
Repository metrics
- Stars
- (5,292 stars)
- PR merge metrics
- (Avg merge 20d 19h) (71 merged PRs in 30d)
Description
Is your feature request related to a problem? Please describe.
The topic-manager acceptance test specs still run on Puppeteer. As part of the broader migration (https://github.com/oppia/oppia/issues/24715), these need to move to Playwright so we can retire Puppeteer entirely from the acceptance test suite.
Describe the solution (or solutions) you'd like
Migrate the following specs from core/tests/puppeteer-acceptance-tests/specs/topic-manager to core/tests/playwright-acceptance-tests/specs/topic-manager, following our existing Playwright conventions:
- track-upcoming-delayed-publish-chapter.spec.ts
- create-and-delete-questions-in-skill-editor.spec.ts
- cannot-do-curriculum-admin-actions.spec.ts
- edit-and-republish-story-with-mobile-supported-explorations.spec.ts
- access-dashboard-using-profile-dropdown.spec.ts
- edit-the-topic.spec.ts
- assign-unassign-and-merge-skills-in-skill-dashboard.spec.ts
- edit-and-republish-the-skill.spec.ts
- add-questions-from-topic-editor.spec.ts
- add-remove-and-edit-subtopics.spec.ts
- create-delete-and-edit-the-stories-and-chapters.spec.ts
- create-and-edit-questions-in-skill-dashboard.spec.ts
At a high level, this involves:
- Removing the old spec from
puppeteer-acceptance-tests/specs/topic-managerand adding a rewritten version toplaywright-acceptance-tests/specs/topic-manager, in Playwright syntax/conventions. - Updating the
frameworkfield for each suite inacceptance.jsonto"playwright". - Adding any missing utility methods to
playwright-acceptance-tests/utilities. - Verifying tests pass locally, both desktop and mobile:
- Desktop:
python -m scripts.run_acceptance_tests --suite={suite_name} - Mobile:
python -m scripts.run_acceptance_tests --suite={suite_name} --mobile - Videos for both runs will be generated in the
oppia_full_stack_test_video_recordingsfolder (sibling directory to the Oppia root) - Traces for both runs will also be generated in the
oppia_full_stack_test_playwright_resultsfolder (sibling directory to the Oppia root)
- Desktop:
- Running the stress test on your fork, on the branch you want to merge, using the
stress_test_acceptance_test.ymlworkflow, for 200 total runs (100 desktop + 100 mobile), to rule out flakiness before requesting assignment. - Share the stress test link and either the trace or video in the issue thread.
After reviewing the stress test run and video/trace recordings we can assign you to the particular spec file.
Describe alternatives you've considered and rejected
No response
Additional context
No response