Commit Graph

1121 Commits

Author SHA1 Message Date
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
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
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
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
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
Pavel Feldman
872bcc9734
chore: expose driver protocol on the pw object (#17363) 2022-09-15 15:53:18 -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
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
Yury Semikhatsky
35a86a2d02
docs(fetch): post file examples (#17312) 2022-09-13 16:05:57 -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
bc942ef9ea
chore: cut v1.26.0 (#17265) 2022-09-12 10:45:27 -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
Yury Semikhatsky
24ee456d43
chore: make maxRedirects available in java, improve docs. tests (#17227) 2022-09-09 13:25:36 -07:00
Vincenzo Gasparo
17b203affb
feat: added follow and redirect arguments to fetch (#17033) 2022-09-09 12:14:42 -07:00
Playwright Service
9e93913900
feat(chromium): roll to r1024 (#17203)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-09 14:36:55 +02:00
Playwright Service
0c663d9f58
feat(chromium-tip-of-tree): roll to r1041 (#17209)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-09 08:21:52 +02:00
Max Schmitt
5e56bc413a
chore: set default http request timeouts (#17200)
* chore: set default http request timeouts

* Update chromium.ts
2022-09-09 06:18:57 +02:00
Andrey Lushnikov
ea7ef328e7
fix: inject caret-hiding style in every shadow tree (#16907)
Style inheritance disregards selector specificity, so we can't
dominate local shadow dom styles.

To mitigate this, we inject the style tag with caret-hiding
style in every shadowDom tree.

Fixes #16732
2022-09-08 09:50:08 -07:00
Andrey Lushnikov
b0ff4f58ce
feat: implement --dry-run for npx playwright install (#17158)
* feat: implement `--dry-run` for `npx playwright install`

The `--dry-run` command prints URLs for browsers to be installed.

Demo output:

```
browser: chromium version 106.0.5249.21
  Install location:    /Users/andreylushnikov/Library/Caches/ms-playwright/chromium-1023
  Download url:        https://playwright.azureedge.net/builds/chromium/1023/chromium-mac-arm64.zip
  Download fallback 1: https://playwright-akamai.azureedge.net/builds/chromium/1023/chromium-mac-arm64.zip
  Download fallback 2: https://playwright-verizon.azureedge.net/builds/chromium/1023/chromium-mac-arm64.zip

browser: firefox version 104.0
  Install location:    /Users/andreylushnikov/Library/Caches/ms-playwright/firefox-1350
  Download url:        https://playwright.azureedge.net/builds/firefox/1350/firefox-mac-11-arm64.zip
  Download fallback 1: https://playwright-akamai.azureedge.net/builds/firefox/1350/firefox-mac-11-arm64.zip
  Download fallback 2: https://playwright-verizon.azureedge.net/builds/firefox/1350/firefox-mac-11-arm64.zip

browser: webkit version 16.0
  Install location:    /Users/andreylushnikov/Library/Caches/ms-playwright/webkit-1714
  Download url:        https://playwright.azureedge.net/builds/webkit/1714/webkit-mac-12-arm64.zip
  Download fallback 1: https://playwright-akamai.azureedge.net/builds/webkit/1714/webkit-mac-12-arm64.zip
  Download fallback 2: https://playwright-verizon.azureedge.net/builds/webkit/1714/webkit-mac-12-arm64.zip

browser: ffmpeg
  Install location:    /Users/andreylushnikov/Library/Caches/ms-playwright/ffmpeg-1007
  Download url:        https://playwright.azureedge.net/builds/ffmpeg/1007/ffmpeg-mac-arm64.zip
  Download fallback 1: https://playwright-akamai.azureedge.net/builds/ffmpeg/1007/ffmpeg-mac-arm64.zip
  Download fallback 2: https://playwright-verizon.azureedge.net/builds/ffmpeg/1007/ffmpeg-mac-arm64.zip
```

Fixes #16926
2022-09-08 09:05:09 -07:00
Playwright Service
cf8f662f13
feat(webkit): roll to r1715 (#17192)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-08 18:00:55 +02:00
Max Schmitt
aad745acab
docs: provide examples for connectOverCDP (#17189) 2022-09-08 18:00:28 +02:00
Max Schmitt
1e517731ef
chore: have a socket timeout when downloading browsers (#17187) 2022-09-08 14:40:41 +02:00
Pavel Feldman
80e9c5dc55
fix(reuse): restore storage state (#17175) 2022-09-07 19:15:04 -07:00
Max Schmitt
15add13a6a
chore(generator): use new .NET test attributes (#17172) 2022-09-08 01:44:58 +02:00
Pavel Feldman
c91df61ca3
chore: optionally connect instead of launching (#17174) 2022-09-07 15:57:20 -07:00
Cody Kaup
6a54b5ec88
chore: Fix README link (#17148) 2022-09-07 09:05:43 -07:00
Playwright Service
5a5011621b
feat(chromium-tip-of-tree): roll to r1040 (#17136)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-07 14:48:46 +02:00
Dmitry Gozman
6e1c94b5fe
fix(click): allow clicking inside closed shadow root (#16900)
Although Playwright selectors do not pierce closed shadow roots,
one can still obtain a reference to an element inside a closed shadow root:
- through `page.evaluate()`;
- through `handle.$()` where `handle` is inside the shadow root;
- through `frame.locator()` by choosing an iframe that belongs
  to a closed shadow root.

In this case, `click()` action fails during the hit check test,
but it's possible to make it work by going bottom up from the target
rather than top down from the document.
2022-09-06 17:55:15 -07:00
Dmitry Gozman
f0c5810609
feat(assertions): support toBeEditable({ editable }) (#17065) 2022-09-06 12:50:45 -07:00
Pavel Feldman
92f44e34d6
chore: silenсe best effort cleanup errors (#17137) 2022-09-06 12:48:40 -07:00
Dmitry Gozman
b734f36f8b
fix(frameElement): should work for frames inside closed shadow root (#17055) 2022-09-06 08:52:25 -07:00
Pavel Feldman
f4b90e5cc8
chore: reparent network back to context (#17023) 2022-09-05 10:19:44 +02:00
Yury Semikhatsky
01d83f1d5e
fix(har): record request overrides to har (#17027) 2022-09-04 10:52:20 -07:00
Playwright Service
4dc919fb71
feat(webkit): roll to r1714 (#17053)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-03 11:26:01 +02:00
Playwright Service
f051948400
feat(chromium): roll to r1023 (#17061)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-03 11:24:25 +02:00
Playwright Service
74187290f1
feat(chromium-tip-of-tree): roll to r1039 (#17044)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-03 00:53:53 +02:00
Dmitry Gozman
54e7f44974
fix(firefox): disable cookie partitioning (#17051) 2022-09-02 15:46:03 -07:00
Dmitry Gozman
3548f3f898
feat(firefox): roll ff to 1350, beta to 1353 (#17006) 2022-09-02 08:35:29 -07:00
Yury Semikhatsky
da19219323
fix: throw clear message when requested screenshot is too large (#17025) 2022-09-01 18:15:49 -07:00
Yury Semikhatsky
27ffdcc944
fix: accept post data for GET and HEAD http methods (#17008) 2022-09-01 08:36:08 -07:00
Playwright Service
791dcc39f5
feat(webkit): roll to r1713 (#17001)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-01 11:57:25 +02:00
Yury Semikhatsky
5d6253f743
fix: stop har recording when APIRequestContext is disposed (#17007) 2022-08-31 21:51:38 -07:00
Playwright Service
74d52138ff
feat(chromium-tip-of-tree): roll to r1038 (#17000)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-31 22:49:33 +02:00
Yury Semikhatsky
aaa28394cd
feat(trace): include url into route.fulfill call params (#16934) 2022-08-31 12:37:49 -07:00
Max Schmitt
6533eb2e5b
chore: fix deps for WebKit on ubuntu20 (#16950) 2022-08-31 12:27:09 +02:00
Playwright Service
77f6b25941
feat(webkit): roll to r1712 (#16933) 2022-08-30 14:24:14 -07:00
DetachHead
bcf2a06e53
docs: explain that the Selectors.register script is executed in the page context (#16917) 2022-08-30 09:17:17 -07:00
Dmitry Gozman
fea8772d95
fix: emit load/domcontentloaded events as reported by the browser (#16861)
Instead of requiring all frames in the subtree to receive a particular
event, we rely on the browser's definition of load and DOMContentLoaded.

This changes logic in a few edge cases:
- Some browsers do not emit load event upon window.stop() at all.
- DOMContentLoaded does not wait for subframes, so they might not be
  ready when passing `{ waitUntil: 'domcontentloaded' }`.

`networkidle` preserves the old logic.
2022-08-26 13:48:05 -07:00
JJetmar
b93668e301
docs: spelling fix (#16842)
Co-authored-by: Ross A. Wollman <ross.wollman@gmail.com>
2022-08-26 12:57:18 -07:00
Pavel Feldman
6319b14069
chore: dispatcher is a scope (#16843) 2022-08-26 09:30:27 -07:00
Playwright Service
fa234f4611
feat(chromium-tip-of-tree): roll to r1037 (#16854)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-26 07:34:08 +02:00
Playwright Service
3b1af7d75d
feat(chromium): roll to r1022 (#16844)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-25 21:42:58 +02:00
Pavel Feldman
a07a4a25a2
chore: make parent scope explicit (#16819) 2022-08-25 11:58:41 -07:00
Andrey Lushnikov
622c73cc1e
feat: expect(locator).toHaveAttribute to assert attribute presence (#16767)
This patch changes `expect(locator).toHaveAttribute()` so that the
`value` argument can be omitted. When done so, the method will
assert attribute existance.

Fixes #16517
2022-08-25 05:28:34 -07:00
Max Schmitt
74ab343e2b
feat(codegen): add NUnit/MSTest (#16803) 2022-08-25 11:58:58 +02:00
Dmitry Gozman
2c1723b6f5
chore: avoid protocol calls on disposed context (#16812)
Otherwise, we always get a failing protocol message when closing a context.
2022-08-24 17:21:01 -07:00
Playwright Service
c4e91bded1
feat(firefox): roll to r1347 (#16788) 2022-08-24 08:37:52 -07:00
Playwright Service
80389c7d47
feat(firefox-beta): roll to r1348 (#16786)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-24 00:11:05 -07:00
Andrey Lushnikov
6ebd3ea61f
chore(electron): put client-provided arguments in front (#16782)
Fixes #16614
2022-08-23 15:08:36 -07:00
Playwright Service
b57b30033a
feat(chromium-tip-of-tree): roll to r1036 (#16775)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-23 23:42:17 +02:00
Ross Wollman
aa23914659
chore: remove invalid device configurations (#16777)
Resolves #16622.

- removes current invalid configurations
- validates future changes
2022-08-23 14:03:41 -07:00
Andrey Lushnikov
1cedd805ed
chore: a nicer message to urge updating docker image with Playwright (#16758)
This will result in the following message:

```
root@docker-desktop:/playwright# node a.mjs
node:internal/process/esm_loader:94
    internalBinding('errors').triggerUncaughtException(
                              ^

browserType.launch: Executable doesn't exist at /ms-playwright/chromium-1021/chrome-linux/chrome
╔══════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just updated to 1.26.0. ║
║ Please update docker image as well.                                  ║
║ -  current: mcr.microsoft.com/playwright:v1.23.0-focal               ║
║ - required: mcr.microsoft.com/playwright:v1.26.0-focal               ║
║                                                                      ║
║ <3 Playwright Team                                                   ║
╚══════════════════════════════════════════════════════════════════════╝
    at file:///playwright/a.mjs:3:43 {
  name: 'Error'
}
```

Fixes #15483
2022-08-23 10:39:59 -07:00
Yury Semikhatsky
b51b7e7f67
fix: devices is a map not an array (#16729) 2022-08-22 11:34:53 -07:00
Max Schmitt
35a9daa425
chore: validate pw-core version when pwtest CLI gets executed (#16475) 2022-08-20 12:20:31 +02:00
Pavel Feldman
ba722a2580
fix(selectors): make them work in the browser reuse mode (#16691) 2022-08-19 13:48:33 -07:00
Andrey Lushnikov
e1e1035e10
chore: do not specify custom LD_LIBRARY_PATH for Firefox (#16681)
We used to bundle `libstdc++` for Firefox but we no longer do so,
so this code should not be needed.
2022-08-19 07:18:41 -07:00
Max Schmitt
be33ec817b
feat(webkit): add forced colors media query override (#16654) 2022-08-19 14:19:54 +02:00
Playwright Service
1154fffd8b
feat(webkit): roll to r1707 (#16668)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-19 11:09:39 +02:00
Playwright Service
77b91d4b80
feat(chromium-tip-of-tree): roll to r1035 (#16662)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-19 08:58:14 +02:00
Playwright Service
5282edca7c
feat(webkit): roll to r1706 (#16659)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-19 07:42:58 +02:00
Playwright Service
f99f0c099f
feat(chromium): roll to r1021 (#16657)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-19 07:42:09 +02:00
Playwright Service
5dc43d4957
feat(webkit): roll to r1705 (#16652)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-19 01:07:05 +02:00
mt-xing
411ec4479c
docs: Tiny grammar fix on Page class API page (#16649) 2022-08-18 14:26:23 -07:00
Max Schmitt
7e2aec7454
chore: align more ESLint rules with VSCode formatting (#16647) 2022-08-18 20:12:33 +02:00
Andrey Lushnikov
59562de0ec
fix(pipe): do not store accumulated message as string (#16641)
Accumulated message must be stored raw; otherwise, unicode encoding
will break while trying to decode them.

Fixes #16367
2022-08-18 07:53:56 -07:00
Playwright Service
3843a15d5f
feat(webkit): roll to r1704 (#16628)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-18 10:55:11 +02:00
Playwright Service
94c9db299d
feat(webkit): roll to r1703 (#16604) 2022-08-17 17:13:00 -07:00
Playwright Service
1733fc3ad7
feat(webkit): roll to r1702 (#16602) 2022-08-17 10:27:07 -07:00
Pavel Feldman
3cd8d6e513
chore(docs): revert recent changes temporarily (#16590) 2022-08-16 22:00:54 -07:00
Playwright Service
4840cae3b3
feat(chromium-tip-of-tree): roll to r1034 (#16593)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-17 00:23:24 +02:00
Pavel Feldman
823f4f57f2
fix(docs): make docs compile (#16588) 2022-08-16 11:02:15 -07:00
Yury Semikhatsky
4dcb492ef0
fix: make viewer reference all trace urls (#16561)
Single trace viewer page may render several traces, count it as a client for each of the trace files.

Fixes #16429
2022-08-15 20:54:57 -07:00
Max Schmitt
13596b7be3
chore: language specific dropdowns in codegen (#16452) 2022-08-15 19:44:46 +02:00
Max Schmitt
09e6bb9c0f
chore: sunset Node.js 12 (#16512) 2022-08-15 18:10:04 +02:00
Playwright Service
0a70c624d6
feat(firefox): roll to r1345 (#16540)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-15 07:58:06 -07:00
Playwright Service
65acaf6b59
feat(firefox-beta): roll to r1347 (#16543)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-15 07:57:17 -07:00
Max Schmitt
420f5f5a0a
feat(chromium-tip-of-tree): roll to 1033 (#16535) 2022-08-15 11:09:18 +02:00
Max Schmitt
9acfe2d469
feat(chromium): roll to 1020 (#16534) 2022-08-15 10:21:24 +02:00
Max Schmitt
435272248f
docs(dotnet): PowerShell install enhancements (#16520) 2022-08-14 20:01:00 +02:00
Dmitry Gozman
3ae50861a3
fix(reload): make sure reload() does not pick same-document navigaiton (#16504)
We lack `documentId` when doing a reload over browser protocols, so
`reload()` waits for the next navigation to finish. Sometimes, the page
might issue a same-document navigation while reload is in progress,
which confuses the reload command.

To fix the issue, just ignore same-document navigations for reload,
because it is always a new document.
2022-08-12 13:48:47 -07:00
Dmitry Gozman
3dc1920ce8
feat(expect): toHaveText/toContainText work with text in shadow dom (#16433) 2022-08-11 14:10:12 -07:00