playwright/docs/why-playwright.md
2020-09-09 17:33:10 -07:00

4.5 KiB

Why Playwright?

Playwright enables fast, reliable and capable automation across all modern browsers. This guide covers those key differentiators to help you decide on the right tool for your automated tests.

Support for all browsers

  • Test on Chromium, Firefox and WebKit. Playwright has full API coverage for all modern browsers, including Google Chrome and Microsoft Edge (with Chromium), Apple Safari (with WebKit) and Mozilla Firefox.

  • Cross-platform WebKit testing. With Playwright, test how your app behaves in Apple Safari with WebKit builds for Windows, Linux and macOS. Test locally and on CI.

  • Test for mobile. Use device emulation to test your responsive web apps in mobile web browsers.

  • Headless and headful. Playwright supports headless (without browser UI) and headful (with browser UI) modes for all browsers and all platforms. Headful is great for debugging, and headless is faster and suited for CI/cloud executions.

Fast and reliable execution

  • Auto-wait APIs. Playwright interactions auto-wait for elements to be ready. This improves reliability and simplifies test authoring.

  • Timeout-free automation. Playwright receives browser signals, like network requests, page navigations and page load events to eliminate the need for sleep timeouts that cause flakiness.

  • Lean parallelization with browser contexts. Reuse a single browser instance for multiple parallelized, isolated execution environments with browser contexts.

  • Resilient element selectors. Playwright can rely on user-facing strings, like text content and accessibility labels to select elements. These strings are more resilient than selectors tightly-coupled to the DOM structure.

Powerful automation capabilities

Integrates with your workflow

Limitations

  • Legacy Edge and IE11 support. Playwright does not support legacy Microsoft Edge or IE11 (deprecation notice). The new Microsoft Edge (on Chromium) is supported.

  • Java language bindings: The Playwright API cannot be used in Java or Ruby today. This is a temporary limitation as Playwright is built to support bindings for any language.

  • Test on real mobile devices: Playwright uses desktop browsers to emulate mobile devices. If you are interested in running on real mobile devices, please upvote this issue.