Playwright Service
4a32010dbc
feat(chromium): roll to r1028 ( #17749 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-30 23:53:16 +02:00
Pavel Feldman
5754fb9c6d
chore: do not emit comments from codegen ( #17747 )
2022-09-30 12:36:54 -07:00
Andrey Lushnikov
5b57789c6d
devops: proper error for the Webkit @ MacOS 10.15 ( #17731 )
...
The error looks like this:
```
aslushnikov:~/prog/playwright(main)$ npx playwright wk
[object.<anonymous>: Browser closed.
==================== Browser output: ====================
<launching> /Users/andreylushnikov/Library/Caches/ms-playwright/webkit-1616/pw_run.sh --inspector-pipe --no-startup-window
<launched> pid=15076
[pid=15076][out] ****************************************************************
[pid=15076][out] ****************************************************************
[pid=15076][out]
[pid=15076][out] ERROR: MacOS version is too old!
[pid=15076][out]
[pid=15076][out] This version of Playwright does not support running
[pid=15076][out] WebKit on MacOS 10.15. Please either:
[pid=15076][out] - update your operating system to version 11 or higher
[pid=15076][out] - use Playwright v1.25 or older
[pid=15076][out]
[pid=15076][out] ****************************************************************
[pid=15076][out] ****************************************************************
[pid=15076] <process did exit: exitCode=1, signal=null>
[pid=15076] starting temporary directories cleanup
=========================== logs ===========================
```
Fixes #17699
2022-09-30 01:40:17 -07:00
Pavel Feldman
083fb4401c
feat(api): add getByPlaceholderText ( #17722 )
2022-09-29 18:12:49 -07:00
Max Schmitt
d009500fa1
chore: fix WebKit deps on Ubuntu 18 ( #17718 )
2022-09-29 23:15:04 +02:00
Pavel Feldman
e09945c637
chore: handle unexpected ws response ( #17714 )
2022-09-29 14:04:19 -07:00
Max Schmitt
d715ad116d
chore: fix WebKit on debian after deps changes ( #17712 )
...
Follow-up on https://github.com/microsoft/playwright/pull/17676 .
2022-09-29 21:14:33 +02:00
Pavel Feldman
e3a2316013
feat(api): add getByLabelText ( #17684 )
2022-09-29 11:06:58 -07:00
Dmitry Gozman
a49ea7357a
fix(firefox): remove pref override ( #17674 )
...
There is no need for the workaround anymore.
Fixes #17528 .
2022-09-29 09:22:39 -07:00
Playwright Service
afa9c1528b
feat(webkit): roll to r1722 ( #17676 )
2022-09-29 09:00:31 -07:00
Playwright Service
57c4f703a7
feat(chromium): roll to r1027 ( #17641 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-09-28 10:53:21 +02:00
Playwright Service
57337e8df8
feat(firefox): roll to r1354 ( #17601 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-09-27 17:48:32 -07:00
Pavel Feldman
06e73b414f
chore: move connect utility into localUtils ( #17590 )
2022-09-27 13:05:06 -07:00
Dmitry Gozman
3409a37f77
feat: allow opening multiple html reporters and trace viewers ( #17636 )
...
This makes `HttpServer` accept `preferredPort` option that will first
try to listen on that port, and if that port is already in use, listen
on some available port instead.
Fixes #17201 .
2022-09-27 12:45:42 -07:00
Yury Semikhatsky
72a24973f3
fix: ignore timing data when request served from memory cache ( #17595 )
...
`Response.timing` contains stale data when the request is served from
memory cache, in that we should ignore it and return -1 where we don't
know the value.
Fixes https://github.com/microsoft/playwright-java/issues/1080
2022-09-26 17:12:47 -07:00
Playwright Service
d6dbfe547f
feat(webkit): roll to r1721 ( #17591 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-26 20:39:52 +02:00
Playwright Service
04f77f2319
feat(chromium): roll to r1026 ( #17545 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-22 23:24:16 +02:00
Joey Arhar
ab323122d8
feat(chromium): use Element.checkVisibility in isElementVisible ( #16592 )
...
Element.checkVisibility is a new browser API that was shipped in
chromium 105:
https://bugs.chromium.org/p/chromium/issues/detail?id=1309533
Using checkVisibility accounts for the content-visibility:hidden in the
user-agent ShadowRoot of the details element, which means we can remove
the usage of the AutoExpandDetailsElementFlag (I am trying to remove the
flag in chromium).
This behavior is covered by the existing "isVisible and isHidden should
work with details" test in locator-convenience.spec.ts.
2022-09-22 13:48:58 -07:00
Andrey Lushnikov
6b4afbb8df
chore: support http protocol with browserType.connect() ( #17483 )
2022-09-22 11:59:58 -07:00
Pavel Feldman
cb10ef3c71
chore: rename reuseController to debugController ( #17520 )
2022-09-21 15:35:52 -07:00
Dmitry Gozman
f17d345ac9
fix(ct): support empty fragments ( #17475 )
...
Currently, we ues `#root` vs `#root > *` selector for component roots
depending on the number of root children. This heuristic detects
fragments that render multiple elements inside the root.
However, this does not work with empty fragments that do not render
anything.
The fix is to make the `#root >> control=component` selector that would
dynamically detect the root. This supports empty fragments and also
allows for dynamic updates of the fragments.
2022-09-21 15:12:18 -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
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
Pavel Feldman
3abbe0d850
chore: migrate codegen to controller events ( #17450 )
2022-09-20 14:32:21 -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
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
Pavel Feldman
872bcc9734
chore: expose driver protocol on the pw object ( #17363 )
2022-09-15 15:53:18 -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
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
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
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
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
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
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
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
Yury Semikhatsky
5d6253f743
fix: stop har recording when APIRequestContext is disposed ( #17007 )
2022-08-31 21:51:38 -07: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
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
Pavel Feldman
6319b14069
chore: dispatcher is a scope ( #16843 )
2022-08-26 09:30:27 -07: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
Andrey Lushnikov
6ebd3ea61f
chore(electron): put client-provided arguments in front ( #16782 )
...
Fixes #16614
2022-08-23 15:08:36 -07: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
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
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
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
94c9db299d
feat(webkit): roll to r1703 ( #16604 )
2022-08-17 17:13:00 -07:00
Max Schmitt
13596b7be3
chore: language specific dropdowns in codegen ( #16452 )
2022-08-15 19:44:46 +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
Pavel Feldman
fce45210c1
feat(driver): report backend state ( #16477 )
2022-08-11 13:42:16 -07:00
Dmitry Gozman
51076d55ad
chore: move retargeting from expectHitTarget to retarget ( #16474 )
...
This aligns all retargeting in a single place, so that we
can pass around "retarget strategy" to make sure we retarget
as expected in every single action.
2022-08-11 13:06:12 -07:00
Pavel Feldman
c84fbc2e4e
feat(driver): add reuse and navigate commands ( #16420 )
2022-08-10 10:57:28 -07:00
Max Schmitt
699a52ec74
fix(codegen): make sure input recording with japanese IME Work ( #16400 )
...
Co-authored-by: kawasaki.taiga <kigtaiga@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-10 09:46:30 +02:00
Yury Semikhatsky
11391910e7
Revert "fix(codegen): make sure input recording with japanese IME Wor… ( #16393 )
...
Revert "fix(codegen): make sure input recording with japanese IME Work (#16210 )"
This reverts commit 925de8da2b .
2022-08-09 16:47:32 -07:00
Pavel Feldman
737975bc7d
chore: expose hidehighlight from server ( #16387 )
2022-08-09 16:42:55 -07:00
YA2KM
925de8da2b
fix(codegen): make sure input recording with japanese IME Work ( #16210 )
...
Co-authored-by: kawasaki.taiga <kigtaiga@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-10 01:02:42 +02:00
Max Schmitt
ff5f241b84
chore: set --allow-pre-commit-input flag on Android/Electron ( #16383 )
2022-08-09 23:18:15 +02:00
Pavel Feldman
c99d6cdd4c
chore: enable reused browser autoclose ( #16363 )
2022-08-08 17:16:13 -07:00
Dmitry Gozman
0fa20d5d1e
fix(click): make it work for display:contents elements ( #16356 )
...
After protocol fixes in all browsers, we can now scroll and click display:contents elements.
The only problem is that `elementsFromPoint()` misbehaves in Chromium and Firefox, so we
need a workaround. Hopefully, it will be fixed upstream - shadow dom spec folks think
"it becomes a real compatibility concern".
This needs Chromium 105 roll.
2022-08-08 16:05:09 -07:00
Ross Wollman
36b92d8847
fix: toBeFocused should match shadow elements ( #16362 )
...
Fixes #16268 .
2022-08-08 15:34:58 -07:00
Max Schmitt
1ca6635bb8
fix(cli): store trace/storage/har on SIGINT ( #16339 )
2022-08-09 00:13:38 +02:00
Pavel Feldman
2d7c003ada
chore: minor inspect tweaks ( #16334 )
2022-08-08 10:39:54 -07:00
Playwright Service
53917f43e1
feat(chromium): roll to r1019 ( #16335 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-07 15:32:38 +02:00
Pavel Feldman
8ed238843b
chore: allow inspecting element from server ( #16324 )
2022-08-05 19:34:57 -07:00
Dmitry Gozman
706c00d242
chore: remove UMD wrapper from cssTokenizer ( #16322 )
...
This wrapper conflicts with some bundlers in the wild, and we don't really need it.
2022-08-05 15:24:11 -07:00
Pavel Feldman
97fa2518e9
fix(reuse): clear storage after stopping all scripts ( #16275 )
2022-08-04 16:39:18 -07:00
Pavel Feldman
b3d30a808f
fix(reuse): reset sw, db, storages ( #16265 )
2022-08-04 15:01:34 -07:00
Dmitry Gozman
6b6b13c71b
feat(selenium): update docs and include SE_NODE_GRID_URL requirement ( #16230 )
2022-08-04 13:39:12 -07:00