Dmitry Gozman
2d3e4027e7
fix(chromium): do not pre-populate non-preflight OPTIONS requests ( #20684 )
...
Fixes #20469 .
2023-02-07 15:10:44 -08:00
Dmitry Gozman
fbccc8ef64
fix(role): closed <details> are considered hidden ( #20726 )
...
Fixes #20610 .
2023-02-07 15:10:18 -08:00
Dmitry Gozman
bc74383480
test: remove service2 mode and experimental-grid ( #20730 )
2023-02-07 14:19:37 -08:00
Andrey Lushnikov
b67cef2c4d
feat: introduce Dockerfile.remote image ( #20691 )
...
When this image is launched, it exposes a single endpoint
that can be used to connect to and to launch browsers.
2023-02-07 10:50:44 -08:00
Andrey Lushnikov
303c5998f8
feat: release "comparator" option from experiment ( #20720 )
...
The option defines a comparator to be used to compare images.
Possible values are `"pixelmatch"` and `"ssim-cie94"`.
Note: This reverts commit 8167f8bf54 .
2023-02-07 08:51:48 -08:00
Andrey Lushnikov
d3c5430080
fix: reset SNAP* env variables when launching Firefox ( #20692 )
...
Our builds never come from Snap, so Playwright's Firefox should
never consider that it's been installed via SNAP.
Fixes #20555
---------
Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-02-07 01:41:12 -08:00
Andrey Lushnikov
1120b82ba2
feat(firefox): roll Firefox & Firefox Beta ( #20670 )
...
Fixes #19685
Fixes #20093
2023-02-06 14:08:32 -08:00
Andrey Lushnikov
0a752f3fd6
chore(docker): remove experimental docker integration ( #20676 )
...
This removes everything related to docker integration experiments that
we conducted over the last 6 months.
I'll send a follow-up with an alternative suggestion that was demo'ed on
a team meeting in the end of December.
2023-02-06 10:50:45 -08:00
Andrey Lushnikov
9c6a1a6ff0
fix: make sure screenshots work when main page context is tampered ( #20615 )
...
This patch has 2 fixes:
- screenshot code was accidentally using main page context to fetch
page layout metrics instead of a utility context
- Avoid usage of `self.eval` inside utility context since it escapes
Firefox sandbox. This turns out to be an upstream bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1814898
Fixes #20434
2023-02-03 10:01:23 -08:00
Dmitry Gozman
3180bc9804
fix(types): make most fixtures non-undefined ( #20573 )
...
Fixes #20416 .
2023-02-02 13:11:50 -08:00
Dmitry Gozman
6ad4687f4d
feat(route): add maxRedirects option to Route.fetch ( #20567 )
...
References #20501 .
2023-02-01 14:43:21 -08:00
Dmitry Gozman
b39079b51e
feat(trace viewer): popout snapshot in a new tab ( #20475 )
2023-01-30 19:07:52 -08:00
Dmitry Gozman
c27ad35299
fix(locators): properly escape slash inside attributes ( #20510 )
...
Fixes #20471 .
2023-01-30 13:27:41 -08:00
Playwright Service
a1c264c476
feat(firefox): roll to r1375 ( #20507 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-30 12:21:35 -08:00
Yury Semikhatsky
cffe7b65e3
fix: do not hang on submitting target=_blank form ( #20458 )
...
Fixes #18392
2023-01-30 11:13:56 -08:00
Max Schmitt
92eb8e5090
chore: make connectOverCDP work with localhost ( #20396 )
...
This wraps happy eyeballs in two places, the place where we make the
JSON request to Chromium and the actual CDP WebSocket request.
It required changes inside our happy eyeballs implementation since the
[websocket library does not
set](https://github.com/websockets/ws/blob/master/lib/websocket.js#L714 )
the `clientRequestOptions.hostname` field, it just sets the `host` field
where we then fall back to when its not set.
This test would pass before Node.js 18 and fail after Node.js 18 without
my changes.
Fixes https://github.com/microsoft/playwright/issues/20364
2023-01-30 17:44:26 +01:00
Playwright Service
5ad635522c
feat(webkit): roll to r1784 ( #20466 )
2023-01-30 08:36:02 -08:00
Yury Semikhatsky
532ca3f7b3
fix: throw on tap when hasTouch=false ( #20457 )
...
Fixes #20430
2023-01-27 15:51:57 -08:00
Max Schmitt
71752b4b2a
fix(windows): enable socks5 hostname resolution on WebKit ( #20435 )
...
Fixes https://github.com/microsoft/playwright/issues/20451
2023-01-27 23:33:06 +01:00
Etienne
252b489a7f
feat(trace-viewer): allow host and port to be specified ( #20258 )
2023-01-27 14:20:25 -08:00
Dmitry Gozman
d458e84f5b
feat(route): match pattern on the server side ( #20410 )
...
This avoids client-side roundtrip for requests that are not handled by
any route.
Fixes #19607 .
2023-01-27 10:43:19 -08:00
Dmitry Gozman
ead4989947
fix(api): Response.finished() throws when target closes ( #20453 )
2023-01-27 10:42:43 -08:00
Andrey Lushnikov
2af31edadd
feat: roll Firefox and Firefox-Beta to latest builds ( #20449 )
...
These builds initiate browser-side navigation for `page.goto` command.
Drive-by: add a minimal file URL test.
2023-01-27 09:31:45 -08:00
Andrey Lushnikov
9ca9b08d90
fix: better formatting for sparse arrays ( #20379 )
...
Right now arrays preview yields all array elements. In case
of a sparse array with a single element on index 10000000,
this results in a large string that OOM Node.js.
This patch changes pretty-printing. For example:
```ts
// Given this array
const a = [];
a[10] = 1;
// Before this patch, pretty printing will yield:
"[,,,,,,,,1]"
// With this patch, pretty printing yields:
"[empty x 9, 1]"
```
The new array pretty-printing is equal to what Chrome DevTools
do to render sparse arrays.
Fixes #20347
2023-01-27 05:07:55 -08:00
Andrey Lushnikov
5b93c1d2f9
chore: truncate long protocol logs ( #20412 )
...
This affects the logs in the `DEBUG=pw:protocol` mode so that they
never span more then 10 lines of 80-character-width terminal.
2023-01-27 04:58:13 -08:00
Dmitry Gozman
332dbc5bf6
fix(chromium): enable gpu support in mac headless ( #20418 )
2023-01-26 13:21:25 -08:00
Playwright Service
ff302585d9
feat(chromium): roll to r1046 ( #20397 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-26 16:55:45 +01:00
Dmitry Gozman
cab52cded9
chore: consolidate route handling logic in NetworkRouter ( #20353 )
...
References #19607 .
2023-01-25 14:11:53 -08:00
Dmitry Gozman
a9422beecb
Revert "chore: respect headless option when reusing browser ( #19980 )" ( #20336 )
...
This reverts commit e674ea217f .
2023-01-24 11:07:53 -08:00
Dmitry Gozman
38f260cc51
test: unflake "should respect interval" ( #20298 )
2023-01-23 17:57:37 -08:00
Max Schmitt
05843bdfd9
chore: support Debian 11 arm64 ( #19676 )
...
https://github.com/microsoft/playwright/issues/18319
2023-01-23 15:54:25 +01:00
Dmitry Gozman
71798d658f
chore: remove separate network tethering client connection ( #20267 )
2023-01-21 18:18:22 -08:00
Dmitry Gozman
b700c08dc5
feat(screenshots): when actual and expected have different sizes, pad and produce the diff image ( #20208 )
...
Also show sizes in the html report to easier spot the size mismatch
issue.
<img width="1030" alt="diff"
src="https://user-images.githubusercontent.com/9881434/213327632-b8fcd69c-8d08-460c-9de1-b5f4f8c56359.png ">
Fixes #15802 .
2023-01-20 19:41:43 -08:00
Dmitry Gozman
eafa6fda13
fix(expect): poll/toPass should not wait over specified timeout ( #20266 )
...
Drive-by: unflake some timeout-dependent tests.
2023-01-20 15:47:24 -08:00
Dmitry Gozman
d950f5b6ee
chore: remove toIntersectViewport for the next release ( #20232 )
...
Mostly reverts #19901 .
2023-01-19 15:04:09 -08:00
Andrey Lushnikov
1b8b20dc25
chore: drop locator.viewportRatio() method ( #20131 )
...
As per API review discussion, we'd like to refrain from
exposing this method.
2023-01-19 08:46:45 -08:00
Playwright Service
4b53b1842f
feat(chromium): roll to r1045 ( #20219 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-19 14:40:26 +01:00
Playwright Service
e740522069
feat(webkit): roll to r1761 ( #20207 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-19 11:22:00 +01:00
Playwright Service
6d63773965
feat(webkit): roll to r1760 ( #20197 )
2023-01-18 12:24:12 -08:00
Max Schmitt
df05c00da3
fix: filter out pwt stacks correctly ( #20158 )
...
Fixes https://github.com/microsoft/playwright/issues/20155
2023-01-17 22:38:30 +01:00
Playwright Service
b740aa04e7
feat(chromium): roll to r1044 ( #20137 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-16 13:44:28 +01:00
Playwright Service
8671bfc53f
feat(firefox): roll to r1371 ( #20115 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-13 22:37:26 -08:00
Pavel Feldman
d1c161ce99
chore: merge the util exports ( #20110 )
2023-01-13 13:50:38 -08:00
Alex
b984bb9ad6
fix: serviceWorker.register function ( #20072 )
2023-01-12 10:47:45 -08:00
Max Schmitt
1c1955a6e7
fix: do not write to stdout on cssTokenizer parse error ( #20012 )
...
Fixes https://github.com/microsoft/playwright/issues/20074
2023-01-12 19:10:01 +01:00
Max Schmitt
a7495c3326
fix: use no internal selectors for frame locators ( #19964 )
...
Fixes https://github.com/microsoft/playwright/issues/19406
2023-01-11 21:53:19 +01:00
Dmitry Gozman
4f837690e2
fix(connect): do not log ws query params ( #20047 )
2023-01-11 12:27:27 -08:00
Dmitry Gozman
e674ea217f
chore: respect headless option when reusing browser ( #19980 )
...
References #19746 .
2023-01-10 10:49:53 -08:00
Max Schmitt
0fe327c21b
chore: return Promise<any> in {page,context}.route ( #20005 )
...
Fixes https://github.com/microsoft/playwright/issues/19855
Closes https://github.com/microsoft/playwright/pull/19856
2023-01-10 18:07:17 +01:00
Playwright Service
db5087e951
feat(chromium): roll to r1043 ( #19991 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-10 14:55:27 +01:00
Pavel Feldman
3f0adf5dd0
chore: release from pause when the page closes ( #19975 )
...
Fixes: https://github.com/microsoft/playwright/issues/19168
2023-01-09 18:49:18 -08:00
Dmitry Gozman
830c3c9f0f
fix(reuse): workaround long sw unregister ( #19930 )
...
Bogus `importScripts()` sometimes makes `unregister()` hang for long
time. We detect this case and not await it.
Fixes #19789 .
2023-01-06 17:02:40 -08:00
Andrey Lushnikov
2a49c5e498
feat(expect): introduce expect(locator).toIntersectViewport() ( #19901 )
...
This is a new web-first assertion that should be used like this:
```ts
test('should work', async ({ page }) => {
const locator = page.locator('body');
// New web-first assertion.
await expect(locator).toIntersectViewport();
// The same functionality.
await expect.poll(() => locator.viewportRatio()).toBeGreaterThan(0);
});
```
Fixes #8740
2023-01-06 16:56:24 -08:00
Max Schmitt
7bbaf2af21
fix(docker): take language binding version in consideration ( #19924 )
2023-01-06 19:47:37 +01:00
Max Schmitt
c339e1615b
fix(fetch): handle invalid redirect URL ( #19890 )
...
Fixes https://github.com/microsoft/playwright/issues/19879 .
This part is then similar to how node-fetch is doing it:
55a4870ae5/src/index.js ?q=location#L152-L159
node-fetch also throws as of today with this URL. Before in Python it
was stalling, because the error was written to stdout and on Windows the
stdout wasn't working. On Node.js it ended up in an unhandled exception.
2023-01-06 10:22:17 -08:00
Dmitry Gozman
31a63b5c2a
fix(reuse): make reuse work with tracing ( #19733 )
...
Fixes #19059 .
2023-01-05 14:50:47 -08:00
Yury Semikhatsky
10ccfa9517
feat(fetch): happy eyeballs ( #19902 )
...
Fixes #18790
2023-01-05 14:39:49 -08:00
Andrey Lushnikov
1afa38d5a7
chore(expect): extract polling from expect.poll and expect().toPass ( #19882 )
...
This extracts & unifies polling machinery from `expect.poll` and
`expect.toPass` methods.
2023-01-05 11:14:37 -08:00
Max Schmitt
ddccb59093
chore: fix Java CLI invocation on Windows ( #19895 )
...
For reference: https://stackoverflow.com/a/64300409
2023-01-05 10:55:07 -08:00
Andrey Lushnikov
3883799d68
feat: introduce locator.viewportRatio ( #19761 )
...
References #8740
2023-01-05 10:49:32 -08:00
Oren
59e1437d7f
fix(serviceworker): network inspection works without options.serviceWorkers set ( #19870 )
2023-01-04 13:20:47 -08:00
Dmitry Gozman
6193e6d8ea
fix(reuse): reset tracing ( #19876 )
...
References #19059 .
2023-01-04 13:19:05 -08:00
Playwright Service
2714e728d0
feat(chromium): roll to r1042 ( #19799 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-02 14:11:44 +01:00
Andrey Lushnikov
caec93ef42
test: enable ssim-cie94 image comparison algorithm for our tests ( #19313 )
2022-12-29 23:48:28 -08:00
Ross Wollman
359d176ff6
fix(driver): avoid polluting stdout ( #19759 )
...
Relates microsoft/playwright-python#1699 .
2022-12-28 17:09:11 -08:00
Yury Semikhatsky
b8f96a9411
fix(generator): FilterOptions in java ( #19741 )
...
Fixes #19448
2022-12-28 09:13:06 -08:00
Dmitry Gozman
0fba4d5611
chore: migrate waitForFunction to not use rerunnable task ( #19730 )
2022-12-27 17:22:44 -08:00
Dmitry Gozman
0b223b9036
fix(hit target): account for iframes with padding ( #19732 )
...
Padding on iframes moves the `documentElement` inside the iframe, so we
should account for it when converting coordinates between frames.
Fixes #19613 .
2022-12-27 16:59:34 -08:00
Dmitry Gozman
3334d89ad7
fix(socks): support ipv6 ( #19727 )
...
Signed-off-by: Dmitry Gozman <dgozman@gmail.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2022-12-27 14:45:35 -08:00
Dmitry Gozman
c1b9a56079
chore: migrate waitForSelector to not use rerunnable task ( #19715 )
2022-12-27 13:39:35 -08:00
Dmitry Gozman
24f2ccb4ca
feat(getByLabel): support aria-label ( #19726 )
...
References #19284 .
2022-12-27 12:43:55 -08:00
Dmitry Gozman
3ad65e7ce8
fix(launchServer): disable socks by default ( #19723 )
...
Socks does not support ipV6 yet.
References #19661 .
2022-12-27 10:43:36 -08:00
Dmitry Gozman
1bb019ac81
chore: migrate most of rerunnable tasks to element callback ( #19713 )
2022-12-27 09:22:22 -08:00
Dmitry Gozman
0087bfac23
fix(role): update allowsNameFromContent to closer align with blink/gecko ( #19692 )
2022-12-27 09:06:46 -08:00
Dmitry Gozman
cce29215f9
chore: make input actions not use rerunnable task ( #19638 )
2022-12-24 10:40:36 -08:00
Pavel Feldman
e61a8c6592
fix(generator): penalize for the selector length ( #19672 )
2022-12-22 20:54:04 -08:00
Pavel Feldman
8b80e22a03
fix(har): recalculate receive time after response ended ( #19646 )
...
Fixes https://github.com/microsoft/playwright/issues/19327
2022-12-22 17:30:32 -08:00
Pavel Feldman
fe989d95eb
chore(electron): move loader to be preload ( #19650 )
...
Fixes https://github.com/microsoft/playwright/issues/19648
2022-12-22 17:28:08 -08:00
Dmitry Gozman
83418aa8ab
fix(socks): cleanup event listeners upon disconnect ( #19671 )
...
References #19661 .
2022-12-22 17:15:51 -08:00
Ross Wollman
06c7f1fb6c
fix(html): test and fix reporter timing display ( #19670 )
...
#19576 introduced a regression where the CLI reporters displayed some
times with way too many decimals. e.g. 7.123456789ms.
Prior to #19576 , there were two monotonicTime implementations; that PR
updated the reporters to use the common definition that had existed in
utils.ts. However, that introduced a regression in the base.ts reporters
which used the ms duration humanizing package which did not account for
the more precise decimals used by the shared monotonicTime function.
This fix removes the dependency on the third-party ms package and now
consistently uses Pavel's humanize function which the HTML reporter had
been using and proved to have better defaults for decimals.
Additionally, we add more test coverage to limit future regressions
since this was caught in passing.
Closes #19556 .
Relates #19576 .
2022-12-22 15:57:55 -08:00
Dmitry Gozman
e12cf19012
chore: refactor frame.expect to not use rerunnable task ( #19626 )
2022-12-21 15:31:08 -08:00
Dmitry Gozman
eaae8ebbf3
chore: throw InvalidSelectorError from selector parser, add some tests ( #19636 )
2022-12-21 14:27:35 -08:00
Max Schmitt
7508c574e1
chore: bring ubuntu bionic back ( #19625 )
2022-12-21 18:37:42 +01:00
Dmitry Gozman
ae2b1ac5e8
chore: move some injected code to InjectedScript ( #19609 )
2022-12-20 17:26:54 -08:00
Pavel Feldman
95cc5c2a2e
fix(electron): fix the directory app path ( #19601 )
2022-12-20 12:50:53 -08:00
Pavel Feldman
971e30482a
fix(electron): allow using pre-ready apis ( #19599 )
2022-12-20 10:40:48 -08:00
Dmitry Gozman
412c11db20
fix(reuse): make sure all dispose and close sequences are executed ( #19572 )
...
- When disposing recursively, only the root dispatcher received
`_dispose()` call, while some dispatchers need `_onDispose()` to clean
things up.
- When reusing the context, pages should be notified with `_onClose()`
so that all client-side waiting promises could reject.
Fixes #19216 .
2022-12-19 15:54:53 -08:00
Pavel Feldman
3f333a8ef7
chore: simplify post_data processing ( #19490 )
2022-12-15 11:57:51 -08:00
Dmitry Gozman
1263bc3edd
feat(console api): first/last/nth ( #19485 )
2022-12-15 11:17:59 -08:00
Pavel Feldman
3afd83c8cc
chore: withdraw locator.enumerate ( #19484 )
2022-12-15 10:13:56 -08:00
Playwright Service
ed196ae9a2
feat(chromium): roll to r1040 ( #19477 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-15 15:53:47 +01:00
Max Schmitt
1dcb8f643d
chore: fix Android tests ( #19426 )
2022-12-15 07:56:57 +01:00
Pavel Feldman
17a0074459
feat(api): introduce Locator.all, enumerate ( #19461 )
2022-12-14 16:42:50 -08:00
Dmitry Gozman
a27f1f744f
feat(getByLabel): support aria-labelledby ( #19456 )
...
Testing library also treats them equally.
Fixes #19284 .
2022-12-14 13:51:05 -08:00
Andrey Lushnikov
8167f8bf54
chore: hide "comparator" option from documentation and types ( #19441 )
2022-12-14 09:58:19 -08:00
Pavel Feldman
d1559a0fcc
chore: route.fetch(postData) ( #19436 )
2022-12-13 14:01:39 -08:00
Pavel Feldman
6cadc56ea3
feat(api): allow getByTestId(regex) ( #19419 )
2022-12-13 08:43:13 -08:00
Dmitry Gozman
539893402e
feat(socks): support pattern similar to proxy bypass rules ( #19387 )
...
- `<loopback>` for local interfaces;
- `123.123.123.123` for IPv4;
- `[1:2:3:4:5:6:7:8]` for IPv6;
- `*.example.com` and `.example.com` for subdomains;
- `example.com` for domains;
- `anything:3000` for port matching.
2022-12-12 12:27:34 -08:00
Pranav Jain
59118b83f9
feat(android): add support for passing CR args & proxy when launching browser ( #19212 )
...
Fixes https://github.com/microsoft/playwright/issues/19211
2022-12-12 16:15:19 +01:00
Dmitry Gozman
3c17a2603a
feat(console api): support locator.filter ( #19389 )
2022-12-09 15:25:12 -08:00