mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
docs: update ci docs to better help Python users (#5095)
This commit is contained in:
parent
7a4b94e66c
commit
dcf041a266
@ -14,9 +14,24 @@ configurations for common CI providers.
|
||||
|
||||
1. **Ensure CI agent can run browsers**: Use [our Docker image](./docker.md)
|
||||
in Linux agents. Windows and macOS agents do not require any additional dependencies.
|
||||
1. **Install Playwright**: In most projects, this would be done with `npm ci`
|
||||
(or `npm install`). Playwright would install the relevant browsers automatically.
|
||||
1. **Run your tests**: Use `npm test` or equivalent to execute your tests.
|
||||
1. **Install Playwright**:
|
||||
```sh js
|
||||
$ npm ci
|
||||
# or
|
||||
$ npm install
|
||||
```
|
||||
```sh python
|
||||
$ pip install playwright==1.8.0a1
|
||||
$ playwright install
|
||||
```
|
||||
|
||||
1. **Run your tests**:
|
||||
```sh js
|
||||
$ npm test
|
||||
```
|
||||
```sh python
|
||||
$ pytest
|
||||
```
|
||||
|
||||
## CI configurations
|
||||
|
||||
@ -24,13 +39,31 @@ configurations for common CI providers.
|
||||
|
||||
The [Playwright GitHub Action](https://github.com/microsoft/playwright-github-action) can be used to run Playwright tests on GitHub Actions.
|
||||
|
||||
```yml
|
||||
```yml js
|
||||
steps:
|
||||
- uses: microsoft/playwright-github-action@v1
|
||||
- name: Run your tests
|
||||
run: npm test
|
||||
```
|
||||
|
||||
```yml python
|
||||
steps:
|
||||
- uses: microsoft/playwright-github-action@v1
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install playwright==1.8.0a1
|
||||
pip install -e .
|
||||
- name: Ensure browsers are installed
|
||||
run: python -m playwright install
|
||||
- name: Run your tests
|
||||
run: pytest
|
||||
```
|
||||
|
||||
We run [our tests](https://github.com/microsoft/playwright/blob/master/.github/workflows/tests.yml) on GitHub Actions, across a matrix of 3 platforms (Windows, Linux, macOS) and 3 browsers (Chromium, Firefox, WebKit).
|
||||
|
||||
### Docker
|
||||
@ -51,15 +84,15 @@ Suggested configuration
|
||||
```
|
||||
|
||||
```python async
|
||||
browser = await playwright.chromium.launch(
|
||||
args=['--disable-dev-shm-usage']
|
||||
)
|
||||
browser = await playwright.chromium.launch(
|
||||
args=['--disable-dev-shm-usage']
|
||||
)
|
||||
```
|
||||
|
||||
```python sync
|
||||
browser = playwright.chromium.launch({
|
||||
args=['--disable-dev-shm-usage']
|
||||
})
|
||||
browser = playwright.chromium.launch({
|
||||
args=['--disable-dev-shm-usage']
|
||||
})
|
||||
```
|
||||
|
||||
This will write shared memory files into `/tmp` instead of `/dev/shm`. See
|
||||
@ -86,14 +119,11 @@ pool:
|
||||
container: mcr.microsoft.com/playwright:bionic
|
||||
|
||||
steps:
|
||||
- script: npm install
|
||||
- script: npm run test
|
||||
...
|
||||
```
|
||||
|
||||
### Travis CI
|
||||
|
||||
We run our tests on Travis CI over a Linux agent (Ubuntu 18.04).
|
||||
|
||||
Suggested configuration
|
||||
1. [User namespace cloning](http://man7.org/linux/man-pages/man7/user_namespaces.7.html)
|
||||
should be enabled to support proper sandboxing
|
||||
@ -148,7 +178,7 @@ before_install:
|
||||
|
||||
### CircleCI
|
||||
|
||||
We run our tests on CircleCI, with our [pre-built Docker image](./docker.md). Running Playwright smoothly on CircleCI requires the following steps:
|
||||
Running Playwright on CircleCI requires the following steps:
|
||||
|
||||
1. Use the pre-built [Docker image](./docker.md) in your config like so:
|
||||
|
||||
@ -223,8 +253,7 @@ tests:
|
||||
stage: test
|
||||
image: mcr.microsoft.com/playwright:bionic
|
||||
script:
|
||||
- npm install # This should install playwright
|
||||
- npm run test
|
||||
...
|
||||
```
|
||||
|
||||
## Caching browsers
|
||||
@ -236,7 +265,7 @@ binaries. This behavior can be [customized with environment variables](./install
|
||||
Caching browsers on CI is **strictly optional**: The `postinstall` hooks should
|
||||
execute and download the browser binaries on every run.
|
||||
|
||||
#### Exception: `node_modules` are cached
|
||||
#### Exception: `node_modules` are cached (Node-specific)
|
||||
|
||||
Most CI providers cache the [npm-cache](https://docs.npmjs.com/cli-commands/cache.html)
|
||||
directory (located at `$HOME/.npm`). If your CI pipelines caches the `node_modules`
|
||||
@ -273,9 +302,12 @@ configuration, against a hash of the Playwright version.
|
||||
|
||||
Playwright supports the `DEBUG` environment variable to output debug logs during execution. Setting it to `pw:browser*` is helpful while debugging `Error: Failed to launch browser` errors.
|
||||
|
||||
```
|
||||
```sh js
|
||||
DEBUG=pw:browser* npm run test
|
||||
```
|
||||
```sh python
|
||||
DEBUG=pw:browser* pytest
|
||||
```
|
||||
|
||||
## Running headful
|
||||
|
||||
@ -309,6 +341,9 @@ with sync_playwright() as p:
|
||||
|
||||
On Linux agents, headful execution requires [Xvfb](https://en.wikipedia.org/wiki/Xvfb) to be installed. Our [Docker image](./docker.md) and GitHub Action have Xvfb pre-installed. To run browsers in headful mode with Xvfb, add `xvfb-run` before the Node.js command.
|
||||
|
||||
```
|
||||
```sh js
|
||||
xvfb-run node index.js
|
||||
```
|
||||
```sh python
|
||||
xvfb-run python test.py
|
||||
```
|
||||
|
||||
@ -20,12 +20,13 @@ npm i -D playwright
|
||||
|
||||
## Python
|
||||
|
||||
Playwright for Python is available in preview.
|
||||
[Playwright for Python](https://playwright.dev/python/docs/intro/) is available.
|
||||
|
||||
```
|
||||
pip install playwright
|
||||
pip install playwright==1.8.0a1
|
||||
```
|
||||
|
||||
* [Documentation](https://playwright.dev/python/docs/intro/)
|
||||
* [API](https://playwright.dev/python/docs/api/class-playwright)
|
||||
* [Playwright on PyPI](https://pypi.org/project/playwright/)
|
||||
* [GitHub repo](https://github.com/microsoft/playwright-python)
|
||||
* [Pytest integration](https://github.com/microsoft/playwright-pytest)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user