Dmitry Gozman
f46883e58e
feat(expect): add GenericAssertions documentation ( #20564 )
...
References #20432 .
2023-02-01 16:55:52 -08:00
Pavel Feldman
421dd884a7
chore: implement --no-deps ( #20569 )
2023-02-01 16:32:13 -08:00
Dmitry Gozman
6ad4687f4d
feat(route): add maxRedirects option to Route.fetch ( #20567 )
...
References #20501 .
2023-02-01 14:43:21 -08:00
Pavel Feldman
635b47025e
chore: expose project dependencies api ( #20546 )
2023-02-01 08:39:07 -08:00
Max Schmitt
59d1147247
test: unskip 'should be able to download a inline PDF file via navigation' for WebKit ( #20551 )
...
Fixes https://github.com/microsoft/playwright/issues/20044
2023-02-01 13:56:38 +01:00
Pavel Feldman
08e4b50ff6
chore: project deps ( #20514 )
2023-01-31 15:59:13 -08:00
Dmitry Gozman
9c6c31a442
fix(types): update PlaywrightTestConfig types ( #20540 )
...
This makes errors more focused on the custom properties.
References #20416 .
2023-01-31 15:02:01 -08:00
Dmitry Gozman
b39079b51e
feat(trace viewer): popout snapshot in a new tab ( #20475 )
2023-01-30 19:07:52 -08:00
Yury Semikhatsky
a03f3223c4
fix: trim long expect messages ( #20517 )
...
Fixes #20324
2023-01-30 17:24:12 -08:00
Dmitry Gozman
c27ad35299
fix(locators): properly escape slash inside attributes ( #20510 )
...
Fixes #20471 .
2023-01-30 13:27:41 -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
Yury Semikhatsky
03b15f6550
test: submit form with target=_blank ( #20462 )
...
#18392
2023-01-30 08:37:05 -08:00
chimurai
f72d400952
chore: fix typos ( #20473 )
2023-01-30 09:53:28 +01:00
Dmitry Gozman
821949d580
test: update stale test expectations ( #20423 )
2023-01-27 21:52:34 -08:00
Yury Semikhatsky
532ca3f7b3
fix: throw on tap when hasTouch=false ( #20457 )
...
Fixes #20430
2023-01-27 15:51:57 -08:00
Pavel Feldman
2c27bd3b07
chore: remove plugin registration sink ( #20460 )
2023-01-27 14:36:41 -08:00
Etienne
252b489a7f
feat(trace-viewer): allow host and port to be specified ( #20258 )
2023-01-27 14:20:25 -08:00
Yury Semikhatsky
bb01d99458
test: enable "intercept css variable with url" ( #20455 )
...
Fixes #19158
2023-01-27 11:09:40 -08:00
Dmitry Gozman
ead4989947
fix(api): Response.finished() throws when target closes ( #20453 )
2023-01-27 10:42:43 -08:00
Yury Semikhatsky
faadbba63c
test: webm video player ( #20421 )
...
Fixes #18423
2023-01-27 09:48:47 -08:00
Max Schmitt
eb87c9276e
test: do not create ipv6 server inside Docker ( #20440 )
2023-01-27 18:38:27 +01: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
Dmitry Gozman
ad6d24bf94
test: update headful.spec to use modern fixtures ( #20428 )
2023-01-26 19:01:54 -08:00
Yury Semikhatsky
99f0560122
test: enable video test on macos monterey+ ( #20420 )
2023-01-26 17:09:22 -08:00
Yury Semikhatsky
0a9cf85653
test: intercept request from css variable ( #20422 )
...
#19158
2023-01-26 14:20:24 -08:00
Yury Semikhatsky
249d969d4b
test: navigator.clipboard is present ( #20402 )
...
Fixes #18901
2023-01-26 10:15:19 -08:00
Yury Semikhatsky
840052a309
test: enable download not attachment on webkit ( #20403 )
...
Fixes #19939
2023-01-26 10:13:44 -08:00
Yury Semikhatsky
e8a1c91c52
test: enable test on webkit ( #20404 )
...
The fix is included into the recent webkit roll.
Fixes #20079
2023-01-26 10:13:21 -08:00
Pavel Feldman
f7ff252455
chore: remove addFatalError ( #20383 )
2023-01-25 17:26:30 -08:00
Pavel Feldman
fe1dd7818d
chore: extract task runner for global setup ( #20345 )
2023-01-25 15:38:23 -08:00
Dmitry Gozman
d1fb3a2384
fix(test runner): do not send entirely skipped test groups to a worker ( #20346 )
...
Move TestCase properties calculation from WorkerMain to suite building
phase.
Fixes #20156 .
2023-01-25 12:54:50 -08:00
Max Schmitt
c1487f886b
test: skip 'should be able to visit ipv6' if docker ( #20362 )
2023-01-25 17:49:49 +01:00
Playwright Service
d7366cfc7c
feat(chromium-tip-of-tree): roll to r1080 ( #20323 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-01-25 10:23:12 +01:00
Playwright Service
00edf587d5
feat(webkit): roll to r1773 ( #20342 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2023-01-25 10:03:50 +01: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
b971dd3417
fix(test runner): show deep strack traces during imports ( #20305 )
...
Fixes #20239 .
2023-01-24 08:49:06 -08:00
Yury Semikhatsky
2c52d5be59
test: navigation to resource with unknown mime type ( #20313 )
...
https://github.com/microsoft/playwright/issues/20089
2023-01-24 07:29:46 -08:00
Yury Semikhatsky
7fcec1a06b
test: file input triggers input event only once ( #20306 )
...
#20079
2023-01-23 17:56:02 -08:00
Pavel Feldman
147bb6b292
chore: run global setup before onBegin ( #20285 )
2023-01-23 17:44:23 -08:00
Dmitry Gozman
0ec1d5d452
test: disable "should work with video+trace" on headed ( #20299 )
2023-01-23 15:26:05 -08:00
Pavel Feldman
9f31bcfbab
chore: refactor graceful close, rename to host/main ( #20283 )
2023-01-22 15:04:29 -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
Pavel Feldman
7ff27600b4
chore: experimental oop loader ( #20269 )
2023-01-20 18:24:15 -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
Pavel Feldman
3066ffd577
chore: use fake pool on the runner side ( #20241 )
2023-01-20 08:36:31 -08:00
Dmitry Gozman
d950f5b6ee
chore: remove toIntersectViewport for the next release ( #20232 )
...
Mostly reverts #19901 .
2023-01-19 15:04:09 -08:00
Dmitry Gozman
3f79786cf8
test: fix socks proxy test for wk mac ( #20227 )
...
Drive-by: unskip firefox test.
2023-01-19 09:10:42 -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
Pavel Feldman
e08168e16e
chore: temporarily remove project and global setup, store ( #20181 )
2023-01-18 12:56:03 -08:00
Andrey Lushnikov
b7e30a8bf6
test: failing test for WebKit ( #20088 )
...
The test fails if the `content-disposition` header does not have
an "attachment" value.
#20089
2023-01-17 20:15:35 -08:00
Max Schmitt
0656ab4811
chore: roll stable test-runner to 1.30.0-alpha-jan-16-2023 ( #20139 )
2023-01-17 19:23:24 +01:00
Max Schmitt
2cfb007382
test: fix stress test bots ( #20138 )
...
This started failing in
https://github.com/microsoft/playwright/pull/20061 .
Error:
https://github.com/microsoft/playwright/actions/runs/3906084857/jobs/6673856806#step:8:15
2023-01-17 19:23:13 +01:00
Andrey Lushnikov
92375f6333
fix: support import assertions ( #20009 )
...
Fixes #19928
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-01-16 08:26:14 -08:00
Andrey Lushnikov
780e64f2c6
test: fix toIntersectViewport test on WebKit @ Ubuntu 22.04 ( #20132 )
...
For some reason scrolling inline element into view doesn't
always work.
2023-01-16 00:11:33 -08:00
Sander
5b3a306284
test(ct): react vite slice by feature ( #20098 )
2023-01-13 18:15:43 -08:00
Sander
10404706e9
test(ct): react slice by feature ( #20099 )
2023-01-13 18:15:33 -08:00
Pavel Feldman
d1c161ce99
chore: merge the util exports ( #20110 )
2023-01-13 13:50:38 -08:00
Pavel Feldman
736cf5c585
fix(tsx): resolve .js imports to .tsx as well ( #20092 )
...
Fixes: https://github.com/microsoft/playwright/issues/20039
2023-01-13 10:49:10 -08:00
Pavel Feldman
e065d608b6
chore: introduce defineConfig for easier JS typing ( #20061 )
...
Fixes https://github.com/microsoft/playwright/issues/19694
2023-01-12 13:12:02 -08:00
Yury Semikhatsky
730a197c80
feat: config.globalScripts ( #20062 )
...
Introduce config.globalScripts. Tests from the matching files will run
before all projects. We'll only allow beforeAll/afterAll instead of
tests in such files (next PR).
Global scripts are executed as part of 'Global Scripts' project which is
not present in FullConfig.projects but may be referenced by
corresponding global setup Suites.
Signed-off-by: Yury Semikhatsky <yurys@chromium.org>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-01-12 13:02:54 -08:00
Sander
4a038b726d
test(ct): vue2 slice by feature ( #20080 )
2023-01-12 10:46:15 -08:00
Dmitry Gozman
862125e122
test: record trace+video at the same time ( #20082 )
...
Fixes #12266 .
2023-01-12 10:44:20 -08:00
Sander
5d86d6f662
test(ct): vue cli slice by feature ( #20083 )
2023-01-12 10:43:47 -08:00
Sander
c4b9654fa7
test(ct): svelte slice by feature ( #20045 )
...
follow up for: https://github.com/microsoft/playwright/pull/19657 .
2023-01-11 14:07:02 -08:00
Sander
ff23b49457
test(ct): solid slice by feature ( #20048 )
2023-01-11 14:06:43 -08: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
bd4efa9dc1
test: update tests for waituntil:commit ( #20042 )
...
Instead of never finishing the response which works differently across
browsers, stall the required script.
This makes "DOMContentLoaded" to never fire and properly tests the
"commit" signal.
2023-01-11 10:16:51 -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
e2a2196e6a
chore(html-reporter): show project name always for the test file ( #19905 )
...
Fixes https://github.com/microsoft/playwright/issues/19874
2023-01-10 17:11:38 +01:00
Dmitry Gozman
28577afde4
feat(soft expect): mark steps with failed soft expects as failed ( #19973 )
...
Fixes #19673 .
2023-01-09 16:17:06 -08:00
Sander
a5f4717192
test(ct): vue vite slice by feature ( #19657 )
2023-01-09 12:36:33 -08:00
Yury Semikhatsky
a39a97f0ee
chore: setup -> test.projectSetup ( #19932 )
...
* Changed `setup` to `test.projectSetup`
* Only `test.projectSetup.only` is supported on the new method
* test.* methods except for before/after/Each/All hooks can be called
inside the project setup files
2023-01-09 11:21:48 -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
Andrey Lushnikov
1385007185
test: fix locator.viewportRatio() tests ( #19931 )
...
Drive-by: make sure `locator.viewportRatio()` returns `0`
for non-existing element.
2023-01-06 16:55:38 -08: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 (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
cd698a2258
feat(trace viewer): render selectors as locators ( #19907 )
...
Drive-by: fix more places with SerializedValue rendering.
Fixes #19085 .
2023-01-05 16:59:50 -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
Max Schmitt
4359111289
test: unskip wk test ( #19903 )
2023-01-05 22:51:08 +01:00
Dmitry Gozman
e07d1722ec
test: rebase permission test for Chromium >= 110 ( #19899 )
...
Fixes #19180 .
2023-01-05 13:01:37 -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
Playwright Service
abe901d598
feat(chromium-tip-of-tree): roll to r1074 ( #19853 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-01-05 19:04:20 +01:00
Dmitry Gozman
388a3e1f37
fix(test runner): make sure to run afterAll after skipped tests ( #19878 )
...
Fixes #19745 .
2023-01-04 14:13:49 -08:00
Dmitry Gozman
6193e6d8ea
fix(reuse): reset tracing ( #19876 )
...
References #19059 .
2023-01-04 13:19:05 -08:00
Dmitry Gozman
711a1aadbf
chore: update tracing tests helper ( #19848 )
...
To be reused in future tests.
Signed-off-by: Dmitry Gozman <dgozman@gmail.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2023-01-03 17:30:36 -08:00
Dmitry Gozman
f58015281a
test: attempt to unflake inspector tests ( #19845 )
...
On headed bots, we might get `locator('body')` from initial mouse
position.
2023-01-03 16:26:21 -08:00
Grant Colestock
a30aac5668
fix: make sure jsx fragments are transformed ( #19755 )
...
Fixes : #19142
2022-12-31 11:08:36 -08:00
Andrey Lushnikov
caec93ef42
test: enable ssim-cie94 image comparison algorithm for our tests ( #19313 )
2022-12-29 23:48:28 -08:00
Sander
b363902e1b
feat(ct): https ( #19697 )
2022-12-28 17:04:23 -08:00
Dmitry Gozman
5cdf118a42
fix(reuse): disable trace/video when reusing the context ( #19764 )
...
Previously, we disabled reuse when trace/video was on. Component testing
keeps this behavior.
References #19059 .
2022-12-28 16:58:34 -08:00
Yury Semikhatsky
137070d889
Revert "chore: hide setup, store, TestProject.setupMatch, storageStat… ( #19756 )
...
…eName (#19442 )"
This reverts commit 92dd734e04
.
2022-12-28 15:39:31 -08:00
Yury Semikhatsky
b8f96a9411
fix(generator): FilterOptions in java ( #19741 )
...
Fixes #19448
2022-12-28 09:13:06 -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