Commit graph

1759 commits

Author SHA1 Message Date
Jean-François Greffier a15fe50e7b
feat(test runner): workers as percentage (#17400)
Allows to set workers as a percentage of logical CPUs, for example
"50%".

Examples :
```bash
npx playwright test --workers 3
npx playwright test --workers 50%
```

```js
const config: PlaywrightTestConfig = {
  // ...
  workers: '33%',
}
```
2022-09-21 11:17:36 -07:00
Playwright Service d2300674ef
feat(firefox-beta): roll to r1355 (#17492)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-21 11:13:07 -07:00
Playwright Service 292b3e998e
feat(firefox): roll to r1352 (#17494)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-21 11:12:45 -07:00
Dmitry Gozman da7feb9cc6
fix(esm): silence warning when running with experimental loader (#17493)
Unfortunately, this silences all warnings, not just the experimental
loader warning.
2022-09-21 10:56:17 -07:00
Philip Langer 26150b7064
docs: fix typo persistet -> persisted (#17498) 2022-09-21 13:58:34 +02:00
Jérémy Lal 840a1f6436
chore: replace __proto__ by getPrototypeOf (#17386) 2022-09-20 19:01:12 -07:00
Pavel Feldman df143031e7
chore: move protocol and trace types into the top-level packages (#17486) 2022-09-20 18:41:51 -07:00
Yury Semikhatsky cd9a5946d2
fix(expect): toHaveAttribute with empty value should not match missing attribute (#17477)
Reference #16517
2022-09-20 17:11:12 -07:00
Playwright Service 68f029e047
feat(chromium-tip-of-tree): roll to r1044 (#17474)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-21 00:39:48 +02:00
Pavel Feldman 3abbe0d850
chore: migrate codegen to controller events (#17450) 2022-09-20 14:32:21 -07:00
Bastian 29ff00ead2
docs(cli): typo in --debug flag (#17455) 2022-09-20 14:00:59 +02:00
Playwright Service 426301dc6d
feat(firefox): roll to r1351 (#17391)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-19 08:52:37 -07:00
Playwright Service 57cc54fd96
feat(firefox-beta): roll to r1354 (#17414)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-19 08:50:38 -07:00
Pavel Feldman e9f926e536
fix(docker): do not sync primary selection into clipboard (#17424) 2022-09-19 06:08:40 -07:00
Max Schmitt ffbfacd732
docs: add code snippets for drag'n drop (#17390)
Fixes https://github.com/microsoft/playwright.dev/issues/775
2022-09-19 13:00:46 +02:00
Yury Semikhatsky ee83694372
chore(runner): remove unnecessary traversal (#17415) 2022-09-16 15:45:52 -07:00
Ross Wollman 8d639ae50e
chore: revert toHaveAttribute type sig and overloads (#17406)
Relates #16517.

Revert "docs(python): add missing NotToHaveAttribute overloads (#17371)"

This reverts commit 2e1ea29614.

Revert "docs(release-notes): add 1.26 release notes for language ports
(#17345)"

This reverts commit 4b8a85e69d.

Revert "test: unflake "should support boolean attribute with options"
(#17024)"

This reverts commit 1dc05bd4c6.

Revert "fix: support toHaveAttribute(name, options) (#16941)"

This reverts commit f30ac1d678.

Revert "feat: expect(locator).toHaveAttribute to assert attribute
presence (#16767)"

This reverts commit 622c73cc1e.
2022-09-16 11:17:35 -07:00
Pavel Feldman a6d9aa8708
fix(docker): use config to set up walpaper (#17399) 2022-09-16 09:27:59 -07:00
Playwright Service 1303e3e355
feat(chromium-tip-of-tree): roll to r1043 (#17384)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-16 11:00:27 +02:00
Playwright Service 58b43004d2
feat(chromium): roll to r1025 (#17372)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-16 10:59:17 +02:00
Playwright Service 8d696868c1
feat(webkit): roll to r1719 (#17364)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-16 10:58:22 +02:00
Andrey Lushnikov 7019cc8b97
feat(docker): closeAllBrowsers command for reuseController (#17383) 2022-09-15 20:38:28 -07:00
Dmitry Gozman 43304e980d
feat: show browser.close() stack in "Browser has been closed" error (#17376)
Often times we see "Browser has been closed" error, but it's not
entirely clear why. Showing the close stack might help.

```js
page.goto: Connection closed
    ==== Closed by ====
    at /Users/dgozman/code/playwright/tests/library/browsertype-connect.spec.ts:477:32
```
2022-09-15 17:04:41 -07:00
Andrey Lushnikov 24d3a23a66
fix(docker): handle container name conflict usecase. (#17379)
Drive-by: typo in the JSON docker status field.
2022-09-15 16:59:41 -07:00
Pavel Feldman 872bcc9734
chore: expose driver protocol on the pw object (#17363) 2022-09-15 15:53:18 -07:00
Andrey Lushnikov b09ea69024
chore(docker): address docker offline comments (#17377)
This patch:
- Removes all `process.exit(1)` from `docker.ts` and instead throws
  errors.
- Drops the `npx playwright docker test` command. We agreed to
  engage docker when `PLAYWRIGHT_DOCKER` environment variable
  is set.
- Introduces hidden `npx playwright docker status` command that
  dumps a JSON with docker status:
  ```sh
  aslushnikov:~/prog/playwright$ npx playwright docker status
  {
    "dockerEngineRunning": true,
    "imageName": "playwright:local-1.27.0-next-focal",
    "imageIsPulled": true,
"containerWSEndpoing":
"ws://127.0.0.1:55077/eafeb84c-571b-4d12-ac51-f6a2b43e9155",
"containerVNCEndpoint":
"http://127.0.0.1:55076/?path=fb6d4add-9adf-4c3c-b335-893bdc235cd7&resize=scale&autoconnect=1"
  }
  ```
2022-09-15 15:48:12 -07:00
Pavel Feldman 30ff27843a
chore: rebuild components on new vite (#17367) 2022-09-15 15:24:01 -07:00
Dmitry Gozman e1a2f7a168
fix(socks proxy): destroy sockets on close to avoid hanging (#17349) 2022-09-14 21:15:46 -07:00
Andrey Lushnikov 58873908ba
devops: add docker screenshot expectations for html-reporter tests (#17341) 2022-09-14 15:44:13 -07:00
Andrey Lushnikov 8466c436c9
fix(list reporter): properly count new lines for long stdout (#17339) 2022-09-14 15:25:24 -07:00
Pavel Feldman 854c783019
chore: project.id, configFile in reporter apis (#17346) 2022-09-14 14:56:28 -07:00
Max Schmitt 59c32bf2c6
Revert "chore(generator): use new .NET test attributes (#17172)" (#17344)
This reverts commit 15add13a6a.
2022-09-14 22:44:38 +02:00
Max Schmitt 4b8a85e69d
docs(release-notes): add 1.26 release notes for language ports (#17345) 2022-09-14 22:38:19 +02:00
Andrey Lushnikov e295eea450
fix(ignoreSnapshots): print a notice when ignoreSnapshots option is on (#17317)
<img width="1161" alt="image"
src="https://user-images.githubusercontent.com/746130/190032155-ae454c3e-1a7d-4a64-8cd6-bb27f9075ef3.png">
2022-09-14 09:16:41 -07:00
Andrey Lushnikov 210f7b2203
fix(docker): stop containers started with npx playwright docker start (#17316)
This patch makes `npx playwright docker stop` command to stop
containers that were launched with previous playwright version.
2022-09-13 17:08:01 -07:00
Andrey Lushnikov dfcd2a273d
fix(docker): do not pollute stdout when used with JSON reporter (#17315)
This patch moves parts of docker configuration to a plugin so that
it can rely on repoter for stdout.

Drive-by: provide all plugins with reporter in the `setup` callback.
2022-09-13 17:05:37 -07:00
Andrey Lushnikov 881f3101bd
chore(docker): consolidate docker code (#17314)
This patch consolidates all of docker implementation under the
`docker/` folder.
2022-09-13 16:14:49 -07:00
Yury Semikhatsky 35a86a2d02
docs(fetch): post file examples (#17312) 2022-09-13 16:05:57 -07:00
Andrey Lushnikov 4f11a4d5e7
feat(docker): use the __screenshots__ dir for snapshots by default (#17311)
This patch opts into the `__screnshots__` folder snapshot management
for docker.

With this patch, docker-originating snapshots will be stored in the
following folder:

```
{testDir}/__screenshots__/{projectName}/{testFilePath}/{snapshotName}
```

Where `{testFilePath}` is a test file path relative to `testDir`

Drive-by: introduce and document the `PLAYWRIGHT_DOCKER` environment
variable that enables docker integration.
2022-09-13 15:49:04 -07:00
Andrey Lushnikov 705bc28e92
feat(docker): auto-bind container ports to host ports (#17307)
Drive-by: make sure docker container does not expose ports on `0.0.0.0`
and instead registers to localhost. This way websocket and vnc ports
are not exposed to the public internet.
2022-09-13 13:23:04 -07:00
Andrey Lushnikov ebfefefc8e
chore: refactor docker integration code (#17297)
This patch splits out `dockerApi` namespace that is solely
responsible for docker API manipulation.
2022-09-13 10:55:11 -07:00
Max Schmitt 00a3b1b0a2
fix: make evaluate work with overridden Window/Document/Node (#17288)
Fixes https://github.com/microsoft/playwright/issues/17287
2022-09-13 18:21:07 +02:00
Andrey Lushnikov 8640d29ce4
chore(docker): address review comments (#17279)
Co-authored-by: Ross Wollman <rwoll@users.noreply.github.com>
2022-09-13 05:55:26 -07:00
sand4rt f61d3c9cc4
feat(ct): svelte type-safe hook config (#17237) 2022-09-12 21:00:41 -07:00
sand4rt eb3666328d
feat(ct): vue2 type-safe hook config (#17236) 2022-09-12 21:00:09 -07:00
Andrey Lushnikov bc942ef9ea
chore: cut v1.26.0 (#17265) 2022-09-12 10:45:27 -07:00
sand4rt 344077b04e
feat(ct): svelte mount type (#17228) 2022-09-12 09:30:04 -07:00
Jean-François Greffier 81bcbd284f
docs: migration typos (#17247) 2022-09-12 17:41:49 +02:00
Andrey Lushnikov af042beb13
feat: introduce docker integration (#16382)
This patch introduces the following commands:
- `npx playwright docker build` that builds a VRT docker image
  locally that is based off the `mcr.microsoft.com/playwright:jammy`
- `npx playwright docker start` that launches a docker container with
  browsers.
- `npx playwright docker stop` that stops given docker container.
- `npx playwright docker test` that runs all the tests inside a
  launched docker container.
2022-09-09 15:25:42 -07:00
Dmitry Gozman fa7caf4193
feat(cli): remove -i (#17229) 2022-09-09 15:07:15 -07:00