Yury Semikhatsky
abd7084bcc
fix: match default font families in headless chromium ( #11340 )
2022-02-11 09:06:17 -08:00
Pavel Feldman
da2cecbea0
chore: don't close page in generated test ( #12022 )
2022-02-11 08:11:24 -08:00
Pavel Feldman
5ab7bc3a59
chore: headless mode for codegen ( #12020 )
2022-02-10 21:23:16 -08:00
Dmitry Gozman
2bc19ae076
chore: extract SocksProxy to a spearate file ( #12011 )
2022-02-10 13:04:19 -08:00
Mateusz Burzyński
b0cd5b1420
feat(mouse): set .buttons correctly for basic mouse commands in Chrome ( #10698 )
...
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-02-09 20:48:16 -08:00
Andrey Lushnikov
6f87955243
feat: introduce disableAnimations option for screenshots ( #11870 )
...
This option stops all kinds of CSS animations while doing screenshot:
- CSS animations
- CSS transitions
- Web Animations
Animations get different treatment depending on animation duration:
- finite animations are fast-forwarded to its end, issuing the
`transitionend` event.
- Infinite animations are resetted to its beginning, and then
resumed after the screenshot.
References #9938 , fixes #11912
2022-02-09 12:52:11 -08:00
Darío Kondratiuk
48cc41f3e7
feat: add key support on react engine ( #11970 )
...
I've got [this question](https://stackoverflow.com/questions/71050193/react-locator-example/71052432#71052432 ) on StackOverflow. And although, in that case, the `key` was part of the `props` attributes. That might not always be true.
I am bringing this to the tell to see what you think about this.
I'm also fixing a typo :)
2022-02-09 11:33:15 -08:00
Pavel Feldman
9f35a97a55
chore(chrome): tolerate unknown target types ( #11936 )
2022-02-08 09:46:05 -08:00
Yury Semikhatsky
1e00218ead
feat(tracing): suport loading multiple files in trace viewer ( #11880 )
2022-02-07 17:05:42 -08:00
Pavel Feldman
c3c99a5f66
chore: shift left the inspector window.
2022-02-07 10:41:33 -08:00
Dmitry Gozman
f82e09be04
feat(codegen): generate locators and frame locators ( #11873 )
2022-02-04 19:27:45 -08:00
Dmitry Gozman
c45dacc834
feat(codegen): make selector generator strict ( #11856 )
...
This is required to migrate to locators.
2022-02-04 07:34:23 -08:00
Andrey Lushnikov
547a32885b
feat: hide blinking cursor when making screenshots ( #11854 )
...
References #9938
2022-02-03 21:44:23 -08:00
github-actions[bot]
f96b1dd43b
feat(webkit): roll to r1609 ( #11824 )
2022-02-03 08:20:39 -08:00
Pavel Feldman
1215057ca1
chore: use ipc transport for out-of-process driver ( #11826 )
2022-02-02 21:26:45 -08:00
Dmitry Gozman
f587a43932
feat(locator): "has" option ( #11411 )
...
This introduces `locator('div', { has: locator })` syntax that matches elements containing other elements.
Can be used together with `hasText`.
Internally, has selector engine takes an inner selector escaped with double-quotes:
`div >> has="li >> span >> text=Foo" >> span`.
2022-02-02 16:55:50 -08:00
github-actions[bot]
fba523a9d0
feat(chromium): roll to r965416 ( #11802 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-02-02 11:39:10 +01:00
Max Schmitt
028afb167b
chore: bump production dependencies ( #11787 )
2022-02-01 21:27:34 +01:00
Caio Agiani
b6b60decdf
fix: typos ( #11789 )
2022-02-01 11:09:41 -08:00
Dmitry Gozman
0b04c7d504
fix(drag&drop): relax layout shift logic when dropping ( #11760 )
...
When element that is being dragged stays under the mouse,
it prevents the hit target check on drop from working,
because drop target is overlayed by the dragged element.
To workaround this, we perform a one-time hit target check
before moving for the drop, as we used to.
2022-01-31 16:21:35 -08:00
Yury Semikhatsky
401cd9c0ee
fix(fetch): do not throw on empty response body with br encoding ( #11708 )
2022-01-28 12:58:58 -08:00
Yury Semikhatsky
84248f6e48
fix(webkit): handle will/didCheckPolicyForNavigation ( #11631 )
2022-01-27 14:58:43 -08:00
Yury Semikhatsky
480338d5f3
fix: create traces dir in /tmp instead of cwd ( #11699 )
2022-01-27 14:58:17 -08:00
Yury Semikhatsky
d305a2ab3f
fix: throw in route.continue if it is called twice ( #11701 )
2022-01-27 14:58:02 -08:00
hackerman
872a4be752
fix(server): handle = in cookie values correctly ( #11613 )
2022-01-26 11:27:43 -08:00
Andrey Lushnikov
6a7a2971f2
fix(chromium): close all javascript dialogs when closing context ( #11614 )
...
Fixes #11581
2022-01-25 13:52:18 -08:00
Yury Semikhatsky
62bf59e310
browser(webkit): removed unused will/didCheckNewWindowPolicy ( #11626 )
2022-01-25 12:30:11 -08:00
Ross Wollman
64e7557fb9
fix: falsey behavior in route.continue, page.post, testInfo.attach ( #11421 )
...
In several of the Playwright APIs, falsey values were not handled correctly. This changeset adds tests (and some fixes):
- route.continue: If options.postData was the empty string, the continue failed to override the post data.
- page.post (application/json with options.data: false|''|0|null): Raw falsey values were getting dropped (i.e. you can't do the equivalent of curl --header application/json … -d 'false'). This has been fixed with most values across all browsers, but an additional fix is needed for 'null' which the channel serializer treats extra specially.
- testInfo.attach: This didn't get reported as an error when options.path was the empty string, but should have been.
#11413 (and its fix #11414 ) inspired this search as they are the same
class of bug.
2022-01-24 15:06:36 -08:00
github-actions[bot]
5382a794fe
feat(chromium): roll to r960211 ( #11487 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-01-24 08:40:45 -08:00
Yury Semikhatsky
ab9d5a0dc4
chore(tracing): add tracing to APIRequestContext ( #11502 )
2022-01-22 11:25:13 -08:00
Yury Semikhatsky
295d0a65c3
fix(har): do not hang on cached resources ( #11556 )
2022-01-21 16:31:00 -08:00
Max Schmitt
fb139cefac
fix: playwright.locator.hasText RegExp flag serialisation in Console API ( #11516 )
2022-01-21 01:05:37 +01:00
Pavel Feldman
a65f7066d5
fix(webkit): improve orientation detection ( #11481 )
2022-01-19 10:07:38 -08:00
Dmitry Gozman
6928c84ac2
chore: move some files out of server/common ( #11466 )
...
This is a directory for sharing code between Node and Web.
2022-01-18 19:13:51 -08:00
github-actions[bot]
bfe7b7cc20
feat(firefox): roll to r1314 ( #11459 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-18 09:28:04 -08:00
Pavel Feldman
815e121445
feat(highlight): update highlight from raf ( #11443 )
2022-01-17 18:33:35 -08:00
Yury Semikhatsky
cfb86a74fa
fix(webkit): filechooer interception after process swap ( #11415 )
2022-01-14 17:33:07 -08:00
Max Schmitt
fb22c859d6
chore: add browser like UA to browser fetcher ( #11006 )
...
Drive-by: unify all Playwright user agents across the board.
Co-authored-by: Andrey Lushnikov <lushnikov@chromium.org>
2022-01-14 02:46:17 -08:00
Pavel Feldman
feb7148b3f
chore: don't write into stdout from the test runner, use reporters instead ( #11367 )
2022-01-12 19:52:40 -08:00
Pavel Feldman
853757930d
chore: don't log twice twice ( #11361 )
2022-01-12 11:37:49 -08:00
Pavel Feldman
a12e76b52b
chore: implement locator._highlight / playwright._hideHighlight ( #11339 )
2022-01-12 07:37:48 -08:00
Dmitry Gozman
359d523ec3
fix(selectors): allow :scope with additional css ( #11338 )
2022-01-11 18:40:29 -08:00
Dmitry Gozman
807f70bccf
fix(electron): remove timeout from electronApp.close ( #11336 )
...
We do not have a timeout for any other close method, such as
browserContext.close or browser.close, and hitting default
30 seconds is very realistic with large Electron apps.
2022-01-11 17:12:18 -08:00
github-actions[bot]
d31f13468a
feat(webkit): roll to r1592 ( #11261 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-01-10 05:02:07 -08:00
github-actions[bot]
a423a4a9ed
feat(chromium): roll to r956323 ( #11268 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-09 20:44:07 -05:00
Pavel Feldman
dc07fa6da6
fix(locator.count): do not touch main workd when computing count ( #11256 )
2022-01-07 15:52:14 -08:00
Yury Semikhatsky
37a97c4201
feat(tracing): capture network failures ( #11237 )
2022-01-07 11:22:01 -08:00
Pavel Feldman
e1772f15b5
fix(click): don't fail on stale context while clicking ( #11228 )
2022-01-06 15:15:11 -08:00
Dmitry Gozman
be896848bb
fix(selectors): properly determine visibility of display:contents ( #11212 )
2022-01-05 16:54:15 -08:00
Dmitry Gozman
1dbbcd1b37
fix(codegen): polyfill CSS.escape ( #11181 )
...
Some site (for example, fb.com) delete CSS.escape, so we should use the polyfill.
2022-01-04 17:24:53 -08:00
github-actions[bot]
0332b2a7a9
feat(chromium): roll to r954870 ( #11163 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-04 04:54:59 -08:00
Dmitry Gozman
976dedda45
feat(input): restore modified layout shift check ( #11032 )
...
This changes previous layout shift attempt (see #9546 )
to account for more valid usecases:
- On the first event that is intercepted we enforce the hit target. This
is similar to the current mode that checks hit target before the action,
but is better timed.
- On subsequent events we assume that everything is fine. This covers more
scenarios like react rerender, glass pane on mousedown, detach on mouseup.
This check is enabled by default, with `process.env.PLAYWRIGHT_NO_LAYOUT_SHIFT_CHECK`
to opt out.
2022-01-03 17:46:04 -08:00
github-actions[bot]
c0201f26b5
feat(chromium): roll to r954674 ( #11147 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-03 09:48:35 -08:00
github-actions[bot]
d43f78f384
feat(firefox): roll to r1312 ( #11124 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-12-29 17:47:32 -08:00
github-actions[bot]
db47b3e392
feat(chromium): roll to r953978 ( #11097 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-27 10:13:18 -07:00
github-actions[bot]
97a43b4bed
feat(chromium): roll to r952821 ( #11040 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-22 09:14:23 -08:00
github-actions[bot]
16ae0af0fd
feat(chromium): roll to r952597 ( #11010 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-18 10:59:42 -08:00
Yury Semikhatsky
eb9c8a8f06
fix(tracing): check if source exists before adding to zip ( #10986 )
2021-12-17 11:52:28 -08:00
Dmitry Gozman
0d277fa589
fix(selenium): allow setting additional capabilities ( #11000 )
...
Also clarify docs about Selenium v4.
2021-12-17 11:33:24 -08:00
musou1500
7d39d345c2
fix(tracing): trace frame ( #10846 )
2021-12-17 10:43:19 -08:00
Dmitry Gozman
dd57843404
fix(inspector): do not show internal calls ( #10982 )
...
Also mark setDefault{Navigation,}Timeout as always internal.
2021-12-16 17:17:24 -08:00
Yury Semikhatsky
707befd6f7
fix(fetch): basic authentication without realm ( #10979 )
2021-12-16 13:40:52 -08:00
Yury Semikhatsky
921aa02ce4
feat(webkit): roll to r1588 ( #10976 )
2021-12-16 12:43:57 -08:00
Yury Semikhatsky
7c3629b72a
feat: export tagged pdf by default ( #10915 )
2021-12-16 11:46:02 -08:00
github-actions[bot]
b606b5b8a0
feat(firefox): roll to r1311 ( #10963 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-15 21:47:58 -08:00
Yury Semikhatsky
230e0b7049
fix(wheel): throw on wheel access in mobile WebKit ( #10946 )
2021-12-15 11:57:28 -08:00
github-actions[bot]
0b86fbde90
feat(chromium): roll to r950899 ( #10930 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-12-15 11:23:01 -08:00
Pavel Feldman
04e82ce71c
feat(api): make withText an option ( #10922 )
2021-12-14 15:37:31 -08:00
Max Schmitt
67b16497cc
chore: move setting PW User-Agent on connectOverCDP to the server side ( #10899 )
2021-12-13 17:20:04 -08:00
Yury Semikhatsky
a2a8967bed
chore: create trace.zip in driver for local runs ( #10868 )
2021-12-13 14:40:29 -08:00
Dmitry Gozman
9f2a040241
fix(chromium): workaround enable-automation infobar ( #10869 )
2021-12-13 10:35:39 -08:00
musou1500
81ab6b3fde
fix(tracing): overwrite attr value specifies charset other than utf-8 ( #10848 )
2021-12-12 14:54:00 -08:00
Mateusz Burzyński
8b5e146b90
test(mouse): add a test for pointerdown event with custom button ( #10697 )
2021-12-12 10:01:45 -08:00
Yury Semikhatsky
aaa8b07770
chore(tracing): collect source names on server ( #10862 )
2021-12-10 14:07:22 -08:00
Ross Wollman
fde427d890
feat(proxy): unify local network proxy behavior ( #10719 )
...
When configuring a proxy, Chromium requires a magic tokens to get some
local network requests to go through the proxy. This has tripped up a
few users, so we make the behavior default to the expected: proxy
everything including the local requests. This matches the other vendors
as well.
NB: This can be disabled via
`PLAYWRIGHT_DISABLE_FORCED_CHROMIUM_PROXIED_LOOPBACK=1`
Supercedes: #8345
Fixes : #10631
2021-12-10 14:01:56 -08:00
Max Schmitt
0b120c7f03
fix: use HTTP/2.0 instead of h2 as Response.httpVersion ( #10812 )
2021-12-10 11:24:52 -08:00
Dmitry Gozman
a52c6219a7
fix(inspector): do not swallow keyup when not recording ( #10842 )
2021-12-09 17:15:38 -08:00
Dmitry Gozman
1d50db809d
fix(snapshot): render sandboxed iframes and svg iframes ( #10835 )
2021-12-09 17:10:31 -08:00
Dmitry Gozman
4996e184bf
fix(electron): make recordVideo work ( #10810 )
2021-12-08 17:34:50 -08:00
github-actions[bot]
287a2eaee8
feat(webkit): roll to r1586 ( #10775 )
2021-12-08 07:52:25 -08:00
Max Schmitt
5ba7903ba0
devops: migrate from master to main branch ( #10303 )
2021-12-07 22:58:33 -08:00
Pavel Feldman
c9220801e7
feat(cli): add locator methods to the cli api ( #10746 )
2021-12-07 12:32:11 -08:00
Andrey Lushnikov
a89fe3ec5c
fix: support shadow DOM with Vue and React selectors ( #10742 )
...
There were two issues:
- we did not find VDom roots inside shadow DOM
- we incorrectly relied on DOM's `contain` method to determine if
VDom's rendered node belongs to requested scope.
Fixes #10123
2021-12-07 11:23:37 -08:00
Dmitry Gozman
ec74fa6a76
feat(fill): support color and range input types ( #10736 )
2021-12-06 15:43:10 -08:00
Pavel Feldman
7765131a14
feat(acceptDownload): revert acceptDownload ( #10709 )
2021-12-06 09:25:24 -08:00
github-actions[bot]
3a1201eb61
feat(chromium): roll to r947661 ( #10712 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-04 08:00:55 -08:00
Yury Semikhatsky
b7ba039436
fix: make APIRequest tracing work on node 16 ( #10705 )
2021-12-03 15:46:57 -08:00
Pavel Feldman
aef0444ff5
fix(focus): make sure strictness is respected ( #10685 )
2021-12-03 10:22:50 -08:00
Pavel Feldman
f583f1604c
feat(locator.withText): allow narrowing locators to those with text ( #10688 )
2021-12-03 09:27:06 -08:00
Yury Semikhatsky
8afd0b7d6a
feat(tracing): trace context APIRequest calls ( #10684 )
2021-12-02 15:53:47 -08:00
Pavel Feldman
5bde171657
fix(chromium): disable AutoExpandDetailsElement as it breaks the web ( #10679 )
2021-12-02 13:04:15 -08:00
Pavel Feldman
31e0a63fcd
feat(toBeChecked): allow passing checked: false ( #10665 )
2021-12-02 10:31:26 -08:00
Pavel Feldman
2ac9c08d0c
feat(inputValue): allow on labels, retarget ( #10666 )
2021-12-02 10:31:06 -08:00
Pavel Feldman
b9731a904e
chore: add validations into check_deps ( #10661 )
2021-12-01 18:14:13 -08:00
Dmitry Gozman
6e00af3b2e
fix(click): revert layout shift logic ( #10653 )
2021-12-01 12:54:20 -08:00
Pavel Feldman
127dacf5d4
fix(toHaveText): normalize zero width white space ( #10623 )
2021-12-01 09:21:21 -08:00
Yury Semikhatsky
d66b7aab3b
feat(expext): toBeOK for APIResponse ( #10596 )
2021-11-30 18:12:19 -08:00
Pavel Feldman
11cbdcf58a
fix(tracing): fix tracing + debugger test ( #10619 )
2021-11-30 17:32:29 -08:00
Henric Trotzig
1bfc473bc8
chore(chromium): Capture off-screen content without resizing viewport ( #10606 )
2021-11-30 14:11:15 -08:00
github-actions[bot]
bdfe92f8a7
feat(chromium): roll to r945826 ( #10597 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-30 21:58:28 +01:00