docs(contributing): some updates to recommended test commands (#31693)
Signed-off-by: Max Schmitt <max@schmitt.mx> Co-authored-by: Max Schmitt <max@schmitt.mx>
This commit is contained in:
parent
6ee8f1de2d
commit
58bcdde956
|
|
@ -46,12 +46,16 @@ npm ci
|
||||||
npm run build
|
npm run build
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Run all Playwright tests locally. For more information about tests, read [Running & Writing Tests](#running--writing-tests).
|
4. Run tests
|
||||||
|
|
||||||
|
This will run a test on line `23` in `page-fill.spec.ts`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm test
|
npm run ctest -- page-fill:23
|
||||||
```
|
```
|
||||||
|
|
||||||
|
See [here](#running--writing-tests) for more information about running and writing tests.
|
||||||
|
|
||||||
### Code reviews
|
### Code reviews
|
||||||
|
|
||||||
All submissions, including submissions by project members, require review. We
|
All submissions, including submissions by project members, require review. We
|
||||||
|
|
@ -95,7 +99,7 @@ footer
|
||||||
1. *label* is one of the following:
|
1. *label* is one of the following:
|
||||||
- `fix` - playwright bug fixes.
|
- `fix` - playwright bug fixes.
|
||||||
- `feat` - playwright features.
|
- `feat` - playwright features.
|
||||||
- `docs` - changes to docs, e.g. `docs(api.md): ..` to change documentation.
|
- `docs` - changes to docs, e.g. `docs(api): ..` to change documentation.
|
||||||
- `test` - changes to playwright tests infrastructure.
|
- `test` - changes to playwright tests infrastructure.
|
||||||
- `devops` - build-related work, e.g. CI related patches and general changes to the browser build infrastructure
|
- `devops` - build-related work, e.g. CI related patches and general changes to the browser build infrastructure
|
||||||
- `chore` - everything that doesn't fall under previous categories
|
- `chore` - everything that doesn't fall under previous categories
|
||||||
|
|
@ -121,7 +125,7 @@ All API classes, methods, and events should have a description in [`docs/src`](h
|
||||||
To run the documentation linter, use:
|
To run the documentation linter, use:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run doc
|
npm run doclint
|
||||||
```
|
```
|
||||||
|
|
||||||
To build the documentation site locally and test how your changes will look in practice:
|
To build the documentation site locally and test how your changes will look in practice:
|
||||||
|
|
@ -159,11 +163,14 @@ npm run test
|
||||||
Be sure to run `npm run build` or let `npm run watch` run before you re-run the
|
Be sure to run `npm run build` or let `npm run watch` run before you re-run the
|
||||||
tests after making your changes to check them.
|
tests after making your changes to check them.
|
||||||
|
|
||||||
- To run all tests in Chromium
|
- To run tests in Chromium
|
||||||
```bash
|
```bash
|
||||||
npm run ctest # also `ftest` for firefox and `wtest` for WebKit
|
npm run ctest # also `ftest` for firefox and `wtest` for WebKit
|
||||||
|
npm run ctest -- page-fill:23 # runs line 23 of page-fill.spec.ts
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To run tests in WebKit / Firefox, use `wtest` or `ftest`.
|
||||||
|
|
||||||
- To run the Playwright test runner tests
|
- To run the Playwright test runner tests
|
||||||
```bash
|
```bash
|
||||||
npm run ttest
|
npm run ttest
|
||||||
|
|
@ -206,31 +213,13 @@ npm run ctest -- --headed
|
||||||
CRPATH=<path-to-executable> npm run ctest
|
CRPATH=<path-to-executable> npm run ctest
|
||||||
```
|
```
|
||||||
|
|
||||||
- To run tests in slow-mode:
|
- When should a test be marked with `skip` or `fixme`?
|
||||||
|
|
||||||
```bash
|
|
||||||
SLOW_MO=500 npm run wtest -- --headed
|
|
||||||
```
|
|
||||||
|
|
||||||
- When should a test be marked with `skip` or `fail`?
|
|
||||||
|
|
||||||
- **`skip(condition)`**: This test *should ***never*** work* for `condition`
|
- **`skip(condition)`**: This test *should ***never*** work* for `condition`
|
||||||
where `condition` is usually a certain browser like `FFOX` (for Firefox),
|
where `condition` is usually something like: `test.skip(browserName === 'chromium', 'This does not work because of ...')`.
|
||||||
`WEBKIT` (for WebKit), and `CHROMIUM` (for Chromium).
|
|
||||||
|
|
||||||
For example, the [alt-click downloads test](https://github.com/microsoft/playwright/blob/471ccc72d3f0847caa36f629b394a028c7750d93/test/download.spec.js#L86) is marked
|
- **`fixme(condition)`**: This test *should ***eventually*** work* for `condition`
|
||||||
with `skip(FFOX)` since an alt-click in Firefox will not produce a download
|
where `condition` is usually something like: `test.fixme(browserName === 'chromium', 'We are waiting for version x')`.
|
||||||
even if a person was driving the browser.
|
|
||||||
|
|
||||||
|
|
||||||
- **`fail(condition)`**: This test *should ***eventually*** work* for `condition`
|
|
||||||
where `condition` is usually a certain browser like `FFOX` (for Firefox),
|
|
||||||
`WEBKIT` (for WebKit), and `CHROMIUM` (for Chromium).
|
|
||||||
|
|
||||||
For example, the [alt-click downloads test](https://github.com/microsoft/playwright/blob/471ccc72d3f0847caa36f629b394a028c7750d93/test/download.spec.js#L86) is marked
|
|
||||||
with `fail(CHROMIUM || WEBKIT)` since Playwright performing these actions
|
|
||||||
currently diverges from what a user would experience driving a Chromium or
|
|
||||||
WebKit.
|
|
||||||
|
|
||||||
## Contributor License Agreement
|
## Contributor License Agreement
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue