Skip to content

Commit 2edd6f2

Browse files
authored
docs: introduce why-playwright.md (microsoft#3666)
1 parent e2057fb commit 2edd6f2

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

docs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Playwright is a library to automate [Chromium](https://www.chromium.org/Home), [
1818
### Table of contents
1919

2020
1. Introduction
21+
- [Why Playwright?](./why-playwright.md)
2122
- [Getting started](./intro.md)
2223
- [First script](./intro.md#first-script)
2324
- [Core concepts](./core-concepts.md)

docs/why-playwright.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Why Playwright?
2+
3+
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.
4+
5+
<!-- GEN:toc-top-level -->
6+
- [Support for all browsers](#support-for-all-browsers)
7+
- [Fast and reliable execution](#fast-and-reliable-execution)
8+
- [Powerful automation capabilities](#powerful-automation-capabilities)
9+
- [Integrates with your workflow](#integrates-with-your-workflow)
10+
<!-- GEN:stop -->
11+
12+
## Support for all browsers
13+
* **Test on Chromium, Firefox and WebKit**. Playwright has full API coverage for all modern browsers, including Google Chrome and Microsoft Edge (with [Chromium](https://www.chromium.org/)), Apple Safari (with [WebKit](https://webkit.org/)) and Mozilla Firefox.
14+
15+
* **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.
16+
17+
* **Test for mobile**. Use [device emulation](emulation.md) to test your responsive web apps in mobile web browsers.
18+
19+
* **Headless and headful**. Headless and headful automation is supported across all browsers and on all platforms.
20+
21+
## Fast and reliable execution
22+
* **Auto-wait APIs**. Playwright interactions [auto-wait for elements](actionability.md) to be ready. This improves reliability and simplifies test authoring.
23+
24+
* **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.
25+
26+
* **Lean parallelization with browser contexts**. Reuse a single browser instance for multiple parallelized, isolated execution environments with [browser contexts](core-concepts.md).
27+
28+
* **Resilient element selectors**. Playwright can rely on user-facing strings, like text content and accessibility labels to [select elements](selectors.md). These strings are more resilient than selectors tightly-coupled to the DOM structure.
29+
30+
## Powerful automation capabilities
31+
* **Multiple domains, pages and frames**. Playwright is an out-of-process automation driver that is not limited by the scope of in-page JavaScript execution and can automate scenarios with [multiple pages](multi-pages.md).
32+
33+
* **Powerful network control**. Playwright introduces context-wide [network interception](network.md) to stub and mock network requests.
34+
35+
* **Modern web features**. Playwright supports web components through [shadow-piercing selectors](selectors.md), [geolocation, permissions](emulation.md), web workers and other modern web APIs.
36+
37+
* **Capabilities to cover all scenarios**. Support for [file downloads](network.md) and [uploads](input.md), native [input events](input.md), and even [dark mode](emulation.md).
38+
39+
## Integrates with your workflow
40+
* **One-line installation**. Running `npm i playwright` auto-downloads browser dependencies for your team to be onboarded quickly.
41+
42+
* **TypeScript support**. Playwright ships with built-in types for auto-completion and other benefits.
43+
44+
* **Debugging tools**. Playwright integrates with the [editor debugger](debug.md) to
45+
46+
* **Language bindings**. Playwright is also available in [Python](https://github.com/microsoft/playwright-python) and [C#](https://github.com/hardkoded/playwright-sharp).
47+
48+
* **Deploy tests to CI**. First-party [Docker image](docker/README.md) and [GitHub Actions](https://github.com/microsoft/playwright-github-action) to deploy tests to [your preferred CI/CD provider](ci.md).

0 commit comments

Comments
 (0)