mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
109 lines
3.4 KiB
Markdown
109 lines
3.4 KiB
Markdown
---
|
|
id: intro
|
|
title: "Installation"
|
|
---
|
|
## Introduction
|
|
|
|
Playwright was created specifically to accommodate the needs of end-to-end testing. Playwright supports all modern rendering engines including Chromium, WebKit, and Firefox. Test on Windows, Linux, and macOS, locally or on CI, headless or headed with native mobile emulation.
|
|
|
|
**You will learn**
|
|
|
|
- [How to install Playwright](/intro.md#installing-playwright)
|
|
- [How to run the example test](/intro.md#running-the-example-test)
|
|
|
|
## Installing Playwright
|
|
|
|
Playwright recommends using the official [Playwright Pytest plugin](./test-runners.md) to write end-to-end tests. It provides context isolation, running it on multiple browser configurations out of the box. Alternatively you can use the [library](./library.md) to manually write the testing infrastructure with your preferred test-runner. The Pytest plugin utilizes the sync version of Playwright, there is also an async version accessible via the library.
|
|
|
|
Get started by installing Playwright and running the example test to see it in action.
|
|
|
|
<Tabs
|
|
groupId="package-managers"
|
|
defaultValue="pypi"
|
|
values={[
|
|
{label: 'PyPI', value: 'pypi'},
|
|
{label: 'Anaconda', value: 'anaconda'}
|
|
]
|
|
}>
|
|
<TabItem value="pypi">
|
|
|
|
Install the [Pytest plugin](https://pypi.org/project/pytest-playwright/):
|
|
|
|
```bash
|
|
pip install pytest-playwright
|
|
```
|
|
|
|
</TabItem>
|
|
<TabItem value="anaconda">
|
|
|
|
Install the [Pytest plugin](https://anaconda.org/Microsoft/pytest-playwright):
|
|
|
|
```bash
|
|
conda config --add channels conda-forge
|
|
conda config --add channels microsoft
|
|
conda install playwright
|
|
```
|
|
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
Install the required browsers:
|
|
|
|
```bash
|
|
playwright install
|
|
```
|
|
|
|
## Add Example Test
|
|
|
|
Create a file that follows the `test_` prefix convention, such as `test_example.py`, inside the current working directory or in a sub-directory with the code below. Make sure your test name also follows the `test_` prefix convention.
|
|
|
|
```py title="test_example.py"
|
|
import re
|
|
from playwright.sync_api import Page, expect
|
|
|
|
def test_has_title(page: Page):
|
|
page.goto("https://playwright.dev/")
|
|
|
|
# Expect a title "to contain" a substring.
|
|
expect(page).to_have_title(re.compile("Playwright"))
|
|
|
|
def test_get_started_link(page: Page):
|
|
page.goto("https://playwright.dev/")
|
|
|
|
# Click the get started link.
|
|
page.get_by_role("link", name="Get started").click()
|
|
|
|
# Expects page to have a heading with the name of Installation.
|
|
expect(page.get_by_role("heading", name="Installation")).to_be_visible()
|
|
```
|
|
|
|
## Running the Example Test
|
|
|
|
By default tests will be run on chromium. This can be configured via the [CLI options](./running-tests.md). Tests are run in headless mode meaning no browser UI will open up when running the tests. Results of the tests and test logs will be shown in the terminal.
|
|
|
|
```bash
|
|
pytest
|
|
```
|
|
|
|
## Updating Playwright
|
|
|
|
To update Playwright to the latest version run the following command:
|
|
|
|
```bash
|
|
pip install pytest-playwright playwright -U
|
|
```
|
|
|
|
## System requirements
|
|
|
|
- Python 3.8 or higher.
|
|
- Windows 10+, Windows Server 2016+ or Windows Subsystem for Linux (WSL).
|
|
- MacOS 12 Monterey, MacOS 13 Ventura, or MacOS 14 Sonoma.
|
|
- Debian 11, Debian 12, Ubuntu 20.04 or Ubuntu 22.04.
|
|
|
|
## What's next
|
|
|
|
- [Write tests using web first assertions, page fixtures and locators](./writing-tests.md)
|
|
- [Run single test, multiple tests, headed mode](./running-tests.md)
|
|
- [Generate tests with Codegen](./codegen.md)
|
|
- [See a trace of your tests](./trace-viewer-intro.md)
|