End to End Testing for Browser Extensions
summary
A demo browser extension injects a ping/pong button onto google.com via a content script and uses a service worker to reply to messages; tests load the unpacked extension with CRX JS and run in Playwright (and comparably in Cypress where popups are limited). Automated end-to-end runs execute headless across browsers, nine tests pass, and changing the UI text intentionally fails then passes on rerun, proving reproducible flows and low flakiness. The claim is that Playwright can test extension popups while Cypress cannot, and the demo extension and tests work as shown.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 0:45Browser extension
- 3:14Manifest V3 structure
- 6:51Frontend and backend
- 8:40End-to-end testing
- 10:48E2E testing frameworks
- 11:51Writing first E2E tests
- 13:55Testing extensions E2E
- 15:40Live E2E demo
- 19:30Resources and conclusion
related talks
29mEnd-to-end Testing Is Hard - But It Doesn't Have to Be
47mEnd to End Testing with Cypress
30mTesting Web Applications with Playwright
30mEnd to End Testing: The Game Has Changed
20mTesting Web Applications with Playwright
01h 13mThe multi-year quest for the best web test in the west
35mState of end-to-end testing for modern web applications
33mCypress: The future of E2E testing
