Skip to content

Instantly share code, notes, and snippets.

@systemboogie
Created November 25, 2022 15:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save systemboogie/3dc07a64a849507ac296ce6f07926379 to your computer and use it in GitHub Desktop.
Save systemboogie/3dc07a64a849507ac296ce6f07926379 to your computer and use it in GitHub Desktop.
Decision guide for browser test tooling - key strengths and limitations
Key strengths Limitations
Cypress • Easy to set up
• Versatile API with lots of features
• Great debuggability
• No native events, tab switches, iFrame switches, Shadow DOM inspection
• No Safari support
• No mobile browser support
Playwright • Concise, but powerful API
• Great debuggability
• Great test runner
• Controls the browser with native events
• Supported browser versions coupled to Playwright version
• No Safari support
• No mobile browser support
Puppeteer • Powerful API
• Controls the browser with native events
• Very fast
• Supports only Chromium/Chrome
• Supported browser versions coupled to Puppeteer version
TestCafé • Supports all major desktop and mobile browsers
• Limited support for native events
WebDriver-based • Supports all major desktop and mobile browsers
• Automates an end-user browser
• Controls the browser with native events
• Highly scalable
• Maintained by a huge community
• Steep learning curve
• Browser inspection is very limited
• Complex architecture, many moving parts 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment