Pavel Feldman
e64b09cc28
Revert "feat(ct): react rerender ( #16549 )"
...
This reverts commit a62accf8ae .
I'll reapply them in order.
2022-08-15 13:17:15 -07:00
sand4rt
a62accf8ae
feat(ct): react rerender ( #16549 )
2022-08-15 13:10:38 -07:00
Max Schmitt
13596b7be3
chore: language specific dropdowns in codegen ( #16452 )
2022-08-15 19:44:46 +02:00
Pavel Feldman
bd06d1604f
chore: render original exception location in error frame ( #16515 )
2022-08-15 09:28:55 -07:00
Elizaveta Bezyaikna
9f22ae9aa9
chore: add id for each test to JSONReporter ( #16494 )
2022-08-15 09:28:21 -07: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
Pavel Feldman
e1d3246d1c
fix(ct): pass local config to preview ( #16481 )
2022-08-12 10:37:35 -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
Johannes Loher
3e67a7c836
feat(plugins): send accept header in webServer url checking ( #16251 )
2022-08-10 12:48:37 -07:00
Yury Semikhatsky
d0030a7434
docs: test.step return value ( #16421 )
2022-08-10 11:21:13 -07:00
Pavel Feldman
c84fbc2e4e
feat(driver): add reuse and navigate commands ( #16420 )
2022-08-10 10:57:28 -07:00
jfgreffier
fb91f829d7
chore: listen on localhost for html report ( #16205 )
2022-08-10 11:05:31 +02: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
Playwright Service
1059fe5c62
feat(chromium-tip-of-tree): roll to r1032 ( #16391 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-10 09:26:49 +02:00
Dmitry Gozman
baa2ef2700
fix(test runner): show interrupted as yellow ( #16396 )
...
Drive-by: fix unreadable character in "duplicate titles" error.
2022-08-09 21:17:30 -07:00
Dmitry Gozman
f58c376443
fix(test runner): do not resolve relative imports through baseUrl ( #16395 )
2022-08-09 21:16:27 -07:00
Andrey Lushnikov
0c7f086096
chore: cut v1.25 branch ( #16390 )
2022-08-09 17:09:58 -07: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
Ross Wollman
a3d99f1b4a
chore: trace viewer fallback error ( #16365 )
...
Fixes #16349 .
2022-08-09 15:53:11 -07:00
Max Schmitt
ff5f241b84
chore: set --allow-pre-commit-input flag on Android/Electron ( #16383 )
2022-08-09 23:18:15 +02:00
Dmitry Gozman
2efe947dc8
chore: avoid evaluates in screenshot on failure ( #16386 )
2022-08-09 14:03:07 -07:00
Playwright Service
fa9c20c959
feat(webkit): roll to r1699 ( #16366 )
2022-08-09 12:28:55 -07:00
Yury Semikhatsky
d048822c58
docs: deprecate Page.accessibility ( #16385 )
2022-08-09 12:26:43 -07:00
Max Schmitt
e725b5f8a9
fix(esm): fix TS type check with NodeNext mode ( #16340 )
2022-08-09 20:06:06 +02:00
Kian-Meng Ang
22f0723c72
docs: fix typos in docs ( #16370 )
...
Co-authored-by: Debbie O'Brien <debs-obrien@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-09 15:47:17 +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
Max Schmitt
57fcb590f7
chore: hide stackTrace.js from recorded frames ( #16242 )
2022-08-08 23:27:59 +02:00
Ross Wollman
dd39ae0b85
chore: use default export across packages ( #16360 )
2022-08-08 13:30:07 -07:00
Jeremy Daley
ee02afdd9b
chore: add fallback "default" key to "." exports object ( #16350 )
...
Fixes #16345 .
2022-08-08 12:19:15 -07:00
Pavel Feldman
2d7c003ada
chore: minor inspect tweaks ( #16334 )
2022-08-08 10:39:54 -07:00
Playwright Service
a93981d052
feat(firefox-beta): roll to r1343 ( #16327 )
2022-08-08 10:01:49 -07:00
Playwright Service
b32f13298f
feat(firefox): roll to r1344 ( #16328 )
2022-08-08 10:01:07 -07:00
Pavel Feldman
a2e05bb419
fix(ct): use stoppable server ( #16329 )
2022-08-08 08:54:56 -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
Dmitry Gozman
f6d94f0ac9
chore: update "X fatal errors" message ( #16325 )
...
Also, exlude certain errors from triggering this message:
- `no tests found`
- `duplicate test titles are not allowed`
- `--forbid-only found a focused test`
- `Timed out waiting 3600s for the entire test run`
2022-08-05 21:21:43 -07:00
Pavel Feldman
8ed238843b
chore: allow inspecting element from server ( #16324 )
2022-08-05 19:34:57 -07:00
Dmitry Gozman
7a86e140f5
chore: remove TestProject.projectSetup ( #16321 )
...
There are better ideas to address this issue in more general manner.
2022-08-05 15:24:30 -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
Dmitry Gozman
1f40e3d22b
chore: make Reporter.onExit an internal method ( #16280 )
2022-08-05 13:41:00 -07:00
Dmitry Gozman
424431fcfe
docs: explain toHaveText and toContainText in more details ( #16283 )
2022-08-05 10:27:17 -07:00
Playwright Service
f04dce6808
feat(firefox): roll to r1343 ( #16288 )
2022-08-05 09:35:39 -07:00
Dmitry Gozman
cb30cb4eb7
feat(test runner): add --trace cli option ( #16277 )
2022-08-05 09:20:39 -07:00
Playwright Service
e424a36945
feat(firefox-beta): roll to r1342 ( #16294 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-05 09:13:53 -07:00
Pavel Feldman
5d7e80bed6
chore: don't show reused browser intro ( #16289 )
2022-08-04 22:09:27 -07:00
Dmitry Gozman
919b1cbb22
fix(test runner): do not swallow afterEach errors after skipped tests ( #16276 )
...
Drive-by: add more test runner logging.
2022-08-04 18:49:23 -07:00
Pavel Feldman
97fa2518e9
fix(reuse): clear storage after stopping all scripts ( #16275 )
2022-08-04 16:39:18 -07:00
Playwright Service
4b53be4849
feat(chromium-tip-of-tree): roll to r1031 ( #16272 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-05 00:17:47 +02:00
Pavel Feldman
3aa5710b49
feat(reuse): retain different browser types when reusing ( #16269 )
2022-08-04 15:04:00 -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
sand4rt
bd5eddd62e
fix(ct): multi root vue components ( #16211 )
2022-08-04 10:43:43 -07:00
Pavel Feldman
7645ac25a0
chore: watch mode straw man ( #16127 )
2022-08-04 08:09:54 -07:00
Max Schmitt
35bcecc5c3
chore: cleanup WK deps and fix WK on debian ( #16253 )
2022-08-04 15:35:32 +02:00
Max Schmitt
f92a34aa18
fix: add libatomic1 to WebKit ubuntu22 native deps ( #16252 )
2022-08-04 14:56:12 +02:00
Playwright Service
859939e53f
feat(firefox-beta): roll to r1341 ( #16227 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-03 22:59:19 -07:00
Pavel Feldman
db2972792b
feat(server): queue run-server clients ( #16234 )
2022-08-03 19:37:06 -07:00
sand4rt
e5cc78af67
chore(ct): change setProps to rerender ( #16204 )
2022-08-03 18:14:00 -07:00
Pavel Feldman
8eca6339c2
feat(reuse): account for the browser launch args when reusing the bro… ( #16229 )
...
feat(reuse): account for the browser launch args when reusing the browsers
2022-08-03 17:32:29 -07:00
Andrey Lushnikov
fb76d62a2b
feat(firefox): roll Firefox stable to 103 ( #16224 )
2022-08-03 16:55:19 -07:00
Pavel Feldman
74f7005c02
chore: preserve window while reusing window ( #16225 )
2022-08-03 16:14:28 -07:00
Dmitry Gozman
03fe75251b
fix(test runner): show tests as interrupted when maxFailures stops them ( #16178 )
...
Previously, we marked these tests as skipped, and it was sometimes
confusing, because they did actually run and produce some output/artifacts.
2022-08-03 15:25:25 -07:00
Playwright Service
8ef01cd07e
feat(webkit): roll to r1696 ( #16179 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-03 11:54:23 +02:00
Pavel Feldman
df9a318d14
chore: open browser for reuse, destroy run server on detach ( #16183 )
2022-08-02 21:09:39 -07:00
Pavel Feldman
d5bc5ee6f7
fix(reuse): clear cookies and local storage when reusing context ( #16175 )
2022-08-02 17:26:59 -07:00
Playwright Service
52aa869f12
feat(webkit): roll to r1695 ( #16151 )
2022-08-02 16:50:06 -07:00
Playwright Service
37cc7ae6cd
feat(chromium-tip-of-tree): roll to r1030 ( #16163 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-02 22:50:44 +02:00
Playwright Service
d86a15c1a1
feat(chromium): roll to r1018 ( #16165 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-02 22:49:09 +02:00
Dmitry Gozman
445fe032f5
feat(test runner): separate interrupted status from skipped ( #16124 )
2022-08-02 12:55:43 -07:00
Pavel Feldman
de147fafba
chore: experimental project isolation mode ( #16081 )
2022-08-02 11:22:22 -07:00
Max Schmitt
b34da61524
docs: be more clear about connect/launchServer version match ( #16134 )
2022-08-02 18:59:42 +02:00
Max Schmitt
153670978d
chore: fix Android 13 compatibility ( #16139 )
2022-08-02 18:22:27 +02:00
Max Schmitt
0ef7e9803d
chore: disable Translate feature in Chromium ( #16136 )
2022-08-02 11:07:04 +02:00
Dmitry Gozman
5481e25015
chore: print full stacks when PWDEBUGIMPL is set ( #16113 )
...
For debugging purposes, especially on the client's computers.
2022-08-01 13:44:59 -07:00
Dmitry Gozman
3112edb4ca
feat(test runner): TestProject.projectSetup ( #16063 )
...
`projectSetup` is a project-scoped alternative to `globalSetup`.
It is only executed if at least one test from the project is scheduled to run.
2022-08-01 09:01:23 -07:00
Pavel Feldman
5a79054544
feat(innerloop): allow reusing browsers over the remote connection ( #16065 )
2022-07-31 14:31:17 -07:00
sand4rt
557db4c35e
chore(ct): mount result refactor ( #16067 )
2022-07-29 20:07:23 -07:00
Yury Semikhatsky
7d306bbc66
feat: return value from step ( #16060 )
2022-07-29 15:16:07 -07:00
Dmitry Gozman
e830fe821d
feat(test runner): introduce test.describe.fixme ( #16059 )
2022-07-29 12:44:22 -07:00
Dmitry Gozman
809002df60
fix(events): avoid firing lifecycle events twice ( #16055 )
...
Previously, when some iframe started/finished a new navigation, we
could have removed and then re-addded load/domcontentloaded on the
main frame.
Drive-by: unflake wheel test in Firefox.
2022-07-29 12:44:04 -07:00
Yury Semikhatsky
af8e3e7afa
feat: print response text when toBeOK fails ( #16040 )
2022-07-29 11:46:48 -07:00
sand4rt
4a47e275c8
feat(ct): vue set props ( #16058 )
2022-07-29 11:45:06 -07:00
Pavel Feldman
d73f9b7b88
chore: experimental test server implementation ( #16033 )
2022-07-29 11:40:33 -07:00
Dmitry Gozman
03b0f911d9
fix(screenshot): avoid unnecessary work ( #16035 )
...
Do not evaluate when not hiding caret nor disabling animations.
2022-07-29 09:23:02 -07:00
Dmitry Gozman
62e4e80599
feat(test runner): show the number of fatal errors at the end ( #15975 )
2022-07-28 14:46:21 -07:00
Making Stuffs
6f47f0f22a
fix(chromium): Add error message to asset when there is one. ( #15892 )
...
[196] -- Provide the assert function with with either the error message in the provided object or undefined if there isn't one
2022-07-28 14:45:25 -07:00
Dmitry Gozman
829a1b8444
fix(isVisible): make sure isVisible check is atomic ( #16004 )
2022-07-28 14:09:36 -07:00
Max Schmitt
a089bf3df5
chore(test-runner): better error message if page gets used inside beforeAll ( #16012 )
2022-07-28 23:07:28 +02:00
Playwright Service
dcbcb93c26
feat(chromium-tip-of-tree): roll to r1029 ( #16029 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-28 22:36:38 +02:00
Playwright Service
d5f3b10eba
feat(chromium): roll to r1017 ( #16030 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-28 22:36:09 +02:00
Dmitry Gozman
3d89506704
fix(fixtures): make undefined option mean "default value" ( #16026 )
...
In the following example, `locale` inside the `describe`
would be reverted to the default value:
```js
test.use({ locale: 'en-GB' });
test.decsribe(() => {
test.use({ locale: undefined });
});
```
2022-07-28 12:57:05 -07:00
Pavel Feldman
8c190c3e09
feat(testId): expose persistent test id ( #16003 )
2022-07-27 20:17:19 -07:00
Yury Semikhatsky
a128dda84e
feat(webkit): roll to r1691 ( #16000 )
2022-07-27 16:39:01 -07:00
Pavel Feldman
2eff208e54
feat(ct): allow unmounting components ( #15974 )
2022-07-27 15:12:36 -07:00
Dmitry Gozman
607910f6aa
fix(isVisible): do not retarget visibility checks ( #16002 )
...
We used to go to the enclosing button (inherited from click logic), which is unexpected.
2022-07-27 14:02:35 -07:00
Eran Rom
68d558f896
chore(default context): Apply context workaround only when browser and scenario match ( #15904 )
2022-07-27 12:23:22 -07:00
Max Schmitt
f663e5d6cc
chore: fix tests when repo checkout was not playwright ( #15994 )
2022-07-27 18:09:55 +02:00
Dmitry Gozman
6009804e0e
Revert "fix(test runner): ignore undefined values in fixtures definit…ions ( #15119 )" ( #15979 )
...
Revert "fix(test runner): ignore undefined values in fixtures definitions (#15119 )"
Revert commit d7b63fa0b4 .
Add a test for the broken behavior.
2022-07-27 08:51:45 -07:00
Playwright Service
3d82a6bf09
feat(chromium-tip-of-tree): roll to r1028 ( #15991 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-27 16:05:30 +02:00
Dmitry Gozman
09461f8a76
fix(driver): make sure IpcTransport messages arrive in different tasks ( #15978 )
2022-07-26 18:42:02 -07:00
Dmitry Gozman
cd9dccbe27
fix(test runner): serial suites inside parallel suite should run in parallel ( #15769 )
2022-07-26 13:38:25 -07:00
Dmitry Gozman
c0d78c5642
fix(runner): friendly error message instead of "digests do not match" ( #15939 )
2022-07-26 08:53:32 -07:00
Playwright Service
ac480240bb
feat(webkit): roll to r1689 ( #15943 )
2022-07-26 08:48:18 -07:00
Andrey Lushnikov
a5738998f6
fix: accomodate to changed MSEdge download format ( #15933 )
...
Fixes #15932
2022-07-25 16:55:24 -07:00
sand4rt
c11f594c29
fix(ct): optional hooksConfig mount option ( #15921 )
2022-07-25 13:45:32 -07:00
Dmitry Gozman
9ce727c936
feat(list reporter): number test runs to see testing progress ( #15693 )
...
Drive-by: replace a few colors.gray with colors.dim for better contrast.
2022-07-25 13:22:25 -07:00
Dmitry Gozman
f88b1e9cde
feat(reporters): separate onExit from onEnd ( #15926 )
...
This is now used by html reporter to open UI.
2022-07-25 13:20:33 -07:00
Dmitry Gozman
c4dae2a628
fix(cli): remove --save-trace from open command ( #15905 )
2022-07-25 09:16:20 -07:00
Max Schmitt
004cd9273c
fix(test-runner): multiple webServer types ( #15901 )
2022-07-25 10:39:06 +02:00
Dmitry Gozman
4bec6309df
fix(lifecycle): recalculate lifecycle on iframe detach ( #15812 )
...
It could be that iframe was blocking some event, like load or networkidle,
and we never updated the lifecycle after the iframe was detached. This
lead to goto and other navigation commands to never resolve.
2022-07-22 19:44:02 -07:00
Dmitry Gozman
fd21852b01
fix(text selector): ignore NOSCRIPT elements ( #15887 )
...
These are usually not rendered, and some sites have very big content inside,
for example full page markup.
2022-07-22 16:18:06 -07:00
Playwright Service
e6461270e5
feat(chromium-tip-of-tree): roll to r1027 ( #15851 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-21 23:21:53 +02:00
Playwright Service
7d29231177
feat(chromium): roll to r1016 ( #15857 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-21 23:19:26 +02:00
Dmitry Gozman
ba3c8ffa5c
test: make sure browser crashes in CLI tests are marked as such ( #15821 )
2022-07-20 15:32:57 -07:00
Dmitry Gozman
f954891491
fix(runner): globalTeardown without globalSetup should work ( #15814 )
2022-07-20 12:41:35 -07:00
Playwright Service
b117ad826c
feat(webkit): roll to r1685 ( #15811 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-20 19:21:28 +02:00
Playwright Service
919bf1f805
feat(chromium-tip-of-tree): roll to r1026 ( #15795 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-07-19 23:20:37 +02:00
Playwright Service
ef84df9fc4
feat(chromium-tip-of-tree): roll to r1025 ( #15674 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-18 22:44:39 +02:00
Max Schmitt
507e921371
chore: bump 'ip' peer dependency ( #15750 )
2022-07-18 20:04:26 +02:00
Yury Semikhatsky
99d1ad5a88
chore: bump vite to 3.0.0 and @sveltejs/vite-plugin-svelte to 1.0.1 ( #15727 )
2022-07-15 14:04:36 -07:00
Dmitry Gozman
a56d801352
fix(test runner): show fixture name when worker times out ( #15724 )
2022-07-15 13:05:48 -07:00
Yury Semikhatsky
582b5e08b2
docs: clarify toHaveURL parameter semantics ( #15723 )
2022-07-15 11:09:20 -07:00
Dmitry Gozman
212d4d6b09
feat(webkit): roll to 1683 ( #15720 )
2022-07-15 10:51:42 -07:00
Pavel Feldman
55cd3928b7
chore: reuse context in the innerloop mode ( #15719 )
2022-07-15 10:36:36 -07:00
Pavel Feldman
a198b6d753
chore: reparent context objects into the object ( #15689 )
2022-07-15 08:56:47 -07:00
Dmitry Gozman
da2fdc2e2e
fix(esm loader): support Node 18.6 ( #15694 )
...
A small change in the API requires `shortCircuit: true` when returning the
transformed source.
Another API change removes third argument from the chained resolve/load,
but passing three instead of two still works.
2022-07-14 19:10:39 -07:00
Ross Wollman
732b8f4760
chore: PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS and doc clarifications ( #15688 )
2022-07-14 17:40:22 -07:00
Andrey Lushnikov
0a01a9456a
chore: update WebKit browser version ( #15679 )
...
As of July 14, 2022, Safari Technoly Preview returns the following:
```
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15
```
2022-07-14 13:56:20 -07:00
Andrey Lushnikov
173ea04b02
fix: add missing gstreamer dependencies for wk on debian 11 ( #15675 )
2022-07-14 13:12:49 -07:00
Max Schmitt
4bba41ab8f
Revert "feat(matchers): add toContainClass ( #15491 )" ( #15670 )
...
This reverts commit e4debd0bf6 .
2022-07-14 22:03:37 +02:00
Andrey Lushnikov
53118c074e
chore: use JHBuild WebKit Debian 11 build ( #15673 )
...
Fixes #3167
2022-07-14 12:54:43 -07:00
Andrey Lushnikov
df9beb4045
chore: cut v1.24 ( #15654 )
2022-07-14 09:42:40 -07:00
Yury Semikhatsky
e37514b43c
docs: dragAndDrop source/target descriptions ( #15658 )
2022-07-14 09:42:26 -07:00
Yury Semikhatsky
cb81d23ad6
fix(selectors): max hasText regex against nested nodes ( #15638 )
2022-07-14 08:23:11 -07:00
Playwright Service
0ac893d0f8
feat(chromium): roll to r1015 ( #15649 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-14 14:34:02 +02:00
Pavel Feldman
d02914fa3a
chore: relax transpilation criteria to allow ems imports of .vue files ( #15592 )
2022-07-13 16:11:38 -07:00
Dmitry Gozman
44e214a972
chore(html report): title row UI fixes ( #15632 )
2022-07-13 15:12:15 -07:00
Dmitry Gozman
22ead7b5ab
Revert "fix(test runner): handle istty in line reporter ( #15455 )" ( #15633 )
...
This reverts commit 767babc3a2 .
2022-07-13 15:11:56 -07:00
Dmitry Gozman
51c3ea55ed
Revert "feat(line reporter): show testing progress ( #15547 )" ( #15631 )
...
This reverts commit e76d9b3b28 .
2022-07-13 13:54:26 -07:00
Pavel Feldman
0e7d6661d7
chore(html-report): follow up ui fixes ( #15599 )
2022-07-13 12:49:11 -07:00
Playwright Service
6d67c5dd76
feat(chromium-tip-of-tree): roll to r1024 ( #15581 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-13 18:04:24 +02:00
sand4rt
82fb68fdde
feat(ct): mount generic type required when specified ( #15591 )
2022-07-13 08:41:20 -07:00
Andrey Lushnikov
83e3dbb1bb
chore: add support for debian 11 downloads ( #15596 )
2022-07-13 04:09:24 -07:00
Max Schmitt
ee7d60fcee
docs: migrate page actions to locator actions 2/n ( #15603 )
2022-07-13 11:50:18 +02:00
Yury Semikhatsky
3436e64b75
feat: dispatch wheel event ( #15593 )
2022-07-12 17:17:45 -07:00
Pavel Feldman
00848b1bcf
fix(ct): restore public folder deployment ( #15594 )
2022-07-12 16:14:48 -07:00
Yury Semikhatsky
a6daf600a9
fix: support hasColors and getColorDepth in worker ( #15590 )
2022-07-12 14:47:14 -07:00
Pavel Feldman
3939b9f36e
chore: migrate component testing to server-side page reuse ( #15477 )
2022-07-12 14:30:24 -07:00
Max Schmitt
e4debd0bf6
feat(matchers): add toContainClass ( #15491 )
2022-07-12 23:17:10 +02:00
Yury Semikhatsky
008a85b143
feat(webkit): roll to r1681 ( #15577 )
2022-07-12 14:07:56 -07:00
Pavel Feldman
56fb3ddefb
feat(ct): export component fixture types to enable re-export ( #15583 )
2022-07-12 13:42:50 -07:00
Ross Wollman
8858162692
fix: Service Workers+Interception: missing page-level Network events ( #15549 )
...
Fixes #15474 .
Notes:
* page-level requests that are also handled by a SW's fetch handler, should not be interceptable at the page-level
* `Network.requestWillBeSent` does not provide enough metadata for Playwright to fire the `request` event at that time, so it does it as soon as it gets to the end of the request lifecycle
2022-07-12 13:23:35 -07:00
Pavel Feldman
8402001c32
chore: remove joining emitter ( #15588 )
2022-07-12 13:04:20 -07:00
Max Schmitt
7e1801bd30
fix(matchers): repeating values lead to no error ( #15559 )
2022-07-12 20:03:27 +02:00
Pavel Feldman
f3d3231b29
feat(ct): allow configuring apps per test ( #15551 )
2022-07-12 09:37:33 -07:00
Dmitry Gozman
64353c4b96
fix(test runner): make sure worker cleans up if last test was skipped ( #15552 )
2022-07-11 21:33:56 -07:00
Dmitry Gozman
e76d9b3b28
feat(line reporter): show testing progress ( #15547 )
...
Line reporter now shows stats in addition to the test name:
```
[chromium] › page/page-click-react.spec.ts:108:1 › should not retarget when element changes on hover
[21/93] Passed: 17 Flaky: 0 Failed: 0 Skipped: 4 (7s)
```
2022-07-11 20:44:50 -07:00
Dmitry Gozman
7727ebe758
feat(html report): improve test list view ( #15543 )
...
- Two lines per test: title and location.
- Align project labels.
- Add trace badge that opens trace viewer.
- Add video and image diff badges that show scrolled test result view.
2022-07-11 19:47:15 -07:00
Pavel Feldman
3a9b29f46c
feat(ct-vue): allow configuring apps per test ( #15538 )
2022-07-11 13:54:05 -07:00
jfp1992
7b881cf0fe
docs: fix typo bonding > bounding ( #15442 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-07-11 22:13:06 +02:00
Pavel Feldman
5fc637e44a
chore: experimental resetForReuse ( #15432 )
2022-07-11 13:10:08 -07:00
Max Schmitt
98ea418124
fix(expect): expect.not types ( #15487 )
2022-07-11 18:31:53 +02:00
Pavel Feldman
dd0eb5fb1d
fix(ct): support components w/o mount options ( #15501 )
2022-07-09 11:22:49 -07:00
Yury Semikhatsky
2850aae924
fix(webkit): use new protocol methods for bindings ( #15503 )
2022-07-08 15:11:29 -07:00
Yury Semikhatsky
b9d1a5ad69
feat(webkit): roll to r1677 ( #15500 )
2022-07-08 13:15:57 -07:00
Dmitry Gozman
6dc4a51c92
fix(test runner): more friendly test duration ( #15476 )
...
fix(test runner): more firendly test duration
Reported test duration now does not include time spent in
`beforeAll`, `afterAll` and fixtures that have a separate timeout.
This is to avoid different reported test execution time,
depending on the test execution order.
2022-07-08 11:45:44 -07:00
Dmitry Gozman
894ead5198
fix(test runner): mention fixture in worker teardown timeout error message ( #15499 )
2022-07-08 11:44:37 -07:00
Yury Semikhatsky
5f42725358
feat(webkit): roll to r1674 ( #15384 )
...
Also reverted screenshot test changes from 4de14e7 as the breaking change was reverted upstream in Revert [251706@main] getComputedStyle(img).height returns string of a rounded int not a float WebKit/WebKit#1902
2022-07-08 11:07:06 -07:00
Playwright Service
dfd6fa356a
feat(chromium): roll to r1014 ( #15490 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-08 13:41:21 +02:00
Yury Semikhatsky
51aa5fea78
fix: colors in console output from worker ( #15421 )
...
Color highlights regressed in #14455
Fixes #15366
2022-07-07 17:56:41 -07:00
Pavel Feldman
0781d04a5e
chore: get rid of page state overrides ( #15470 )
2022-07-07 16:28:20 -07:00
Dmitry Gozman
738d71ebc2
chore: unify two copies of monotonicTime ( #15473 )
2022-07-07 15:59:49 -07:00
Ross Wollman
799d4703bc
feature(test-runner): multiple web servers ( #15388 )
...
Fixes #8206 .
Since #8206 is a long-awaited (~ 1 year old), popular (~ 45 reactions, frequently requested in community channels, etc.), this PR aims to unblock folks.
Notably, we do not innovate on the `webServer` API, despite knowing we're not in love with it. We'll save the innovation for either Plugins or a new `LaunchConfigs` option. (We haven't yet arrived at a Plugin API we like, and instead of launching a new option guessing what the "better" launchConfig API would be, let's wait and see how folks use this new Array-variant of `webServer` which—despite its name—can be used for non-Web Server launches!
2022-07-07 15:27:21 -07:00
Pavel Feldman
5fd6ce4de0
chore: allow aborting in-flight routes on context reuse ( #15460 )
2022-07-07 13:07:09 -07:00
Max Schmitt
86a65a03e4
chore: add CI to default user agent ( #15450 )
2022-07-07 21:43:47 +02:00
Pavel Feldman
cc6f415933
chore: share grant permissions init among browser types ( #15457 )
2022-07-07 11:39:05 -07:00
Nilesh Suthar
105768fa38
feat(trace-viewer): show request time in trace viewer network tab ( #14353 )
2022-07-07 11:26:31 -07:00
jfgreffier
efec0261a1
feat(inspector): add keyboard shortcuts ( #12014 ) ( #15326 )
2022-07-07 11:25:48 -07:00
sand4rt
a41a25e07b
feat(ct): typesafe mount props ( #15445 )
2022-07-07 11:23:58 -07:00
Playwright Service
adf03eaa4c
feat(chromium-tip-of-tree): roll to r1023 ( #15447 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-07-07 19:21:58 +02:00
Dmitry Gozman
767babc3a2
fix(test runner): handle istty in line reporter ( #15455 )
...
When running without tty, line reporter outputs a line for each
percent of the tests, thus limiting the output to ~100 lines.
In addition, reporters now support PLAYWRIGHT_LIVE_TERMINAL
env variable to force tty mode.
2022-07-07 09:55:12 -07:00
Playwright Service
b7e66d2b14
feat(firefox): roll to r1335 ( #15434 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-07 05:51:41 -07:00
Playwright Service
72c3574943
feat(firefox-beta): roll to r1335 ( #15433 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-07-07 05:49:40 -07:00
Pavel Feldman
f71b620de7
chore: unregister handlers when dispatcher goes ( #15425 )
2022-07-06 20:32:31 -07:00
Pavel Feldman
b9e41df0a5
chore: respect event name in removeAllListeners ( #15430 )
2022-07-06 15:04:27 -07:00
Andrey Lushnikov
e9d66535ba
browser(firefox): move screenshots to browser-side ( #15230 )
...
* `clip` option is always passed from the client code
* with this change, we can no longer capture screenshot of a blinking
caret; the browser-side API doesn't have this capability.
2022-07-06 15:02:48 -07:00
Dmitry Gozman
89c16cbc8b
feat(runner): anonymous describes ( #15424 )
...
Useful to set some options without coming up with an artificial name.
```js
test.describe(() => {
test.use({ colorScheme: 'dark' });
test('my test', () => {});
})
```
2022-07-06 13:54:11 -07:00
Pavel Feldman
1b264010db
fix(ct): tolerate compiled react components ( #15422 )
2022-07-06 13:44:06 -07:00
Dmitry Gozman
c02d83fb11
fix(runner): filter only after duplicate titles check ( #15401 )
2022-07-06 12:51:26 -07:00
Dmitry Gozman
0142bdce76
test: mark driver mode as remote ( #15402 )
...
Otherwise we are passing buffers as objects, not as base64.
2022-07-06 09:20:07 -07:00
Playwright Service
26ef9dddb3
feat(firefox): roll to r1334 ( #15399 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-06 04:19:22 -07:00
Playwright Service
22b82a5dd0
feat(firefox-beta): roll to r1334 ( #15403 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-06 04:17:58 -07:00
Dmitry Gozman
ee82837fb5
fix(fixtures): do not run user function when required fixture has failed ( #15385 )
...
Currently, it is possible to run a function, e.g. a second `beforeEach` hook,
that will receive `null` for the fixture that has already failed before.
This PR skips running any user function that uses a fixture that has already
failed, just like if the fixture would be initialized again and failing for
the second time.
2022-07-05 17:15:28 -07:00
Dmitry Gozman
d60b8aba23
fix(codegen): handle more context options ( #15319 )
...
The following options now work across languages:
- `recordHar`
- `serviceWorkers`
In addition, object properties are now sorted alphabetically.
Drive-by: fixed `--target` help message to include all available targets.
2022-07-05 13:30:46 -07:00
Ross Wollman
5f03bd9477
chore(test-runner): increase jpeg-js max mem allowance ( #15381 )
...
Resolves #14255 .
PNGs should be preferred as they are deterministic, but increasing this
limit should be fine for JPEG users. (Looking through jpeg-js source code, the actual memory allocation is based on the size of the image—so unless a user is hitting this limit already—this should not impact the memory consumption of Playwright.
2022-07-05 13:25:54 -07:00
Playwright Service
449b66591d
feat(firefox): roll to r1333 ( #15382 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-05 12:16:56 -07:00
Ross Wollman
981f5ab8c1
fix(test-runner): apply fixme v. skip annotations ( #15277 )
...
Currently, if `text.fixme()` or `test.skip()` is used within a test, we
add a `fixme` or `skip` annotation. However, if the wrapper style is
used:
```
test.fixme('should work', () => {…})
```
the annotations were missing. This change adds annotations for the
above.
These annotations are important for reporting purposes and knowing
exactly what flavor of "skipped" was used.
Fixes #15239 .
2022-07-05 10:46:30 -07:00
Sergio Freire
71c08a5dcf
fix(junit reporter): embedding attachments on report didnt work for tests outside root folder ( #15359 )
2022-07-05 10:35:14 -07:00
Dmitry Gozman
2a805c1f1c
fix(line reporter): print currently running test ( #15339 )
2022-07-05 09:07:55 -07:00
Dmitry Gozman
4eccb89a79
chore: do not serialize buffers into base64 in local mode ( #15316 )
2022-07-05 08:58:34 -07:00
Sean Doyle
ef5a56ce18
feat(evaluate): serialized URL instances ( #15023 )
...
Add support for returning [URL][] instances from `page.evaluate` calls.
Follow the patterns established by `Date` and `RegExp` serialization.
[URL]: https://developer.mozilla.org/en-US/docs/Web/API/URL
2022-07-05 17:53:02 +02:00
Max Schmitt
35a2792bb4
fix(html-report): listen on 127.0.0.1 only ( #15361 )
...
Fixes #11568
2022-07-05 08:48:30 -07:00
Maël Nison
7609785d53
fix: Detects React 17+ first ( #15343 )
2022-07-05 07:49:31 -07:00
Pavel Feldman
9e62cc4da9
fix(test): speculative attempt to fix trace viewer test flakiness (3) ( #15342 )
2022-07-03 11:55:18 -07:00
Pavel Feldman
c3c724f17d
fix(test): speculative attempt to fix trace viewer test flakiness (2)
2022-07-03 09:43:28 -07:00
Pavel Feldman
ba93da0686
fix(test): speculative attempt to fix trace viewer test flakiness ( #15330 )
2022-07-03 08:30:04 -07:00
Dmitry Gozman
71dcad3b2e
test: fix some flaky failures ( #15314 )
...
- Never use open shadow root for highlight. This messes up
our selectors that accidentally match internal preview elements.
- Remove failing electron test that we do not care about.
- Skip `channels.spec.ts` in non-default mode.
2022-07-01 13:57:33 -07:00
Ross Wollman
6cb3236acd
feat(chromium): Service Worker Network Instrumentation and Inspection ( #14716 )
...
Adds Chromium support for Service Worker Networking (interception/routing, Request/Response events, and HAR).
Resolves #1090 .
Depends on #14714 and #14714 .
Supercedes #14321 .
Follow up #14711 .
Landed upstream patches:
- https://chromium-review.googlesource.com/c/chromium/src/+/3510917
- https://chromium-review.googlesource.com/c/chromium/src/+/3526571
- https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3566669
- https://chromium-review.googlesource.com/c/chromium/src/+/3544685
- https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3610924
- https://chromium-review.googlesource.com/c/chromium/src/+/3689949
2022-07-01 12:49:43 -07:00
Pavel Feldman
295ea7a3cb
fix(config): fall back to context options ( #15309 )
2022-07-01 10:20:13 -07:00
Dmitry Gozman
82032be368
chore(server): validate/convert protocol both ways ( #14811 )
...
Previously, we only validated/converted on the way to the server,
but not from the server.
Validating both ways catches issues earlier, and allows us to
perform automatic conversions, for example only converting
buffers to base64 when sending over wire.
2022-07-01 09:58:07 -07:00
Pavel Feldman
c4d2342339
fix(config): fall back to launch options ( #15293 )
2022-07-01 08:12:57 -07:00
Playwright Service
3e86c7af95
feat(chromium): roll to r1013 ( #15303 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-01 15:18:58 +02:00
Playwright Service
64e6688e84
feat(firefox-beta): roll to r1333 ( #15292 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-01 05:24:30 -07:00
Playwright Service
2e96db4655
feat(firefox): roll to r1332 ( #15291 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-01 05:24:10 -07:00
Dmitry Gozman
5083da9d98
test: unflake "should truncate long test names" ( #15286 )
2022-06-30 20:24:00 -07:00
Pavel Feldman
6425ab9e78
fix(ff): allow more time to launch browser ( #15290 )
2022-06-30 18:07:25 -07:00
Dmitry Gozman
b86926e691
fix(test runner): update timeout error messages ( #15117 )
...
Some of the current timeout error messages are confusing, because they do not suggest that the issue is most likely a slow test. This PR updates timeout messages as follows:
- Test timeout of 30000ms exceeded.
- Test timeout of 30000ms exceeded while setting up "browser".
- Test timeout of 30000ms exceeded while tearing down "context".
- Test timeout of 30000ms exceeded while setting up "playwright configuration".
- Test timeout of 30000ms exceeded while running "beforeEach" hook.
- Test timeout of 30000ms exceeded while running "afterEach" hook.
- "beforeAll" hook timeout of 30000ms exceeded.
- "afterAll" hook timeout of 30000ms exceeded.
- Worker teardown timeout of 30000ms exceeded.
- "skip" modifier timeout of 30000ms exceeded.
- Fixture "myCustomFixture" timeout of 5000ms exceeded.
2022-06-30 17:05:08 -07:00
Max Schmitt
3d1d723c56
fix(esm): show codeframe when errors get reported ( #15262 )
2022-06-30 21:17:08 +02:00
Yury Semikhatsky
4de14e7d2c
feat(webkit): roll to r1673 ( #15276 )
2022-06-30 12:07:33 -07:00
Dmitry Gozman
0254cd3be7
fix(firefox): launch races ( #15259 )
...
Potential fixes to avoid startup races:
- Wait for "juggler listening" message.
- Make sure `transport.onclose` is called when connecting to the transport after the actual pipe closure.
2022-06-30 10:58:22 -07:00
Max Schmitt
71fc53bbf8
fix(matchers): toHaveClass on SVG elements ( #15267 )
...
Fixes #15260
2022-06-30 07:01:26 -07:00
Ross Wollman
9cafab382b
docs: clarify use of browser.close ( #15255 )
2022-06-29 18:41:21 -07:00
Dmitry Gozman
ff2647cfa3
fix(network): remove races from sizes calculation ( #15208 )
...
- Do not resolve raw headers upon `loadingFinished`, since they may still come later in
`responseReceivedExtraInfo`.
- Introduce separate promises for `encodedBodySize`, `transferSize` and `responseHeadersSize`.
- Make sure we resolve each of them either with data available
from the browser, or a fallback calculation.
- Set raw response headers for redirects on WebKit.
- Do not stall on cached responses in Chromium, they have erroneously set `hasExtraInfo` flag.
- Use `transferSize` that is available in Firefox protocol.
2022-06-29 18:11:22 -07:00
Pavel Feldman
28f382bea6
chore: roll source-map-support to 0.5.21 ( #15237 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-29 19:47:45 +02:00
Max Schmitt
b3c31f5b13
fix: do not throw on removeListener without listener ( #15224 )
...
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-06-29 13:53:13 +02:00
Playwright Service
b554344907
feat(chromium-tip-of-tree): roll to r1019 ( #15172 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-29 13:29:28 +02:00
Dmitry Gozman
8220ab1379
feat(firefox): roll ff 1328 and ff-beta 1330 ( #15185 )
2022-06-29 03:04:46 -07:00
Max Schmitt
e34fa4feeb
fix(evaluate): fallback to toJSON if it exists when serializing ( #15188 )
...
* fix(evaluate): fallback to toJSON if it exists when serializing
* fix test in ff
* window.performance test
2022-06-29 08:07:32 +02:00
Pavel Feldman
6a8d835145
chore: allow updating har while routing ( #15197 )
2022-06-28 15:09:36 -07:00
Sébastien Règne
f43fe4855d
docs: fix route.fallback typo ( #15173 )
2022-06-28 13:46:54 -07:00
Max Schmitt
aa1e736f3f
chore: print response body when browser download failed ( #15101 )
2022-06-28 18:19:31 +02:00
Dmitry Gozman
79163e802a
fix(test runner): screenshot immediately after failure ( #15159 )
...
Previously, screenshot was taken after hooks and fixtures teardown.
However, hooks can easily modify the state of the page, and
screenshot would not reflect the moment of failure.
Instead, we take screenshots immediately after the test function
finishes with an error.
2022-06-27 17:46:39 -07:00
Dmitry Gozman
d7b63fa0b4
fix(test runner): ignore undefined values in fixtures definitions ( #15119 )
...
These mean "I don't want to specify this fixture/option"
instead of "I want the value of undefined", aligned with how TypeScript works.
We already do similar things in the config.
2022-06-27 11:31:41 -07:00
Dmitry Gozman
a93db3cf11
fix(reporter): line reporter should not swallow half-line stdout ( #15114 )
2022-06-27 11:25:42 -07:00
Pavel Feldman
8c590cb2af
chore: undeprecate sync headers() ( #15152 )
2022-06-27 10:34:32 -07:00
Playwright Service
fab12c70f7
feat(chromium): roll to r1012 ( #15111 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-06-27 10:01:10 +02:00
Dmitry Gozman
660516d22a
fix(network): make allHeaders wait until all headers are available ( #15094 )
...
fix(network): make allHeaders wait until all header are available
Before, calling `allHeaders()` from `page.on('request')` would yield
provisional headers instead.
With these changes:
- In Firefox, all headers are available immediately.
- In Chromium, all headers are available upon requestWillBeSentExtraInfo.
- In WebKit, all headers are available upon responseReceived.
- In all browsers, intercepted requests use "provisional" headers
as all headers, since there is no network stack to change the headers.
Drive-by: migrated Chromium to `hasExtraInfo` flags that simplifies
the logic quite a bit.
2022-06-24 13:51:09 -07:00
Dmitry Gozman
2f11807552
fix(click): no element should intercept events over the target frame ( #15043 )
...
When target element is inside a non-main frame, there could be an
overlay in some of the parent frames that intercepts pointer events.
However, we never detected this case.
2022-06-24 13:17:25 -07:00
Pavel Feldman
ae6f48c4b8
fix(route): match against updated url while chaining ( #15112 )
2022-06-24 10:48:16 -07:00
Stuart Lang
eba2bdffb9
docs: fix typo: surved -> served ( #15105 )
2022-06-24 15:06:57 +02:00
Dmitry Gozman
a46aaee6e8
fix(reporters): truncate long test titles from the start ( #15052 )
...
Most useful information is at the end - test name, current step, retry.
We truncate the repetitive project + suites at the start.
2022-06-22 17:03:54 -07:00
Pavel Feldman
7bd72716f9
feat(har): introduce the slim mode ( #15053 )
2022-06-22 14:44:12 -07:00
Dmitry Gozman
033c250f6d
fix(har): remove types/har.d.ts, update har.ts per spec ( #15046 )
...
Drive-by: typo fix in `notFound` option name.
2022-06-22 12:16:29 -07:00
Playwright Service
01abff2090
feat(chromium-tip-of-tree): roll to r1017 ( #15008 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-22 19:38:38 +02:00
Max Schmitt
fb441faab1
fix: request/response events with backgroundPages ( #15032 )
2022-06-22 17:23:51 +02:00
Pavel Feldman
9525bedc1f
feat(har): re-add routeFromHAR ( #15024 )
2022-06-21 22:12:37 -07:00
Dmitry Gozman
c02e165eb6
fix(test runner): toHaveScreenshot should not overwrite matching expectations ( #15028 )
...
Even in the `--update-snapshots` mode we should keep existing files if
they are matching under the threshold, to avoid needless churn.
2022-06-21 18:01:25 -07:00
Playwright Service
da17490972
feat(webkit): roll to r1668 ( #15012 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-21 17:22:09 -07:00
Playwright Service
c0c1ada9fe
feat(webkit): roll to r1667 ( #14960 )
2022-06-21 14:04:52 -07:00
Dmitry Gozman
6af6fab84a
fix(har): internal redirect in renderer-initiated navigations ( #15000 )
...
fix(har): internal redirect in renderer-initiated navigations
2022-06-21 11:01:01 -07:00
Max Schmitt
3a61938628
chore: mark 1.24-next ( #14857 )
2022-06-21 19:32:15 +02:00
Tommi Finnilä
6b1bd6ec16
fix: Add Ubuntu 22.04 deps for arm64 ( #15007 )
2022-06-21 13:51:19 +02:00
Elias Sørensen
6ca18b3bb8
chore: support Pop!_OS 22.04 versioning ( #14859 )
...
Co-authored-by: Elias Sorensen <elias.soerensen@usercentrics.com>
2022-06-21 03:02:48 -07:00
Ross Wollman
0f8114f6a8
docs: replace serviceWorkers workaround ( #14902 )
2022-06-20 19:31:19 -07:00
Pavel Feldman
5e6b493bc9
doc(har): add more details into the har doc ( #14998 )
2022-06-20 17:54:39 -07:00
Dmitry Gozman
bff90b5abb
fix(chromium): disable back-forward cache ( #14996 )
...
Otherwise, back/forward navigation does not intercept requests.
2022-06-20 17:27:45 -07:00
Pavel Feldman
883e4d449a
test(har): add more har tests ( #14997 )
2022-06-20 17:22:32 -07:00
Pavel Feldman
aaafb77036
feat(har): disambiguate using matching headers ( #14995 )
2022-06-20 16:41:53 -07:00
Pavel Feldman
b5524aa756
chore(har): brush up post data serialization ( #14994 )
2022-06-20 15:29:13 -07:00
Dmitry Gozman
e3da3ebfa4
feat(har): do not expose HAR types, remove HARResponse fulfill ( #14992 )
2022-06-20 15:19:54 -07:00
Pavel Feldman
eb87966441
feat(har): disambiguate requests by post data ( #14993 )
2022-06-20 14:14:40 -07:00
Dmitry Gozman
5397394653
feature(har): add testOptions.har ( #14991 )
...
Can now be used with `test.use({ har })`.
Also added more tests for latest har features.
2022-06-20 13:37:31 -07:00
Ross Wollman
c3bbf8963d
test: installation test for CDN failover ( #14963 )
2022-06-20 11:24:23 -07:00
Pavel Feldman
920f1d52fc
chore: allow routing by uncompressed har ( #14987 )
2022-06-20 11:07:53 -07:00
Pavel Feldman
e5372c3421
chore: move har router into local utils ( #14967 )
2022-06-18 20:24:55 -07:00
Pavel Feldman
1b927f1214
chore: remove stray log
2022-06-18 17:27:31 -07:00
Pavel Feldman
e8070ee1b2
chore: warn users on clashing test output and html reporter folders ( #14964 )
2022-06-18 15:47:26 -07:00
Yury Semikhatsky
ed6b14f0f4
fix(har): restart redirected navigation ( #14939 )
2022-06-17 21:17:30 -07:00
Pavel Feldman
030e7d211c
chore(har): allow replaying from zip har ( #14962 )
2022-06-17 16:11:22 -07:00
Max Schmitt
822b86d8a4
chore: add CDN download fallbacks ( #14933 )
2022-06-17 11:47:32 -07:00
Playwright Service
466d50e3e3
feat(chromium): roll to r1011 ( #14948 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-17 18:41:06 +02:00
dependabot[bot]
36c9abfb2e
chore(deps): bump jpeg-js from 0.4.3 to 0.4.4 in /packages/playwright-core/bundles/utils ( #14942 )
...
* chore(deps): bump jpeg-js in /packages/playwright-core/bundles/utils
Bumps [jpeg-js](https://github.com/eugeneware/jpeg-js ) from 0.4.3 to 0.4.4.
- [Release notes](https://github.com/eugeneware/jpeg-js/releases )
- [Commits](https://github.com/eugeneware/jpeg-js/compare/v0.4.3...v0.4.4 )
---
updated-dependencies:
- dependency-name: jpeg-js
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* license
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-17 18:40:20 +02:00
Max Schmitt
08ac966f68
fix(html-reporter): do not verbose yell when opening report without gui ( #14935 )
2022-06-17 18:38:23 +02:00
Ross Wollman
b9114f9cbc
fix(html-reporter): file-browser friendly extensions ( #14943 )
...
Fixes #14904 .
This is done to make looking at the raw contents of the report
friendlier when using a file browser. However, it should be noted, the
public API of the HTML Reporter makes no guarantees of its contents
structure/layout/naming-conventions.
2022-06-17 08:09:49 -07:00
Pavel Feldman
e9069bef6b
fix(body): fetch body explicitly for prefetched scripts ( #14941 )
2022-06-16 22:07:43 -07:00
Pavel Feldman
be64e9ce66
chore(har): attach resources for .zip hars ( #14938 )
2022-06-16 18:27:25 -07:00
Pavel Feldman
245c33a5d4
feat(har): allow storing content as separate files ( #14934 )
2022-06-16 16:33:32 -07:00
Pavel Feldman
765ac5f0a7
chore: do not embed copyright in redistributable assets ( #14928 )
2022-06-16 16:18:25 -07:00
Yury Semikhatsky
2bdb0998bd
feat(cli): block-service-workers option ( #14931 )
2022-06-16 16:03:35 -07:00
Playwright Service
c17dbe3ab3
feat(chromium-tip-of-tree): roll to r1016 ( #14912 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-16 19:36:37 +02:00
Dmitry Gozman
cddf3293cf
docs: mention chaining in locator.filter ( #14920 )
2022-06-16 10:05:30 -07:00
Dmitry Gozman
cdb862767f
fix(page): "load" event should fire before "waitForLoadState" resolves ( #14897 )
...
Currently, `loadstate` and `load` are two separate events in the protocol,
and are fired in this order. As a result, `waitForLoadState()` sometimes
resolves before the `'load'` event is fired, which is unexpected.
Also fixes a flaky test that assumed `load` event comes after `domcontentloaded`
for the empty page, which is not always a case in Chromium.
2022-06-16 09:35:53 -07:00
Yury Semikhatsky
79378dd1eb
fix: add pw:api logging to har router ( #14903 )
2022-06-16 07:48:57 -07:00
Yury Semikhatsky
c349c1d57f
feat: newContext.har ( #14892 )
...
Replaced {Page,BrowserContext}.(un)routeFromHar with browser.newContext.har.
2022-06-15 16:35:44 -07:00
Pavel Feldman
225ab68d1c
fix(test): fix the route test ( #14890 )
2022-06-15 16:15:45 -07:00
Pavel Feldman
59fa61aef1
fix(ct): relax react import pattern ( #14896 )
2022-06-15 16:14:45 -07:00
Pavel Feldman
b8fece7204
chore: allow joining async handlers ( #14893 )
2022-06-15 15:27:31 -07:00
Yury Semikhatsky
df63ae9dce
docs: update strict routeFromHar default value ( #14886 )
2022-06-15 09:32:40 -07:00
Pavel Feldman
464cbb7457
feat(chromium): allow attaching to other targets as to pages ( #14873 )
2022-06-15 09:31:32 -07:00
Ross Wollman
112a18e083
docs: document new webServer "ready" status codes ( #14885 )
...
Sync docs with implementation introduced via 30f3d526eb
2022-06-15 09:00:29 -07:00
Yury Semikhatsky
259c8d64a5
feat: Page.routeFromHar ( #14870 )
2022-06-15 08:41:46 -07:00
Dmitry Gozman
06c8d8e31c
chore: use channels types instead of a copy in server ( #14874 )
...
This is to avoid duplicating types for no reason.
2022-06-14 22:02:15 -07:00
Yury Semikhatsky
e00a26a11d
feat(route): fulfill with HARResponse ( #14865 )
2022-06-14 15:07:22 -07:00
Playwright Service
c8283cf9de
feat(chromium): roll to r1010 ( #14863 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-14 23:18:03 +02:00
Playwright Service
81eaf764fc
feat(webkit): roll to r1666 ( #14868 )
2022-06-14 13:57:57 -07:00
marlowl
9d9b5d13be
docs(class-testconfig.md): remove trailing devices reference ( #14867 )
2022-06-14 13:25:06 -07:00
Dmitry Gozman
e640f553b5
fix(connectOverCDP): make sure downloads work in default context ( #14864 )
2022-06-14 12:36:35 -07:00
Pavel Feldman
48f98673ef
chore: remove stray fallback overrides check
2022-06-13 18:06:01 -07:00
Pavel Feldman
9cf068ad06
feat(fallback): allow falling back w/ overrides ( #14849 )
2022-06-13 17:56:16 -07:00
Ross Wollman
3974d1b359
revert( #14797 ): fix(test runner): collect artifacts when calling browser.close() ( #14846 )
...
Revert "fix(test runner): collect artifacts when calling `browser.close()` (#14797 )"
This reverts commit c7a28ac7e9 .
Looks like it broke a bunch of tracing tests:
* Good: https://github.com/microsoft/playwright/runs/6838098316?check_suite_focus=true
* First Bad: https://github.com/microsoft/playwright/runs/6838104691?check_suite_focus=true
* Still bad on HEAD (88664c39c9 ): https://github.com/microsoft/playwright/runs/6868333846?check_suite_focus=true
2022-06-13 17:20:59 -07:00
Andrew Branch
26e22c9a89
fix(types): compilation error in TypeScript 4.8 ( #14847 )
2022-06-13 16:39:55 -07:00
Ross Wollman
61536098be
docs: fix serviceWorkers formatting ( #14845 )
2022-06-13 15:18:24 -07:00
Pavel Feldman
88664c39c9
chore: remove esm error interception, it only confuses users ( #14829 )
2022-06-13 12:32:42 -07:00
Pavel Feldman
dcdd3c3cdb
feat(route): explicitly fall back to the next handler ( #14834 )
2022-06-13 12:30:51 -07:00
Playwright Service
939e1877fb
feat(webkit): roll to r1663 ( #14775 )
2022-06-13 11:19:44 -07:00
Max Schmitt
18795ac034
fix: rewrite source-map-support Buffer deprecation warning ( #14836 )
2022-06-13 19:50:21 +02:00
Playwright Service
dbc90b23ea
feat(chromium-tip-of-tree): roll to r1015 ( #14832 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-13 19:35:26 +02:00
Max Schmitt
48b48ee8e8
chore: hide Buffer deprecation warning during tests ( #14767 )
2022-06-13 19:31:30 +02:00
Pavel Feldman
41529bb1a5
chore: respect sigint in global setup ( #14805 )
2022-06-12 13:06:00 -07:00
Pavel Feldman
c7b3f4646f
fix(strict): escape css class names when generating selectors ( #14810 )
2022-06-12 09:39:30 -07:00
Pavel Feldman
76abb3a5be
chore: unify tab generation ( #14802 )
2022-06-10 17:34:31 -07:00
Pavel Feldman
380e787065
fix(ct): respect boolean shorthands ( #14798 )
2022-06-10 17:34:21 -07:00
Pavel Feldman
30f3d526eb
feat(server): consider 3XX, 400-403 responses as started server
2022-06-10 14:47:29 -07:00
Dmitry Gozman
7c0bff15ca
feat(fulfill): improve fulfilling from har ( #14789 )
...
- `har` option is now an object `{ path, fallback }`.
- Allows falling back to `abort()`, `continue()` or throwing.
- Matches based on url + method.
- Follows redirects in the HAR file.
- Nice error/stack when throwing.
- Tests.
2022-06-10 14:26:45 -07:00
Dmitry Gozman
c7a28ac7e9
fix(test runner): collect artifacts when calling browser.close() ( #14797 )
...
Previously, we only collected artifacts on context closure.
However, in serial mode it is possible to close the browser instead.
2022-06-10 14:11:34 -07:00
Dmitry Gozman
868e00253f
feat(har): store textual content without base64 encoding ( #14772 )
2022-06-10 14:10:52 -07:00
Pavel Feldman
7a568a2952
feat(route): chain routes ( #14771 )
2022-06-10 09:06:39 -07:00
Playwright Service
a98394033c
feat(chromium-tip-of-tree): roll to r1014 ( #14742 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-10 15:59:49 +02:00
Sergio Freire
060cd9d97c
feat(junit reporter): link testcases to Xray test issues and provide additional metadata for Xray Test Management ( #11374 )
...
Co-authored-by: Sergio Freire <sergio.freire@xpand-it.com>
2022-06-10 10:31:48 +02:00
Sergio Freire
d193bd64c4
feat(junit reporter): add option to force usage of CDATA sections for content in XML elements ( #12744 )
...
Co-authored-by: Sergio Freire <sergio.freire@xpand-it.com>
2022-06-10 10:25:52 +02:00
Dmitry Gozman
6822d03f0b
fix(cli): default to no timeout ( #14769 )
2022-06-09 21:07:57 -07:00
Max Schmitt
a2e8c17fbf
chore: fix WK ubuntu 22 deps on Docker ( #14770 )
2022-06-10 00:00:05 +02:00
Josh Bowling
8dc10556e8
chore: fix error message typo ( #14729 )
2022-06-09 10:03:11 -04:00
Max Schmitt
3853014fa7
chore: add ubuntu 22 support ( #14588 )
2022-06-09 13:20:18 +02:00
Playwright Service
d5e5a28c31
feat(webkit): roll to r1659 ( #14727 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-09 10:07:09 +02:00
Dmitry Gozman
e975aef961
feat(route): fulfill from har ( #14720 )
...
feat(route): fulfill from har
This allows to use pre-recorded HAR file to fulfill routes.
2022-06-08 20:29:03 -07:00
Ross Wollman
85d03714d9
feat: add allow/block serviceWorkers option ( #14714 )
...
Adds cross-browser support for easily allowing/blocking Service Workers via a Context option.
Includes plumbing for Playwright Test's `use`.
Resolves #14522 .
Relates #1090 .
Supercedes #14321 .
2022-06-08 18:27:51 -04:00
Ross Wollman
fccee89b41
feat: add Response.fromServiceWorker flag ( #14715 )
...
Resolves #14666 .
Relates #1090 .
Supercedes #14321 .
2022-06-08 17:34:19 -04:00
Dmitry Gozman
176ab7e48b
chore: make LocalUtils easily available on the client ( #14717 )
...
Instead of plumbing it around, expose it through Connection.
2022-06-08 13:22:05 -07:00
Dmitry Gozman
6c739eb345
feat(cli): option to record har ( #14696 )
...
`npx playwright open --save-har=file.har` produces a HAR file that
can be later inspected or used for mocks.
`--save-har-glob="**/*.{png,woff2}"` option can be used to
produce a smaller har that only contains entries matching the glob.
2022-06-08 10:59:50 -07:00
Yury Semikhatsky
7f026dd64c
feat(webkit): roll to r1658 ( #14709 )
...
Language override behavior changed upstream in WebKit/WebKit@039ebd9
New logic is closer to the actual behavior of WebKit on macOS, meaning that when the user changes system language the actual locale changes according to some weird OS rules:
ru-RU => navigator.language === 'ru'
fr-CH => navigator.language === 'fr-FR'
es-MX => navigator.language === 'es-MX'
Our locale emulation is aligned with that, so setting locale to fr-CH will result in fr-FR etc.
2022-06-08 10:16:49 -07:00
Dmitry Gozman
fdcdd58d7f
feat(har): introduce urlFilter ( #14693 )
...
This is a glob or regex pattern that filters entries recorder in the HAR.
2022-06-07 18:09:47 -07:00
Playwright Service
c1a489ee4e
feat(firefox-beta): roll to r1329 ( #14612 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-07 17:42:31 +02:00
Playwright Service
712ad4ec12
feat(firefox): roll to r1327 ( #14614 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-07 17:42:08 +02:00
Playwright Service
cf2c6ee81d
feat(chromium): roll to r1009 ( #14620 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-07 17:38:13 +02:00
Pavel Feldman
4cc25725f9
fix(types): follow up to react 18 changes ( #14671 )
2022-06-06 21:05:47 -07:00
Pavel Feldman
ca2afaaebd
chore: update babel ( #14646 )
2022-06-06 15:49:31 -07:00
Dmitry Gozman
1c6a136909
docs: describe test.setTimeout inside beforeAll/afterAll ( #14670 )
...
Adding documentation that `test.setTimeout()` call from the
`beforeAll`/`afterAll` hook changes the timeout of the hook itself.
2022-06-06 15:18:38 -07:00
Sébastien Règne
4c2fc6b6eb
feat(browser): add Browser.BrowserType() method ( #14468 )
2022-06-06 09:46:08 -07:00
Pavel Feldman
2d5572abd8
fix(ct): return locator to root for fragments ( #14639 )
...
fix(fragments): return locator to root for fragments
2022-06-04 14:07:06 -07:00
Max Schmitt
ee0782b538
fix: hide DeprecationWarning of fd-slicer ( #14638 )
2022-06-04 17:49:35 +02:00
Playwright Service
c7eabf659b
feat(firefox-beta): roll to r1328 ( #14602 )
2022-06-03 16:35:58 -07:00
Playwright Service
67ac3d31bf
feat(firefox): roll to r1326 ( #14604 )
2022-06-03 16:34:27 -07:00
Pavel Feldman
c4b003a29a
chore: don't mask ESM error ( #14628 )
2022-06-03 15:28:53 -07:00
Dmitry Gozman
40bfdb0f4e
fix(codegen): use name attribute for frame elements ( #14609 )
2022-06-02 21:14:01 -07:00
Dmitry Gozman
79d356f0cc
fix(test runner): when worker exits unexpectedly, fail a single test ( #14608 )
...
All remaining tests will continue in a new worker.
2022-06-02 21:13:47 -07:00
Pavel Feldman
74b846270b
feat(ct): support Vue2 ( #14600 )
2022-06-02 17:37:43 -07:00
Ross Wollman
978854b859
chore: move multi-select assertion to toHaveValues ( #14595 )
...
Follow-up to e0a87e52d7
2022-06-02 16:01:34 -04:00
Elijah
dbc2494e54
fix: sanitize URLs with vbscript: ( #14325 )
...
fix: sanitize URLs with vbscript:
The vbscript: protocols can be used to run scripts in much the same way as the javascript: protocol. This PR adds in validation for those aforementioned protocols in snapshotterInjected.ts and snapshotRenderer.ts.
2022-06-02 12:25:59 -07:00
Dmitry Gozman
3a3aa023ad
chore: simplify context/page reuse in ct ( #14565 )
2022-06-02 12:16:07 -07:00
Andrey Lushnikov
8801f79742
Revert "fix(playwright-test): prohibit async functions passed to describe ( #14538 )" ( #14591 )
...
This reverts commit bd0fe50a0e .
2022-06-02 10:31:10 -07:00
Andrey Lushnikov
bd0fe50a0e
fix(playwright-test): prohibit async functions passed to describe ( #14538 )
...
References #14533
2022-06-02 09:44:47 -07:00
Playwright Service
321db57e96
feat(chromium-tip-of-tree): roll to r1012 ( #14581 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-02 18:23:52 +02:00
Ross Wollman
e0a87e52d7
feat: support multi-select/combo box with toHaveValue ( #14555 )
2022-06-02 12:10:28 -04:00
Dmitry Gozman
d00efa0dfe
feat(expect): add ignoreCase option to toHaveText and toContainText ( #14534 )
2022-06-02 05:52:53 -07:00
Playwright Service
82f8af3ff6
feat(chromium-tip-of-tree): roll to r1011 ( #14515 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-02 13:53:56 +02:00
Pavel Feldman
e912b6897d
fix(esm): respect source maps in esm-transpiled code ( #14561 )
2022-06-01 16:50:23 -07:00
Dmitry Gozman
c4581e54c0
fix(click): detect iframe overlays that cover target element ( #13876 )
...
This restores the old hit target check, in addition to the new
hit target interceptor.
This way, we got some coverage for iframes and other quirky cases,
but keep the bullet-proof hit target check in place.
2022-06-01 15:23:41 -07:00
Dmitry Gozman
dbcf039717
chore: remove experimental types ( #14560 )
2022-06-01 15:22:43 -07:00
Playwright Service
c53676e605
feat(firefox): roll to r1325 ( #14512 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-01 01:39:28 -07:00
Pavel Feldman
95672765bc
fix(ct): isolate component tests when recording video / trace ( #14531 )
2022-05-31 15:59:36 -07:00
Dmitry Gozman
a7500c18d6
feat(test runner): allow serial suites inside parallel ( #14530 )
...
Also works for `fullyParallel` mode.
2022-05-31 15:24:20 -07:00
Yury Semikhatsky
2bcdf68ef5
fix(runner): do not override trace files in afterAll ( #14529 )
2022-05-31 15:21:51 -07:00
Andrey Lushnikov
582a18e4dc
chore: add more information to debug worker early exits ( #14499 )
...
References #14498
2022-05-31 05:48:06 -07:00
Playwright Service
ad42dac56f
feat(firefox-beta): roll to r1327 ( #14507 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-31 05:46:53 -07:00
Playwright Service
f087e39c01
feat(chromium): roll to r1008 ( #14448 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-05-30 15:04:05 +02:00
Yury Semikhatsky
9f47160673
fix: do not override console object in worker ( #14455 )
2022-05-29 09:46:19 -07:00
Yury Semikhatsky
c1aecc7d50
docs: maxDiffPixels description typo ( #14456 )
2022-05-29 09:46:06 -07:00
Yury Semikhatsky
abced7223c
fix: filechooser interception in OOPIFs ( #14432 )
2022-05-27 13:04:58 -07:00
Playwright Service
962d933c78
feat(chromium-tip-of-tree): roll to r1010 ( #14446 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-27 21:49:19 +02:00
Pavel Feldman
f724fa570f
docs: make ts snippets esm-friendly ( #14451 )
2022-05-27 12:36:59 -07:00
Yury Semikhatsky
b164d82ba3
fix(runner): ignore .gitignore if testDir is explicitly configured ( #14430 )
...
If the tests are in an explicitly configured testDir (either at the global config level or per project) .gitignore filters are not applied.
Fixes #14381
2022-05-26 14:39:51 -07:00
Pavel Feldman
6efb1ec40c
fix(ts): export types explicitly ( #14428 )
2022-05-26 13:09:32 -07:00
Pavel Feldman
ea07ff3ae9
fix(jsx): allow passing variables into mount ( #14412 )
2022-05-25 13:59:45 -07:00
Ross Wollman
cfc9aa64a6
chore: produce meaningful bundle notice diffs ( #14396 )
2022-05-24 22:19:54 -07:00
Pavel Feldman
9440f52b88
feat(ct): support cra w/ .js ( #14326 )
2022-05-24 19:43:28 -07:00
Pavel Feldman
2fab2c1ca1
fix(tracing): invalidate non-stalling evaluates on crash ( #14392 )
2022-05-24 14:02:32 -07:00
Pavel Feldman
d97c9bd5b6
test(ct): start covering components with tests ( #14369 )
2022-05-24 13:54:12 -07:00
Ross Wollman
9b225f2ad4
fix: expect.toHaveScreenshot.animations types ( #14387 )
...
This makes the docs/types match the code which has already been
released.
Relevant code to traverse up from:
- 3e084829c0/packages/playwright-core/src/server/screenshotter.ts (L89)
- 3e084829c0/packages/playwright-core/src/server/screenshotter.ts (L118)
Fixes #14385
2022-05-24 11:34:29 -07:00
Andrey Lushnikov
3fd435d1d3
docs: fix docs for toHaveScreenshot ( #14280 )
2022-05-24 10:54:32 -07:00
Playwright Service
c12a9077d5
feat(chromium): roll to r1007 ( #14307 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-24 11:26:20 +03:00
Pavel Feldman
71a55c74da
fix(leak): do not retain test fixtures in worker fixtures ( #14363 )
2022-05-23 16:54:56 -07:00
Pavel Feldman
99f5eff400
fix(ct): do not break if there are no components (2)
2022-05-23 14:37:56 -07:00
Pavel Feldman
3c2d7d3bf2
fix(ct): do not break if there are no components ( #14362 )
2022-05-23 14:33:16 -07:00
Max Schmitt
e02e5e66f0
chore: bump TypeScript to 4.6 ( #14358 )
2022-05-23 22:59:33 +03:00
Playwright Service
ae37decd73
feat(webkit): roll to r1648 ( #14318 )
2022-05-23 09:08:57 -07:00
Pavel Feldman
a1324bd935
fix(route): support route w/ async handler & times ( #14317 )
2022-05-21 21:55:46 -07:00
Pavel Feldman
b92163176d
chore: render titles on all matching nodes ( #14316 )
2022-05-20 22:09:10 -07:00
Ross Wollman
fbb364c1cd
fix: page.locator.focus() and page.locator(…).type(…) ( #14267 )
...
Fixes focus and blur management when `page.locator(…).focus()` and `page.locator(…).type(…)` are used which was regressed by 7a5b070 (#13510 ).
#13510 relied on an implicit assumption that this (conditional) [`blur`](7a5b070e95/packages/playwright-core/src/server/injected/injectedScript.ts (L672) ) call would always be followed by a call that resulted in a newly focused element via this [`focus`](7a5b070e95/packages/playwright-core/src/server/injected/injectedScript.ts (L674) ) call.
However, some elements are [not focusable](https://html.spec.whatwg.org/multipage/interaction.html#focusable-area ), so we were blurring incorrectly, and losing focus that we should have maintained.
Two regression tests were added that pass on the commit prior to 7a5b070e95 (and match manual testing/expectations):
* `page.locator(…).focus()`: _keeps focus on element when attempting to focus a non-focusable element_
* `page.locator(…).type(…)`: _should type repeatedly in input in shadow dom_
Additionally, a third test (_should type repeatedly in input in shadow dom_) was added to check the invariant from #13510 that states:
> This affects [contenteditable] elements, but not input elements.
and allows us to introduce the targeted fix (contenteditble check before blur) without breaking FF again.
And _should type repeatedly in contenteditable in shadow dom with nested elements_ was added to ensure the above fix works with nest contenteditble detection.
Fixes #14254 .
2022-05-19 14:31:56 -07:00
Andrey Lushnikov
9a73dfe773
feat(chromium-tip-of-tree): roll Chromium TOT to 1008 ( #14279 )
2022-05-19 09:29:44 -07:00
github-actions[bot]
d6780c5b29
feat(chromium-tip-of-tree): roll to r1007 ( #14225 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-05-19 07:10:18 -07:00
Pavel Feldman
432c52d31a
chore: more testing-friendly trace ( #14264 )
2022-05-18 14:35:16 -07:00
Pavel Feldman
738d5e5b3e
chore: pass fixture defaults different from falsy ( #14237 )
2022-05-18 12:03:47 -07:00
Pavel Feldman
d5ea1b38f0
fix(recorder): remove waitForNavigation from codegen ( #14166 )
2022-05-18 10:02:09 -07:00
Pavel Feldman
b5beeab98b
fix(click): climb the hit target hierarchy to anchor ( #14235 )
...
fix(click): climb the hit target hierarcchy to anchor
2022-05-18 10:01:34 -07:00
Pavel Feldman
4d9ef46f64
fix(ct): recreate context on option change ( #14243 )
2022-05-18 09:57:05 -07:00
Pavel Feldman
e4d55fd061
fix: include @types/node in pwt deps ( #14230 )
2022-05-17 20:36:35 -07:00
Pavel Feldman
fe0afd6b5c
fix(toHaveProperty): serialize falsy arguments as well ( #14232 )
2022-05-17 14:44:12 -07:00
Max Schmitt
9256de5f48
chore: fix wrong toHaveScreenshot defaults in docs ( #14200 )
2022-05-16 22:26:23 +03:00
github-actions[bot]
f1307f4a4d
feat(chromium): roll to r1006 ( #14192 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-16 10:56:38 -07:00
Pavel Feldman
56a5f2c506
fix(types): fix the toHaveScreenshot types ( #14174 )
...
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-05-16 07:53:46 -07:00
Dmitry Gozman
c3beb71b07
fix(test runner): do not run automatic fixtures for beforeAll hooks ( #14104 )
...
There are a few issues this covers:
- Some fixtures like `page` and `context` are not allowed in `beforeAll`
hooks, so using them in automatic fixture makes it throw.
- Running automatic fixture solely for `afterAll` is unexpected.
This currently happens when `afterAll` is run for cleanup after
fixture timeout/throw.
For built-in playwright fixture, we keep `'all-hooks-included'` auto mode.
Added a doc explaining the execution order.
2022-05-13 11:17:20 +01:00
Andrey Lushnikov
f7adbd83ee
chore: cut v1.22.0 ( #14098 )
2022-05-12 11:12:01 -07:00
Dmitry Gozman
f6712ec43a
fix(tracing): workaround chromium scrollTop slowness ( #14114 )
...
References #14037 .
We used to query and save all non-zero `scrollTop`/`scrollLeft` to restore the page perfectly. However, this became very slow with Chromium v100 regression (see issue).
This change only queries and stores `scrollTop`/`scrollLeft` for elements that are ancestors of the action target. The resulting snapshot does not perfectly recreate the original screen, but should be good enough to inspect the action.
2022-05-12 10:55:29 -07:00
Dmitry Gozman
0e2855348c
feat(locators): remove layout locators ( #14129 )
2022-05-12 18:50:19 +01:00
Max Schmitt
2844623109
docs: add route class -> networking guide reference ( #14092 )
2022-05-11 16:07:00 +01:00
Max Schmitt
9693635c86
chore: remove babel__parser ( #14096 )
2022-05-11 15:31:48 +01:00
Dmitry Gozman
b753ff8686
chore: split injected utils into proper files ( #14093 )
2022-05-11 13:49:12 +01:00
Dmitry Gozman
305afcdacf
fix(test runner): fix duplicate titles error when multiple issues are present ( #14090 )
2022-05-11 11:53:16 +01:00
Pavel Feldman
c99ca17199
chore: disable AvoidUnnecessaryBeforeUnloadCheckSync on chromium ( #14080 )
2022-05-10 14:55:44 -07:00
Dmitry Gozman
ba0cfaeb2d
fix(chromium): work around about:blank issue on Chromium ( #14068 )
...
fix(chromium): work around about:blank issue on Chromium
We don't receive the `loaderId` which translates to `newDocumentId`,
so we expect the same-document navigation. Instead, we can wait
for any new-document navigation as a workaround, only for `about:blank`.
This also reverts commit f0f65fa247 .
2022-05-10 20:32:19 +01:00
Pavel Feldman
39489931d1
chore: add more ct options to allow redirecting templates/cache ( #14077 )
2022-05-10 12:21:29 -07:00
Ross Wollman
0c9e0d22df
fix(ct): preserve context changes ( #13986 )
...
1. add test (and fix) using context fixture with mount
2. add test for innerText that was failing prior to https://github.com/microsoft/playwright/pull/14008
2022-05-10 11:45:47 -07:00
Andrey Lushnikov
a64ea8698e
chore: add disclaimer to experimental ct packages ( #14075 )
2022-05-10 10:59:30 -07:00
github-actions[bot]
653373a75a
feat(chromium-tip-of-tree): roll to r1005 ( #14064 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-10 10:05:15 -07:00
Andrey Lushnikov
4634adbdc3
devops: auto-publish experimental CT packages ( #14060 )
...
This patch:
- adds a hard dependency from `experimental-ct-*` packages to the
same-version of `@playwright/test`
- aligns `experimental-ct-*` package versions with main package
version
- starts publishing experimental CT packages together with other
packages
2022-05-10 08:01:45 -07:00
github-actions[bot]
8a517c6d82
feat(webkit): roll to r1641 ( #14061 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-10 07:41:46 -07:00
Andrey Lushnikov
3ba1ea5c39
fix: support installing dependencies on non-ubuntu. ( #14010 )
...
We should not fast-return if someone tries to run
`npx playwright install-deps` on Debian.
Instead, we should warn users, fallback to Ubuntu 20.04 dependencies,
and proceed.
2022-05-10 04:05:39 -07:00
Pavel Feldman
cf89a36181
chore: serialize circular objects ( #14045 )
2022-05-09 18:51:53 -07:00
Pavel Feldman
f0f65fa247
Revert "feat(chromium): roll to r1005 ( #13999 )"
...
This reverts commit 56b3bca8db .
2022-05-09 18:28:39 -07:00
Pavel Feldman
e55f7bd896
feat(bindings): best-effort serialize circular structures ( #14008 )
2022-05-09 15:07:04 -07:00
Dmitry Gozman
e8fb5a6337
fix(test runner): ensure that hooks run before fixtures teardown after timeout ( #14035 )
...
We had common cleanup exiting early after timeout, because we did not
reset the time slot.
2022-05-09 20:38:20 +01:00
Pavel Feldman
e9378ba5fc
chore: hide plugins again ( #14038 )
2022-05-09 10:06:13 -07:00
Max Schmitt
04fafcabd8
fix: leaking server side objects ( #13991 )
2022-05-09 17:34:00 +01:00
Pavel Feldman
46e82e8fea
feat(ct): only rebuild when necessary ( #14026 )
2022-05-09 09:10:47 -07:00
Andrey Lushnikov
5aa82dc5e4
chore: un-experiment expect(pageOrLocator).toHaveScreenshot() ( #14033 )
...
This patch un-experiments `expect(pageOrLocator).toHaveScreenshot()`
method.
Fixes #13526
2022-05-09 08:34:03 -07:00
github-actions[bot]
56b3bca8db
feat(chromium): roll to r1005 ( #13999 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-05-09 15:52:00 +01:00
Pavel Feldman
a052211dbf
chore: do not reset internal bindings for reuse ( #14019 )
2022-05-09 07:44:20 -07:00
Andrey Lushnikov
98945a81a8
feat: move toHaveScreenshot to use old snapshot paths by default ( #14006 )
...
Note: all toHaveScreenshot tests still use `__screenshots__` directory
for their expectations. One more test was added to make sure that
by default, `toHaveScreenshot` uses old snapshots.
2022-05-09 07:34:53 -07:00
github-actions[bot]
f4dc067a49
feat(chromium-tip-of-tree): roll to r1004 ( #13966 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-09 15:12:47 +01:00
Dmitry Gozman
6931d89eaf
feat(locators): rename locator.that to locator.filter ( #14025 )
2022-05-08 21:59:40 +01:00
Dmitry Gozman
64cd55089a
chore: role selectors non-experimental ( #14021 )
2022-05-08 11:07:01 +01:00
Dmitry Gozman
c3cf7ee4a7
feat(layout locators): remove maxDistance option ( #14013 )
2022-05-08 07:18:16 +01:00
Pavel Feldman
5c9e7f48e0
fix(debug): do not pause on internal calls, update ct docs ( #14018 )
2022-05-07 19:56:25 -07:00
Andrey Lushnikov
d711734d38
chore: cleanup stray "fonts" mention in the codebase ( #14016 )
...
This is a follow-up to #14004
2022-05-07 09:16:55 -07:00
Pavel Feldman
b8c4f426cc
chore: return source map from registry generator ( #14005 )
2022-05-06 18:29:49 -07:00
Andrey Lushnikov
5a5bb36d28
chore: nuke "fonts" screenshot option ( #14004 )
...
It was never released since it wasn't working as expected on WebKit WPE.
Fixes #12839
2022-05-06 17:54:17 -07:00
Pavel Feldman
dc36b0158a
chore: dedupe ct fixtures ( #14002 )
2022-05-06 14:53:38 -07:00
Pavel Feldman
1bbefce9af
Revert "chore: use plugins for component testing again ( #13977 )" ( #13998 )
...
This reverts commit a2f9f15e3e .
2022-05-06 12:02:07 -07:00
github-actions[bot]
a1cda41cfd
feat(webkit): roll to r1640 ( #13982 )
2022-05-06 11:06:47 -07:00
Pavel Feldman
f5e2171c80
chore: fix ct npm ignores
2022-05-05 17:42:01 -07:00
Pavel Feldman
43e7a2b91a
chore: bump ct deps
2022-05-05 17:37:57 -07:00
Pavel Feldman
a2f9f15e3e
chore: use plugins for component testing again ( #13977 )
2022-05-05 14:26:56 -07:00
Pavel Feldman
058f32caff
chore: fixtures-via-plugin implementation ( #13950 )
2022-05-05 10:14:00 -07:00
github-actions[bot]
88fd4a79a8
feat(webkit): roll to r1638 ( #13956 )
2022-05-05 08:41:02 -07:00
Andrey Lushnikov
bfafb2680d
fix: put browserVersion in the browsers.json ( #13946 )
...
This patch:
- adds `browserVersion` field to the `browsers.json`. This is
updated every time we roll browser.
- starts using `browserVersion` to display browser version that's
been downloaded.
The downloading output now looks like this:
```bash
Downloading Chromium 101.0.4951.41 (playwright build v1003) - 118.9 Mb [====================] 100% 0.0s
Chromium 101.0.4951.41 (playwright build v1003) downloaded to /Users/andreylushnikov/Library/Caches/ms-playwright/chromium-1003
Downloading FFMPEG playwright build v1007 - 1 Mb [====================] 100% 0.0s
FFMPEG playwright build v1007 downloaded to /Users/andreylushnikov/Library/Caches/ms-playwright/ffmpeg-1007
Downloading Firefox 99.0.1 (playwright build v1323) - 67.5 Mb [====================] 100% 0.0s
Firefox 99.0.1 (playwright build v1323) downloaded to /Users/andreylushnikov/Library/Caches/ms-playwright/firefox-1323
Downloading Webkit 15.4 (playwright build v1632) - 52.7 Mb [====================] 100% 0.0s
Webkit 15.4 (playwright build v1632) downloaded to /Users/andreylushnikov/Library/Caches/ms-playwright/webkit-1632
```
Fixes #13198
2022-05-05 04:17:13 -07:00
github-actions[bot]
969e6f2ada
feat(webkit): roll to r1637 ( #13916 )
2022-05-04 16:38:25 -07:00
Pavel Feldman
cfde11b6e2
docs: add a brief components doc ( #13944 )
2022-05-04 16:01:48 -07:00
Ross Wollman
95f7acf1e4
chore: widen Metadata type ( #13942 )
2022-05-04 13:16:11 -07:00
Dmitry Gozman
cf5101d44a
fix(networkidle): do not produce networkidle event on errored pages ( #13938 )
2022-05-04 20:52:50 +01:00
Yury Semikhatsky
a919414553
feat(chromium): roll tot, ignore unknown session error ( #13932 )
...
After https://chromium-review.googlesource.com/c/chromium/src/+/3606712 browser returns an error to messages addressed to unknown session id (previously such messages would never get a response).
#13637
2022-05-04 10:00:02 -07:00
Andrey Lushnikov
aaedf1c8ea
fix(testrunner): explicitly define viewport size fixture ( #13801 )
...
Instead of relying on library defaults, let's explicitly define
viewport size fixture so that users can rely on its existance.
2022-05-04 09:17:33 -07:00
Dmitry Gozman
cd53346594
fix(codegen): do not reset current source on every recorded action ( #13925 )
...
Currently, when I choose "Java" in the sources list and then
click on the page to generate the "click" action, sources reset
to "JavaScript". This is very inconvenient.
This changes the logic to only forcefully change files if either
old or new file is a user file, not a generated one.
Use cases considered:
- run `codegen`, click around, choose different language, click more;
- run script with inspector, pause, click "Record" and record an action;
- same as above, but then continue and see that user source is revealed.
2022-05-04 17:16:24 +01:00
Dmitry Gozman
9e0aa67d28
feat(codegen): brush up context options in pytest codegen ( #13924 )
2022-05-04 11:14:53 +01:00
Ronie Martinez
2c597f06bd
feat(codegen): pytest support in codegen ( #13746 )
...
feat(codegen): pytest support in codegen
2022-05-04 09:41:20 +01:00
Pavel Feldman
214117c9c5
clean: speed up ct ( #13915 )
2022-05-03 21:25:50 -07:00
Andrey Lushnikov
4b6f53461d
chore(components): lazily create root to mount components if needed ( #13778 )
2022-05-03 16:11:45 -07:00
Pavel Feldman
13224d1c9f
chore: restore component testing options ( #13910 )
2022-05-03 15:48:46 -07:00
Pavel Feldman
29fd1d86df
chore: hide plugins for now ( #13908 )
2022-05-03 14:25:56 -07:00
Dmitry Gozman
85b86e19b8
feat(expect): ensure it works in global setup ( #13896 )
2022-05-03 21:53:15 +01:00
Max Schmitt
b5183b4cf9
chore: make React selectors work on React 18 ( #13864 )
...
Fixes #13845
2022-05-03 13:46:52 -07:00
Pavel Feldman
19ce4e3514
chore: refactor web server plugin to extract legacy ( #13904 )
2022-05-03 11:47:37 -07:00
github-actions[bot]
029aff16e4
feat(firefox): roll to r1323 ( #13897 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-03 09:14:20 -07:00
Dmitry Gozman
ef32069299
chore: small test runner changes in preparation of global fixtures ( #13899 )
...
The main change is splitting up options from the config from other
fixtures to ensure unique location for them.
2022-05-03 15:19:27 +01:00
Dmitry Gozman
4f5fbea26f
chore: get rid of ProjectImpl ( #13894 )
2022-05-03 13:36:24 +01:00
Dmitry Gozman
54dd6d01e5
feat(locator): layout options (leftOf, rightOf, above, below, near) ( #13821 )
...
This also includes corresponding selector engines `left-of` and others,
modeled after existing `has` selector engine.
2022-05-03 10:33:33 +01:00
Ross Wollman
3b3cad7d69
feat: rewrite gitCommitInfo plugin, drop GlobalInfo & attachments ( #13837 )
2022-05-02 16:28:14 -07:00
Yury Semikhatsky
ed344a882b
fix: delete headers with undefined value ( #13880 )
2022-05-02 12:38:57 -07:00
Andrey Lushnikov
bd2a2873b7
chore: unexperiment role selectors ( #13858 )
2022-05-02 09:32:50 -07:00
Dmitry Gozman
d87de8c52c
fix(test runner): restore --headed flag ( #13872 )
2022-05-02 16:55:14 +01:00
Pavel Feldman
a1b10c3856
chore: try serializing the config instead of requiring it in the worker ( #13839 )
2022-04-29 16:05:08 -07:00
Yury Semikhatsky
4b682f9f13
fix(chromium): disable DialMediaRouteProvider in addition to MediaRouter ( #13854 )
2022-04-29 14:29:31 -07:00
Pavel Feldman
46acf84c68
chore: pass config w/ cli overrides to plugins ( #13835 )
2022-04-29 13:32:39 -07:00
Dmitry Gozman
dc3f2d26c4
docs: add details to the element screenshot methods ( #13847 )
2022-04-29 17:36:09 +01:00
Pavel Feldman
18bff137ce
chore: remove default config from cli ( #13832 )
2022-04-28 16:49:36 -07:00
Ross Wollman
4984878411
fix: await plugin.configure ( #13834 )
2022-04-28 16:22:20 -07:00
Ross Wollman
f486ce8c06
feat(plugins): add webServer implementation ( #13779 )
2022-04-28 15:08:10 -07:00
Ross Wollman
45972a0b6a
feat: add name for plugins ( #13826 )
...
Useful for debugging and eventually for reporters to give status updates on which phase of which plugin they are currently running.
2022-04-28 11:43:39 -07:00
Andrey Lushnikov
a06b06b82b
fix: typo in the missing X Display error message ( #13810 )
2022-04-28 08:35:01 -07:00
Pavel Feldman
e756528ad2
feat(plugins): expose suite to plugin setup ( #13807 )
2022-04-28 08:16:17 -07:00
Dmitry Gozman
b9f47558b5
feat(reporters): show failures on CI when adding dot automatically ( #13814 )
2022-04-28 12:29:21 +01:00
Pavel Feldman
a01b65bedd
chore: drop the legacy global setup mode ( #13803 )
2022-04-27 18:01:37 -07:00
Dmitry Gozman
38fdc5fe24
fix(selectors): refactor chaining logic ( #13764 )
...
This fixes a few issues:
- strict mode was producing false negatives if multiple query paths
lead to the same element being picked;
- in some cases the number of intermediate items in the list was
exponential and crashed quickly.
What changed:
- `visible` engine is a real engine now;
- `capture` selectors are transformed to `has=` selectors for
easier implementation;
- chained querying switched from a list to a set to avoid
exponential size.
2022-04-27 20:51:57 +01:00
Dmitry Gozman
3aba94dbef
chore: remove unnecessary types from overrides-test ( #13794 )
2022-04-27 16:14:37 +01:00
github-actions[bot]
d97324e2bd
feat(firefox-beta): roll to r1323 ( #13777 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-04-27 07:24:07 -07:00
Max Schmitt
a0c24c01c8
chore: fix docs links for .NET roll ( #13787 )
2022-04-27 16:06:30 +02:00
Dmitry Gozman
dab2384b0e
fix(process launcher): use spawnSync to cleanup synchronously ( #13769 )
...
This allows us to use the full retry logic of rimraf in the `onexit` handler.
Note this is already covered by failing on Windows test
`should remove temp dir on process.exit`.
2022-04-27 15:01:30 +01:00
Pavel Feldman
bc6f8e1f20
feat(poll): expose custom poll interval ( #13776 )
2022-04-26 21:32:38 -07:00
Pavel Feldman
2bc36794d1
chore: vite all frameworks ( #13780 )
2022-04-26 16:15:08 -07:00
Dmitry Gozman
c0f0979055
fix(frames): networkidle for iframes with quirky urls ( #13767 )
2022-04-26 17:13:45 +01:00
Max Schmitt
37bee74ae5
chore: set minimum version to Node.js 14 ( #13469 )
2022-04-26 17:52:32 +02:00
Dmitry Gozman
39cfa2b6e3
test: switch temp dir tests to use userDataDir ( #13745 )
2022-04-26 09:32:58 +01:00
Pavel Feldman
02cb987ddb
chore: bump ct versions ( #13749 )
2022-04-25 22:10:17 -07:00
Dmitry Gozman
97750ccf9a
feat: locator.that ( #13731 )
...
Filters existing locator by options, currently `has` and `hasText`.
2022-04-25 20:06:18 +01:00
Yury Semikhatsky
aab1a746d3
fix: join individual css selectors by > in cssFallback ( #13712 )
2022-04-25 11:11:24 -07:00
Pavel Feldman
5e51c17d41
chore: use plugin story for components ( #13717 )
2022-04-25 10:40:58 -07:00
Yury Semikhatsky
2e6ef8f622
fix(runner): fail if worker cannot find some of the tests ( #13666 )
2022-04-25 09:05:40 -07:00
Dmitry Gozman
8e5854033a
fix: types generation for attach and GlobalInfo ( #13727 )
2022-04-25 13:56:37 +01:00
Dmitry Gozman
d2bdb1d7cf
docs: explain label retargeting in selectors doc and some input actions ( #13725 )
2022-04-25 13:55:41 +01:00
Dmitry Gozman
01a8977b4d
feat: make scrollIntoView work with zero-sized elements ( #13702 )
...
We skip waiting for "visible" state that enforces non-zero size.
Other invisible conditions like "display:none" fail during the
actual "scrolling" step and will retry.
2022-04-23 21:48:36 +01:00
Max Schmitt
39525878ab
chore: show small progress bar in downloader without tty ( #13690 )
2022-04-22 19:55:43 +02:00
Andrey Lushnikov
317b649f78
feat: support tip-of-tree chromium channel ( #13701 )
2022-04-22 09:43:57 -07:00
Ross Wollman
3eac9c694c
fix(test-runner): mark attach as async ( #13687 )
...
Also brings back generation of experimental types as part of lint.
2022-04-22 09:27:02 -07:00
Max Schmitt
ca4cfca8ad
chore: make tests pass on Node.js 17+ ( #13678 )
2022-04-22 13:42:52 +02:00
Pavel Feldman
3d4caab153
chore: move playwright gallery into a subfolder ( #13695 )
2022-04-21 21:07:43 -07:00
Yury Semikhatsky
801dbe0699
fix(oopif): dispose child sessions when frame session is disposed ( #13693 )
2022-04-21 18:32:56 -07:00
Pavel Feldman
5990eb6074
chore: use vite plugin for registry ( #13658 )
2022-04-21 17:30:17 -07:00
Pavel Feldman
89b8fdd4e5
fix(tracing): do not reset frame counter on every chunk ( #13689 )
2022-04-21 15:40:30 -07:00
github-actions[bot]
5753f7a7fa
feat(chromium): roll to r1003 ( #13680 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-04-21 22:22:15 +02:00
Max Schmitt
4a3180aca9
chore: make Android host option configurable ( #13685 )
2022-04-21 22:16:42 +02:00
github-actions[bot]
c551284498
feat(webkit): roll to r1632 ( #13670 )
2022-04-21 09:47:22 -07:00
Max Schmitt
c397daeb07
chore: language agnostic browsers missing error message ( #13650 )
2022-04-20 12:02:28 -07:00
Max Schmitt
7151284147
chore(html-reporter): missing space between git date and time ( #13656 )
2022-04-20 18:10:55 +02:00
Pavel Feldman
06645b0a1f
chore: fix the android ws sender/receiver ( #13641 )
2022-04-19 13:28:05 -07:00
Yury Semikhatsky
0a401b2d86
docs: clarify semantics of redirected response ( #13636 )
2022-04-19 09:36:38 -07:00
Pavel Feldman
207c3c7abc
fix: dep bring back core dependency ( #13632 )
2022-04-19 08:31:31 -07:00
Andrey Lushnikov
88a9262dbb
fix: resolve WebServer cwd dir wrt configDir ( #13626 )
...
Drive-by: speed-up webserver tests by not waiting 750ms to start it.
Fixes #13115
2022-04-19 07:45:36 -07:00
Andrey Lushnikov
a617604962
test: make sure toHaveScreenshot doesn't tolerate bad option values ( #13627 )
...
Fixes #13495
2022-04-19 07:43:18 -07:00
Andrey Lushnikov
8a24c95e08
chore: introduce experimental VRT rebaseline workflow ( #13560 )
2022-04-19 07:05:43 -07:00
Andrey Lushnikov
80bc532874
fix: support undo/redo editing commands ( #13606 )
...
Fixes #13601
2022-04-18 22:22:52 -07:00
Pavel Feldman
3c896f6bc5
fix(tests): installation tests ( #13623 )
2022-04-18 22:17:56 -07:00
Pavel Feldman
007e908cd9
chore: bundle pwt deps ( #13622 )
2022-04-18 21:47:18 -07:00
Pavel Feldman
7989427ea6
chore: bundle core deps ( #13621 )
2022-04-18 20:20:49 -07:00
github-actions[bot]
41db08eca5
feat(webkit): roll to r1631 ( #13612 )
2022-04-18 18:48:43 -07:00
Pavel Feldman
63ea81ec54
chore: make bundles typed ( #13620 )
2022-04-18 17:50:25 -07:00
Yury Semikhatsky
ed0dcdabc9
docs: clarify toBeDisabled behavior ( #13616 )
2022-04-18 17:06:01 -07:00
Pavel Feldman
58d79e5e4d
chore: add core utils bundle ( #13615 )
2022-04-18 13:47:23 -07:00
Pavel Feldman
4f0103fef0
chore: babel, expect, zip bundles ( #13588 )
2022-04-18 11:31:58 -07:00
Pavel Feldman
eafb92f6a3
chore: embed expect types ( #13609 )
2022-04-18 10:54:40 -07:00
Ross Wollman
71fbd2454e
fix(test-runner): avoid premature stop of worker in fullyParallel ( #13584 )
...
Prior to this change, we were pre-maturely stopping a worker (since it
was deemed redundant under a race condition), and then we immediately
created a new worker with the same hash to finish off the test run. The
worker creation is expensive, so this slowed down the overall test run
time.
See the following for logs of the old code illustrating the extra stops and starts: https://gist.github.com/rwoll/1c592ed9e8f9169274fa972674de6703
2022-04-17 16:22:57 -07:00
Pavel Feldman
5f843c347d
chore: bundle pixelmatch, it has not changed for 2 years ( #13585 )
2022-04-15 16:58:31 -07:00
Yury Semikhatsky
7ffce1da53
chore: remove PlaywrightClient and Docker factory ( #13571 )
2022-04-15 12:11:38 -07:00
Dmitry Gozman
02aa4fe617
chore: generate types for TestProject/TestConfig ( #13574 )
2022-04-15 10:27:38 -07:00
Pavel Feldman
09754100aa
chore: bump ct versions
2022-04-15 09:22:53 -07:00
Dmitry Gozman
189a5fa0f8
chore: freez FullProject public type ( #13570 )
...
This is similar to FullConfig.
Properties `expect` and `fullyParallel` are not exposed.
2022-04-14 16:58:01 -07:00
Yury Semikhatsky
aee6ba299a
chore: remove GridClient, run only page tests in service mode ( #13566 )
2022-04-14 15:30:04 -07:00
Wojciech Jureczka
7ba527c65f
chore: expose JSON Reporter types ( #13241 )
...
Resolves #13208
2022-04-14 13:55:29 -07:00
Dmitry Gozman
c86c2e8762
feat: restore toHaveScreenshot as experimental feature ( #13549 )
...
- Restore docs.
- Make `TestConfig.expect` generated.
- Allow experimental properties with "e" marker: `- foo e<float>`.
2022-04-14 13:22:42 -07:00
Ross Wollman
11179982fc
chore: force localPaths to be resolved ( #13544 )
2022-04-14 11:19:36 -07:00
github-actions[bot]
a29a986d67
feat(chromium): roll to r1002 ( #13554 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-04-14 14:51:03 +02:00
Max Schmitt
584140f97a
fix: make fetch api work with connectOverCDP ( #13521 )
2022-04-14 12:53:49 +02:00
Dmitry Gozman
20dcc45afa
feat: support experimental doc entries ( #13446 )
...
feat: support experimental doc entries
- Params/options/members are marked as experimental in the docs.
- `experimental.d.ts` is generated that contains all types and
includes experimental features.
- `experimental.d.ts` is references in our tests so that we
can test experimental features.
- `fonts` option is restored as experimental.
2022-04-13 16:13:30 -07:00
Dmitry Gozman
166675b9c1
feat(test): more information about timing out fixtures ( #13546 )
...
- Always show a fixture that was running during timeout.
- Give custom titles to built-in fixtures.
- Specify setup/teardown fixture phase in the message.
- Split connect vs launch browser fixtures for better naming.
Example timeout message:
```log
Timeout of 2000ms exceeded while running fixture "built-in playwright configuration" teardown.
```
2022-04-13 15:13:31 -07:00
Yury Semikhatsky
e2fff31848
chore: send run_id from agent to server ( #13542 )
2022-04-13 12:13:35 -07:00
Yury Semikhatsky
00199b5617
chore: add link to workflow ( #13541 )
2022-04-13 11:56:00 -07:00
Andrey Lushnikov
269716d7d7
revert( #12877 ): chore: print error if install-deps is used != ubuntu ( #13536 )
...
Reason: turns out Debian Buster requires just one source list to
install `ttf-ubuntu-font-family` font.
All other dependencies are satisfied.
Fixes #13530
2022-04-13 11:03:28 -07:00
Yury Semikhatsky
9b8aceaa61
feat: support os parameter ( #13511 )
2022-04-12 22:20:48 -07:00
Dmitry Gozman
7a5b070e95
fix(type): focus switch between contenteditables in shadow dom ( #13510 )
...
Firefox has a bug: calling `node.focus()` does make the node focused,
but some internal "current contenteditable node" is not changed.
Blurring the previous one and focusing the new one helps.
2022-04-12 16:44:27 -07:00
Yury Semikhatsky
ae4d2e75aa
chore: adjust gha agent params ( #13509 )
2022-04-12 13:39:08 -07:00
Max Schmitt
95d4041b8b
chore: fix mark-docker-image CLI command ( #13499 )
2022-04-12 10:10:34 -07:00
Andrey Lushnikov
0f6638190e
fix: do not require --force flag when installing channel on CI ( #13487 )
2022-04-11 13:42:21 -07:00
Dmitry Gozman
1e1df6395f
chore: generate expect types ( #13439 )
2022-04-11 10:42:19 -07:00
github-actions[bot]
d90d2a6c0e
feat(webkit): roll to r1630 ( #13443 )
2022-04-11 08:54:30 -07:00
Dmitry Gozman
f6ccd4847e
fix(test runner): default workerIndex to -1 ( #13440 )
2022-04-08 15:23:23 -07:00
Yury Semikhatsky
9712b9ee08
fix: match against secure path ( #13442 )
2022-04-08 14:57:43 -07:00
Yury Semikhatsky
212c665152
fix: pass full grid url to agent ( #13438 )
2022-04-08 14:15:38 -07:00
Dmitry Gozman
916dd1e698
feat(remote): handle timeout manually in browser fixture ( #13406 )
...
To make launch/connect not affect the test timeout:
- `browser` fixture is declared with `timeout: 0`.
- Default timeouts are set to 30sec for launch and 3min for connect.
2022-04-08 13:39:12 -07:00
Ross Wollman
1af32e400f
feat(test-runner): introduce GlobalInfo ( #13083 )
2022-04-08 13:22:14 -07:00
Pavel Feldman
f0156d057e
chore: flatten supplements ( #13437 )
2022-04-08 12:52:40 -07:00
kaivean
d65263f151
feat(android): allow getting webviews by socket name ( #13248 )
2022-04-08 20:52:16 +02:00
github-actions[bot]
d91349f22a
feat(webkit): roll to r1629 ( #13407 )
2022-04-08 11:50:53 -07:00
Ross Wollman
db7bd8ebd2
chore: don't auto-install browsers if global install ( #13299 )
2022-04-08 10:46:24 -07:00
github-actions[bot]
e72975d9c6
feat(chromium): roll to r1001 ( #13424 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-04-08 18:39:42 +02:00
Dmitry Gozman
dfb1584703
chore: remove MEMUSAGE workaround on Windows ( #13408 )
...
This was introduced in #7500 to fight `ERROR: The process "4436" not found.`
messages when killing a process that did already exit.
Since then, we no longer inherit stdout/stderr, so the error message
should not appear anymore.
2022-04-08 09:37:51 -07:00
Pavel Feldman
845e32cbb8
chore: use utils via index export (6) ( #13417 )
2022-04-07 21:48:41 -07:00
Pavel Feldman
e79b90f454
chore: use utils via index export (5) ( #13413 )
2022-04-07 20:18:22 -07:00
Dmitry Gozman
155bb7fcae
fix: wait for cleanup on double SIGINT ( #13411 )
...
This is a speculative fix to leftover tmp directories.
When users issues SIGINT twice, we enter `gracefullyClose()`
twice, and shortcut the second time. It turns out, we do
not wait for directories removal.
Note: it is unknown how often we reach this codepath in practice.
2022-04-07 19:20:54 -07:00
Dmitry Gozman
cef476b89f
docs: support optional methods ( #13415 )
...
So far, these are used in `Reporter`.
2022-04-07 18:51:05 -07:00
Andrey Lushnikov
91333daf09
chore: cut v1.21.0 ( #13405 )
2022-04-07 18:16:22 -07:00
Yury Semikhatsky
f803a929e4
feat: pass server address as argument ( #13412 )
2022-04-07 17:22:52 -07:00
Pavel Feldman
a3c02222bf
chore: use utils via index export (4) ( #13404 )
2022-04-07 14:36:13 -07:00
Pavel Feldman
40d5e3a3c9
chore: use utils via index export (3) ( #13403 )
2022-04-07 13:55:44 -07:00
Max Schmitt
5536e64538
feat(test-runner): support filtering by columns ( #13401 )
2022-04-07 22:45:45 +02:00
Pavel Feldman
6c1fa62000
chore: use utils via index export (2) ( #13399 )
2022-04-07 13:28:30 -07:00
Pavel Feldman
dbafe3bb4e
chore: use utils via index export (1) ( #13398 )
2022-04-07 13:26:50 -07:00
Dmitry Gozman
b7116906fc
feat(remote): support headless/x-playwright-headless ( #13391 )
...
This only applies when remote launches the browser.
2022-04-07 10:19:56 -07:00
Steve Zhang
de518338ce
docs: fix class-coverage snippet for v8toIstanbul ( #13371 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-04-07 18:34:45 +02:00
Pavel Feldman
90d5990e75
chore: fix installation scripts ( #13376 )
2022-04-06 23:09:10 -07:00
Pavel Feldman
bde7bf4ea9
chore: move registry & dispatchers to under server ( #13370 )
2022-04-06 22:21:27 -07:00
Yury Semikhatsky
32d30ae71d
chore: fix assert imports ( #13359 )
2022-04-06 21:30:48 -07:00
Dmitry Gozman
c68f57d2d0
docs: mark optional properties/arguments explicitly with "?" ( #13369 )
...
Previously, we were guessing whether something is optional from the
comment (looking for stuff like "defaults to" or "optional").
To remove this error-prone technique, every optional property or
argument (but not option) is explicitly marked with "?".
2022-04-06 19:02:10 -07:00
Yury Semikhatsky
fccc14cdfa
feat: github agent, browser worker ( #13336 )
2022-04-06 18:03:27 -07:00
Pavel Feldman
c80365dd43
chore: distill deps after import types update ( #13367 )
2022-04-06 15:41:08 -07:00
Pavel Feldman
5ae2017a5b
chore: always import type ( #13365 )
2022-04-06 14:57:14 -07:00
Pavel Feldman
1c3db811f5
chore: move to folder-based deps lists ( #13361 )
2022-04-06 14:40:19 -07:00
Ivan Kaliada
424de6c38f
fix: resolve ts compilerOptions.paths with prefixes and suffixes ( #13105 )
2022-04-06 14:14:03 -07:00
Dmitry Gozman
4123a55be5
chore: generate more types ( #13358 )
...
As a result, fix documentation issues:
- Removed `TestStep.data` that is not a thing.
- Added `TestConfig.name` documentation.
- Refined a lot of optional types in the documentation.
- Aligned `test.fail()` and `test.slow()` docs with `test.skip()`.
- Strict set of docs vs types inconsistensies in the generator
2022-04-06 13:36:20 -07:00
Akul Srivastava
d9d826b7f6
docs: fixes typo ( #13094 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-04-06 12:00:51 +02:00
Dmitry Gozman
faaac318f4
chore: remove elementsFromPoint workaround ( #13184 )
...
The issue was fixed upstream in r982637.
2022-04-05 19:37:07 -07:00
Pavel Feldman
f3bd910820
chore(test-runner): rewrite poll, soft, wrap ( #13335 )
2022-04-05 17:47:35 -07:00
Dmitry Gozman
4bb563b015
fix(expect): proper return types ( #13334 )
...
A few changes:
- `Matchers<R, T>` now carries both return and argument type.
- Based on the argument type, we apply playwright-specific Page/Locator matchers.
- Return type is usually void, unless wrapped with `expect.resolves`,
`expect.rejects` or `expect.poll()`.
- To preserve compatibility with any extended types in the wild,
argument type is optional.
2022-04-05 16:11:11 -07:00
Pavel Feldman
6ca58e18cb
fix(electron): better support for custom schemas ( #13329 )
2022-04-05 16:10:12 -07:00
github-actions[bot]
67989e01d1
feat(webkit): roll to r1625 ( #13333 )
2022-04-05 15:34:59 -07:00
Yury Semikhatsky
cdef8171c1
chore: extract remote connection to a separate file ( #13331 )
2022-04-05 14:47:11 -07:00
github-actions[bot]
67c251f483
feat(chromium): roll to r1000 ( #13327 )
...
References #13198
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-04-05 11:05:01 -07:00
Max Schmitt
844ecbe2eb
chore: better Electron error message when no executable path is given ( #13318 )
2022-04-05 18:45:21 +02:00
Dmitry Gozman
e31a5b690a
chore: unrelease toHaveScreenshot and screenshotsDir ( #13304 )
2022-04-05 08:34:51 -07:00
Pavel Feldman
a2f94f6336
fix: trace viewer pwa should have no base ( #13308 )
2022-04-04 21:53:19 -07:00
Pavel Feldman
23d9dbc011
chore: rewrite non-web protocol for Electron tracing ( #13305 )
2022-04-04 20:56:04 -07:00
Dmitry Gozman
a71c151438
chore: introduce FullProjectInternal ( #13301 )
...
This is similar to FullConfigInternal to put private stuff on.
2022-04-04 16:07:04 -07:00
Dmitry Gozman
a09b8dfa36
chore: unrelease 'fonts' screenshot option ( #13300 )
2022-04-04 14:51:11 -07:00
Thomas Scholtes
3e65ef35cf
fix: wait for worker to be ready before initializing ( #13270 )
...
fix: wait for worker to be ready before initializing
The test dispatcher waits until a worker is ready before sending the
`init` message. This guarantees that the worker process is listening for the
message. Otherwise, the worker process might miss the `init` message and
the subsequent `run` message would crash the worker.
2022-04-04 13:56:57 -07:00
Dmitry Gozman
4e1fb1728f
docs: small clarifications to hasText and has-text ( #13298 )
2022-04-04 13:18:03 -07:00
Pavel Feldman
1bebc28aed
chore: reset page/context for reuse in component tests ( #13264 )
2022-04-04 12:39:43 -07:00
Pavel Feldman
8232497c88
feat(electron): expose app process(), detach on exit ( #13280 )
2022-04-04 11:50:46 -07:00
Ross Wollman
42798b5857
chore: warn against using globally scoped install ( #13196 )
2022-04-03 20:26:23 -07:00
Pavel Feldman
b0103566c9
fix(addInitScript): tolerate trailing comments ( #13275 )
2022-04-03 18:47:12 -07:00
Pavel Feldman
bcb12fcf7f
chore: mark public methods on server as such ( #13271 )
2022-04-02 19:02:27 -07:00
kaivean
5d2e8918d8
feat(android): add androidDevice.options.omitDriverInstall ( #13249 )
2022-04-02 16:00:38 -07:00
Dmitry Gozman
f6936c0461
chore: move private fields to FullConfigInternal ( #13261 )
2022-04-01 18:32:34 -07:00
Pavel Feldman
66cf82766e
test(html-reporter): add image diff tests ( #13262 )
2022-04-01 18:11:15 -07:00
Pavel Feldman
55ee41c848
feat(html): render image diff slider ( #13257 )
2022-04-01 15:27:51 -07:00
Ross Wollman
12abae7f31
feat(test-runner): friendly expect errors for typos ( #13229 )
...
If you typo'd an `expect` property, you got a cryptic error message:
```
Uncaught TypeError: Cannot create proxy with a non-object as target or handler
```
Now we get this nice friendly message:
```
1) a.spec.ts:6:9 › explodes ======================================================================
Error: expect: Property 'toBeLessThen' not found.
Did you mean 'toBeLessThan'?
See https://playwright.dev/docs/test-assertions for available options and documentation.
5 | const { test } = pwt;
6 | test('explodes', () => {
> 7 | expect.soft(1).toBeLessThen();
| ^
8 | });
9 |
```
Fixes #13218
2022-04-01 13:38:22 -07:00
Pavel Feldman
c262a80762
chore: extract image diff component ( #13221 )
2022-04-01 12:53:56 -07:00
Ross Wollman
16efbdef98
chore: remove/rename FullConfig._attachments ( #13233 )
...
This was originally introduced in #12734 .
It will be replaced with GlobalInfo (#13083 ), but not before the 1.21
release.
2022-04-01 12:36:05 -07:00
Dmitry Gozman
a200fe3528
feat(screenshot): rename "size" option to "scale" ( #13254 )
...
Drive-by: fix `caret` handling in `toHaveScreenshot`.
2022-04-01 12:28:40 -07:00
liuxingbaoyu
2eb1c8bc42
fix(show-trace): traceModel was removed by mistake ( #12968 )
2022-04-01 12:20:05 -07:00
Dmitry Gozman
356fc35b85
feat(role selector): allow unquoted name attribute ( #13224 )
...
- This supports `role=button[name=Hello]` similarly to CSS selectors.
- Does not change `_react` or `_vue` behavior that insist on quoting the string.
- Uses CSS notion of "identifier" characters.
2022-04-01 10:08:02 -07:00
Andrey Lushnikov
a87794dae6
fix: demand --force to re-install stable browser channels ( #13200 )
...
This patch will check if browser channel is already installed.
If it is, it'll abort installation with the following error:
```
aslushnikov:~/prog/playwright$ npx playwright install msedge
Failed to install browsers
Error:
╔═════════════════════════════════════════════════════════════════╗
║ ATTENTION: "msedge" is already installed on the system! ║
║ ║
║ "msedge" installation is not hermetic; installing newer version ║
║ requires *removal* of a current installation first. ║
║ ║
║ To *uninstall* current version and re-install latest "msedge": ║
║ ║
║ - Close all running instances of "msedge", if any ║
║ - Use "--force" to install browser: ║
║ ║
║ npx playwright install --force msedge ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════╝
```
To re-install browser channel, use `--force`.
Fixes https://github.com/microsoft/playwright/issues/13061
2022-04-01 10:05:53 -07:00
Yury Semikhatsky
7d7fe3c618
fix(route): remove cors option, compare origin ( #13231 )
2022-03-31 19:21:21 -07:00
Dmitry Gozman
9fc95dda84
fix(screenshot): do not stall on hideHiglight attempt 2 ( #13222 )
...
It turns out that "non stalling evaluate" can stall in Chromium
in some weird conditions, like `document.open` after some weird
`iframe.src` value.
We now only hide highlight in those frames where we did install
highlight in the first place.
2022-03-31 15:33:29 -07:00
Pavel Feldman
6a463195c4
chore: allow multiple image diffs ( #13202 )
2022-03-31 14:11:34 -07:00
Dmitry Gozman
e5182259b1
feat(role selector): docs and minor fixes ( #13203 )
...
- Added docs to `selectors.md`.
- `[pressed]` and `[checked]` do not match `"mixed"` states.
- Disallow `[name]` shorthand without a value.
- Renamed `includeHidden` to `include-hidden`.
2022-03-31 13:06:39 -07:00
Pavel Feldman
b2c863f6a3
fix(tracing): account for screencast timestamps when computing timeline boundary of empty trace ( #13214 )
2022-03-31 09:45:45 -07:00
github-actions[bot]
28234b6540
feat(webkit): roll to r1623 ( #13195 )
2022-03-31 07:40:08 -07:00
Pavel Feldman
923f74c5a6
chore: allow matchers decorate step title ( #13199 )
2022-03-30 21:52:00 -07:00
Dmitry Gozman
ecc804d808
chore: prepare types to stricter checks in TS 4.7.0 ( #13193 )
2022-03-30 20:33:36 -07:00
Pavel Feldman
42f260c688
chore: prepare image diff for refactornig ( #13197 )
2022-03-30 17:42:08 -07:00
github-actions[bot]
6157c3e743
feat(webkit): roll to r1622 ( #13187 )
2022-03-30 15:39:14 -07:00
Yury Semikhatsky
c200321402
fix: export request from index.jsm ( #13158 )
2022-03-30 09:35:47 -07:00
Dmitry Gozman
a8d4a8aa52
fix(text selector): ignore non-leading quote when parsing ( #13170 )
...
Previously, any unpaired quote in the text selector "escaped"
everything till the end of the selector string, and so any
subsequent chained selectors, including ">>" separator were ignored.
An example of misbehaving selector: `text=19" >> nth=1`.
Now, when text selector contains a non-leading quote, selector parser
does not assume it should escape ">>" separator and correctly
tokenizes all selectors from the chain.
Note that this behavior is a workaround for the fact that our
text selectors is somewhat poorly defined in this area. That said,
this workaround seems to be safe enough. It still does not work for
unpaired leading quotes like this: `text="19 >> nth=1`.
2022-03-30 09:33:32 -07:00
Ross Wollman
2932da33f2
chore(html-reporter): remove no-longer-needed code ( #13167 )
2022-03-29 21:08:10 -07:00
Pavel Feldman
5e30375c8c
test(components): add more tests ( #13168 )
2022-03-29 21:06:11 -07:00
Pavel Feldman
81e7c0a77c
chore(html-report): render metainfo as a chip ( #13166 )
2022-03-29 18:13:08 -07:00
Andrey Lushnikov
a9989852d5
feat(vrt): new option "caret" for taking screenshots ( #13164 )
...
This has two values:
- `"hide"` to hide input caret for taking screenshot
- `"initial"` to keep caret behavior unchanged
Defaults to `"hide"`.
Fixes #12643
2022-03-29 17:48:13 -07:00
Pavel Feldman
5e17ed137b
fix(html-report): only invoke git once ( #13165 )
2022-03-29 15:49:58 -07:00
Dmitry Gozman
eb09306db2
feat(connect): add connectOptions.timeout ( #13163 )
2022-03-29 15:03:43 -07:00
Andrey Lushnikov
aa1daeba85
fix(html): put HTML report next to package.json by default ( #13141 )
...
Fixes #12970
2022-03-29 14:19:31 -07:00
Pavel Feldman
bd6e88b8be
test: start adding component tests ( #13159 )
2022-03-29 13:27:37 -07:00
Pavel Feldman
5575476697
chore: make webserver try index.html for / ( #13155 )
2022-03-29 12:19:56 -07:00
Dmitry Gozman
6b48631eed
feat(role): add more tests for accessible name ( #13154 )
2022-03-29 11:59:44 -07:00
github-actions[bot]
54f6e5db19
feat(firefox): roll to r1322 ( #13150 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-29 11:28:20 -07:00
github-actions[bot]
29e0525926
feat(firefox-beta): roll to r1321 ( #13142 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-29 01:16:25 -07:00
Pavel Feldman
1961959dcb
chore: migrate injected scripts to esbuild ( #13143 )
2022-03-28 23:10:17 -07:00
Dmitry Gozman
de0af27837
feat(test runner): show last tests in the worker on teardown error ( #13139 )
2022-03-28 19:58:24 -07:00
Pavel Feldman
8758cf8cbf
chore: migrate html reporter to vite ( #13116 )
2022-03-28 18:21:19 -07:00
Dmitry Gozman
d59c2b996f
fix(parallel): minimize the number of beforeAll/afterAll hooks in parallel mode ( #13138 )
...
Previously, we always formed groups consisting of a single test.
Now, we group tests that share `beforeAll`/`afterAll` hooks into
`config.workers` equally-sized groups.
2022-03-28 16:10:32 -07:00
Ross Wollman
ae365dda3b
chore: remove internal dep on FullConfig ( #13074 )
...
Resolves #13058 .
This blocks adding #8206 since we don't want the new launch configs
publicly available on FullConfig.
2022-03-28 15:53:42 -07:00
Dmitry Gozman
01a39e5b4c
test(role): add tests for implicit role calculation ( #13132 )
2022-03-28 15:22:50 -07:00
Philip Sanetra
be41c4a35d
fix(registry): Fix support for generic-linux ( #13129 )
...
Fixes https://github.com/microsoft/playwright/issues/13128
2022-03-28 14:50:56 -07:00
Dmitry Gozman
9420a53939
fix(esm): make sure import from './foo.js' is supported ( #13137 )
...
Drive-by: migrate all @esm tests to esm.spec.ts.
2022-03-28 14:37:46 -07:00
Dmitry Gozman
8c19f71c36
feat(selectors): role selector engine ( #12999 )
...
This introduces `role=button[name="Click me"][pressed]` attribute-style
role selector. It is only available under `env.PLAYWRIGHT_EXPERIMENTAL_FEATURES`.
Supported attributes:
- `role` is required, for example `role=button`;
- `name` is accessible name, supports matching operators and regular expressions:
`role=button[name=/Click(me)?/]`;
- `checked` boolean/mixed, for example `role=checkbox[checked=false]`;
- `selected` boolean, for example `role=option[selected]`;
- `expanded` boolean, for example `role=button[expanded=true]`;
- `disabled` boolean, for example `role=button[disabled]`;
- `level` number, for example `role=heading[level=3]`;
- `pressed` boolean/mixed, for example `role=button[pressed="mixed"]`;
- `includeHidden` - by default, only non-hidden elements are considered.
Passing `role=button[includeHidden]` matches hidden elements as well.
2022-03-28 09:24:58 -07:00
Yury Semikhatsky
5734c18ef8
feat(route): add cors header in route.fulfill ( #12943 )
2022-03-25 14:56:57 -07:00
Andrey Lushnikov
4ab4c0bda1
feat: detect docker version and Playwright version mismatch ( #12806 )
...
This patch prints a friendly instructions in case Docker image version
mismatches Playwright version and there are missing browser
dependencies.
With this patch, Playwright will yield the following error:
```
root@f0774d2b2097:~# node a.mjs
node:internal/process/promises:279
triggerUncaughtException(err, true /* fromPromise */);
^
browserType.launch:
╔════════════════════════════════════════════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ This is most likely due to docker image version not matching Playwright version: ║
║ - Playwright: 1.22.0 ║
║ - Docker: 1.21.0 ║
║ ║
║ Either: ║
║ - (recommended) use docker image "mcr.microsoft.com/playwright:v1.22.0-focal" ║
║ - (alternative 1) run the following command inside docker to install missing dependencies: ║
║ ║
║ npx playwright install-deps ║
║ ║
║ - (alternative 2) use Aptitude inside docker: ║
║ ║
║ apt-get install libgbm1 ║
║ ║
║ <3 Playwright Team ║
╚════════════════════════════════════════════════════════════════════════════════════════════╝
at file:///root/a.mjs:3:10 {
name: 'Error'
}```
Fixes #12796
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2022-03-25 14:45:53 -07:00
Pavel Feldman
6b81e76c2b
chore: migrate trace-viewer and recorder to vite ( #13076 )
2022-03-25 14:12:00 -07:00
Yury Semikhatsky
97e8ead57c
feat: large files upload in ff and wk ( #12937 )
2022-03-25 13:26:12 -07:00
Max Schmitt
c8cc62a2e6
chore: add link validation for docs ( #13047 )
2022-03-25 19:30:45 +01:00
Pavel Feldman
3f1cb7b8e6
chore: only restart esm on Node 16+ ( #12955 )
2022-03-25 08:44:42 -07:00
Pavel Feldman
81d412216a
fix: list files when config writes to output ( #13023 )
2022-03-25 08:44:27 -07:00
Pavel Feldman
07c1a27732
chore(deps): prepare deps for monorepo ( #13057 )
2022-03-25 08:43:29 -07:00
github-actions[bot]
7a67c6d264
feat(webkit): roll to r1621 ( #13056 )
2022-03-25 08:40:19 -07:00
Max Schmitt
1797c5c249
chore(test-runner): support self signed certificate in webServer ( #13032 )
2022-03-24 17:30:52 +01:00
github-actions[bot]
8f6df440d5
feat(firefox-beta): roll to r1320 ( #13010 )
2022-03-24 07:49:50 -07:00
github-actions[bot]
920df240d1
feat(firefox): roll to r1321 ( #13017 )
2022-03-24 07:49:27 -07:00
Yury Semikhatsky
136c4e10e6
Revert "chore: align setInputFiles in webkit with other browsers ( #13011 )" ( #13021 )
...
This reverts commit 7fe763c1fc .
2022-03-24 07:46:37 -07:00
Dmitry Gozman
91408f2c5e
fix(storageState): provide nice error message for storage state issues ( #13019 )
2022-03-24 07:33:51 -07:00
Dmitry Gozman
3688e74e3e
fix(list mode): print errors to stderr ( #13016 )
...
`--list` mode now prints any errors encountered during test collection,
for example syntax errors, to `stderr`.
2022-03-24 07:33:33 -07:00
Yury Semikhatsky
7fe763c1fc
chore: align setInputFiles in webkit with other browsers ( #13011 )
2022-03-23 16:07:47 -07:00
Andrey Lushnikov
e1700bd167
feat: use package.json directory as a default for outputDir ( #12942 )
...
This patch:
- starts using directory of `package.json` to resolve default
output directory path
- starts using either `package.json` directory or configuration
directory to resolve all relative paths
References #12970
2022-03-23 16:05:49 -07:00
Ross Wollman
39376cccd8
fix: allow unnamed cookies ( #12991 )
...
Fixes #12808 .
2022-03-23 15:50:43 -07:00
Andrey Lushnikov
bbc1a4fea0
fix: print all missing libraries when used on unsupported linux distro ( #12966 )
...
This patch:
- Adds 3 new host platform types:
* `generic-linux` and `generic-linux-arm64` for the unsupported
linux distributions
* `<unknown>` for non-supported OS versions
- Prints a warning when downloading Ubuntu browser builds on
unsupported Linux distribution
- Makes sure launch doctor prints all missing shared libraries
on unknown Linux distributions
- Also prints an `apt` command as an alternative to Playwright CLI
dependency installation.
2022-03-23 14:06:14 -07:00
github-actions[bot]
53b84541ab
feat(chromium): roll to r983172 ( #12995 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-23 20:34:23 +01:00
github-actions[bot]
2d5762c842
feat(webkit): roll to r1620 ( #12971 )
2022-03-23 11:30:42 -07:00
Max Schmitt
b69d0566bb
chore: disable Chromium CertificateTransparencyComponentUpdater feature ( #12992 )
2022-03-23 19:14:22 +01:00
Andrew Hayward
ab39cfcb18
docs: fixing example code in accessibility API docs ( #12664 )
...
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-03-23 11:50:35 +01:00
Dmitry Gozman
722302799e
feat(selectors): support regular expressions in attribute selectors ( #12960 )
...
Supports inline regex in addition to string: `_react=BookItem[author = /Ann?a/i]`.
This is similar to `text=` selector, but applies to `_react` and `_vue`
selectors. In the future, will also apply to `role=` selector.
2022-03-22 17:00:56 -07:00
Ross Wollman
541fb39a51
feat(html-reporter): add report context header ( #12734 )
...
Resolves #11318 .
* Adds `TestConfig.attachments` public API. (We opted to not implement an analog to the async `TestInfo.attach(…)` API.)
* Adds `TestConfig.attachments` to common reporters.
* Dogfoods some git and CI-info inference to generate useful atttachments
* Updates HTML Reporter to include a side bar to present a pre-defined set of attachments (a.k.a git/commit context sidebar)
Here's what it looks like:
<img width="1738" alt="Screen Shot 2022-03-21 at 3 23 28 PM" src="https://user-images.githubusercontent.com/11915034/159373291-8b937d30-fba3-472a-853a-766018f6b3e2.png ">
See `tests/playwright-test/reporter-html.spec.ts` for an example of usage (for dogfood-ing only). In the future, if this becomes user-facing, there the Global Setup bit would likely become unnecessary (as would interaction with attachments array); there would likely just be a nice top-level config and/or CLI flag to enable collecting of info.
2022-03-22 16:28:04 -07:00
Brian Rhoten
fb83d4b42c
fix(codegen): do not consider empty attributes for selector generation ( #12880 )
...
Co-authored-by: Brian Rhoten <brhoten@appriss.com>
2022-03-22 13:56:33 -07:00
Brandon Walderman
7db40071a8
fix(selenium): Use ms:edgeOptions with Edge. ( #12933 )
2022-03-22 12:46:00 -07:00
Max Schmitt
2a7370bad2
fix: upgrade json5 dependency ( #12946 )
...
Fixes #12940
2022-03-22 11:33:23 -07:00
Max Schmitt
d8ab76bf64
chore: throw when a Promise was passed to toMatchSnapshot ( #12906 )
2022-03-22 16:36:09 +01:00
Dmitry Gozman
4b877213a1
fix(tracing): preserve control values without modifying DOM ( #12939 )
...
Previously, we preserved input/textarea values by providing
`value` attribute or text child. This produces DOM that does not
actually match the original page.
This change starts using special attributes to modify values
directly when rendering.
Same treatment is also applied to options in `select` and
`checked` property of checkboxes and radio buttons.
2022-03-21 18:51:48 -07:00
Dmitry Gozman
dea6528c0c
feat(aria): introduce role utils ( #12916 )
...
This includes aria role and accessible name computation.
Accessible name is covered by wpt tests.
2022-03-21 17:26:45 -07:00
Andrey Lushnikov
7f51336068
fix: allow toMatchSnapshot to use text comparator for text data ( #12934 )
...
This was regressed awhile ago.
In v1.17 we shipped the following code: 30e15ad36f/packages/playwright-test/src/matchers/golden.ts (L122-L131)
`toMatchSnapshot` should fallback to text comparator in case of
unknown extension and string data.
Fixes #12862
2022-03-21 16:42:21 -07:00
github-actions[bot]
478a75401a
feat(webkit): roll to r1619 ( #12905 )
2022-03-21 15:15:56 -07:00
Andrey Lushnikov
c18077c0de
feat(toHaveScreenshot): align screenshot generation & comparison ( #12812 )
...
This patch aligns the strategies that are used to generate new
screnshot expectations and to compare screenshot expectations against
baseline.
With this patch, `toHaveScreenshot` will:
- when generating a new expectation: will wait for 2 consecutive
screenshots to match and accept the last one as expectation.
- when given an expectation:
* will compare first screenshot against expectation. If matches,
resolve successfully
* if first screenshot doesn't match, then wait for 2 consecutive
screenshots to match and then compare last screenshot with the
expectation.
An example of a new detailed call log:
```
1) a.spec.ts:3:1 › should work ===================================================================
Error: Screenshot comparison failed:
20000 pixels (ratio 0.03 of all image pixels) are different
Call log:
- expect.toHaveScreenshot with timeout 5000ms
- verifying given screenshot expectation
- fast-path: checking first screenshot to match expectation
- taking page screenshot
- disabled all CSS animations
- waiting for fonts to load...
- fonts in all frames are loaded
- fast-path failed: first screenshot did not match expectation - 20000 pixels (ratio 0.03 of all image pixels) are different
- waiting for 2 consecutive screenshots to match
- waiting 100ms before taking screenshot
- taking page screenshot
- disabled all CSS animations
- waiting for fonts to load...
- fonts in all frames are loaded
- 2 consecutive screenshots matched
- final screenshot did not match expectation - 20000 pixels (ratio 0.03 of all image pixels) are different
- 20000 pixels (ratio 0.03 of all image pixels) are different
Expected: /Users/andreylushnikov/tmp/test-results/a-should-work/should-work-1-expected.png
Received: /Users/andreylushnikov/tmp/test-results/a-should-work/should-work-1-actual.png
Diff: /Users/andreylushnikov/tmp/test-results/a-should-work/should-work-1-diff.png
3 | test('should work', async ({ page }) => {
4 | await page.goto('file:///Users/andreylushnikov/prog/playwright/tests/assets/rotate-z.html');
> 5 | await expect(page).toHaveScreenshot();
| ^
6 | });
7 |
```
2022-03-21 15:10:33 -07:00
github-actions[bot]
67e754f6b5
feat(firefox): roll to r1320 ( #12928 )
2022-03-21 13:40:41 -07:00
Yury Semikhatsky
0adf5536af
docs(fetch): clarify cookie handling ( #12892 )
2022-03-21 13:20:17 -07:00
github-actions[bot]
9a60067fc2
feat(chromium): roll to r982481 ( #12903 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-19 13:06:55 +01:00
Pavel Feldman
e044bae888
chore: make count() work with _vue selectors ( #12899 )
2022-03-18 21:22:33 -07:00
Dmitry Gozman
85b01056b6
fix(click): workaround elementsFromPoint issue in Chromium ( #12888 )
...
Block elements inside elements are not returned correctly
from `document.elementsFromPoint(x, y)` in some cases.
See https://bugs.chromium.org/p/chromium/issues/detail?id=1307458 for details.
2022-03-18 18:20:48 -07:00
Pavel Feldman
98ed81dc00
chore: do not initialize full sessions for pages used in session restore ( #12886 )
2022-03-18 18:17:37 -07:00
Andrey Lushnikov
cfe92e1608
feat(test-runner): implement expect.poll ( #12815 )
...
This patch implements `expect.poll()` method that polls given
predicate until a given synchronous predicate completes.
Usage:
```js
// wait until page gets 3 frames.
await expect.poll(() => page.frames().length, {
timeout: 1000,
message: 'custom error message',
}).toBe(3);
```
Fixes #10235
2022-03-18 16:31:26 -07:00
Dmitry Gozman
009185bb89
fix(test runner): do not print fixture location without a separate timeout ( #12894 )
...
Otherwise, user randomly sees some "extend" calls that have no real meaning.
2022-03-18 16:09:41 -07:00
Dmitry Gozman
209bde5000
feat(test runner): descrbe.skip ( #12865 )
...
`describe.skip` declares a test group that is skipped.
2022-03-18 16:07:11 -07:00
Max Schmitt
dd32956ccc
chore: improve handling with missing xserver ( #12724 )
2022-03-18 22:39:11 +01:00
Max Schmitt
d795f5dd64
chore: print error if install-deps is used != ubuntu ( #12877 )
2022-03-18 19:13:11 +01:00
Yury Semikhatsky
a8d80621b2
feat(chromium): large file uploads ( #12860 )
2022-03-18 09:00:52 -07:00
Dmitry Gozman
3a009531b1
feat(hooks): add a step per hook ( #12867 )
...
It is now possible to see which hooks were run in the html report.
2022-03-17 19:33:01 -07:00
Pavel Feldman
c7d6f96328
chore: disambiguate internal flags ( #12866 )
2022-03-17 18:27:33 -07:00
Dmitry Gozman
25483452c0
feat(fixtures): per-fixture timeout ( #12751 )
...
By default, fixtures share timeout with the test they are instantiated for.
However, for more heavy fixtures, especially worker-scoped ones, it makes
sense to have a separate timeout.
This introduces `{ timeout: number }` option to the list of fixture options
that opts the fixture into a dedicated timeout rather than sharing it
with the test.
2022-03-17 09:36:03 -07:00
Benny Neugebauer
2e434f725b
chore: fix markdown links in NPM README's ( #12833 )
2022-03-17 15:28:57 +01:00
Henrik Storck
05387b7835
fix: fix folder traversal for isModule check ( #12836 ) ( #12837 )
2022-03-16 15:52:39 -08:00
Max Schmitt
e231db1810
chore: restore expect.any()/expect.anything() ( #12820 )
2022-03-16 21:34:41 +01:00
Yury Semikhatsky
1284ab8101
feat(webkit): bump to 1617, freeze macOS 10.15 ( #12790 )
2022-03-15 16:09:56 -07:00
Dmitry Gozman
f8c4cb3d24
fix(screenshot): do not stall on hideHighlight ( #12764 )
2022-03-15 14:13:45 -07:00
Pavel Feldman
6b324d3780
chore(vue): allow adding events in jsx templates ( #12746 )
2022-03-15 13:02:10 -07:00
github-actions[bot]
08c29b305b
feat(chromium): roll to r980398 ( #12757 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-14 18:51:46 -07:00
Andrey Lushnikov
88610c8b4c
fix: properly define apiName for web-first assertions ( #12706 )
...
Turns out relying on PWTRAP in stack is not reliable: depending on the
call structure, the stack might be cut unpredictably by Node.js.
This patch removes PWTRAP and instead plumbs explicit stack and
pre-set `apiName` all the way down to `wrapApiCall`.
2022-03-14 18:01:13 -07:00
Andrey Lushnikov
e3bd7ce119
fix(test-runner): resolve outputDir wrt rootDir ( #12755 )
...
Currently, running `npx playwright test` in a subfolder of your project
will result in a `test-results` folder created in your `cwd`.
This is unexpected; instead, we should always resolve all paths
against `rootDir` - directory that contains config.
2022-03-14 17:20:17 -07:00
Yury Semikhatsky
990224bde4
Revert "feat(webkit): bump to 1617 ( #12738 )" ( #12760 )
...
This reverts commit 77824ee19e .
2022-03-14 17:08:32 -07:00
Yury Semikhatsky
77824ee19e
feat(webkit): bump to 1617 ( #12738 )
2022-03-14 15:11:21 -07:00
Max Schmitt
01beb6310a
docs: mention locator.nth is zero based ( #12750 )
...
Co-authored-by: Pavel Feldman <pavel.feldman@gmail.com>
2022-03-14 21:06:44 +01:00
Dmitry Gozman
237954212c
Revert "feat(line reporter): show stats, handle tty" ( #12735 )
...
This reverts commit be817d1a53 , PR #12695 .
Reason: found issues with stdout messing with stats.
2022-03-14 10:37:43 -07:00
Pavel Feldman
3b0a5b4753
chore: mount should return locator pointing to the component element / fragment ( #12718 )
2022-03-13 21:26:13 -07:00
Pavel Feldman
25c0369eaf
chore: prepare to publish component packages ( #12697 )
2022-03-12 13:51:27 -08:00
Yury Semikhatsky
19de9cacc3
docs: delete verification guide ( #12698 )
2022-03-12 09:32:54 -08:00
Max Schmitt
adcd32fc6e
fix(expect): toHaveCSS with custom CSS properties ( #12709 )
2022-03-12 09:32:40 -08:00
github-actions[bot]
ffc8031bad
feat(chromium): roll to r980066 ( #12705 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-12 09:07:57 +01:00
Andrey Lushnikov
ef4b34fb7a
feat(toHaveScreenshot): enhance messaging in case of failures ( #12677 )
...
This patch:
- adds call logs to track screenshot timeouts, e.g. due to
waiting for web fonts
- makes sure all snapshot expectations have `.png` extension
- throws a polite error when given a buffer or a string instead of a
page or a locator
- removes stray NL between error description and call log
- makes sure `apiName` is always correct (and adds a test for it)
2022-03-11 22:40:28 -08:00
Dmitry Gozman
be817d1a53
feat(line reporter): show stats, handle tty ( #12695 )
...
- Line reporter now shows stats in addition to the test name:
```log
[chromium] › page/page-click-react.spec.ts:108:1 › should not retarget when element changes on hover
23% [21/93] Passed: 17 Flaky: 0 Failed: 0 Skipped: 4 (7s)
```
- When connected to a TTY or with `env.PLAYWRIGHT_LIVE_TERMINAL`
set to anything but `'0'` or `'false'`, line reporter updates in place.
- When not connected to a TTY, line reporter prints an update
after each ~1% of tests done, so it never prints more than 100 lines.
- Updated tests to the golden style.
2022-03-11 18:19:33 -08:00
Pavel Feldman
e9fa098bf3
chore: add ct examples ( #12693 )
2022-03-11 15:46:11 -08:00
Andrey Lushnikov
95c774cf84
feat: support multiple screenshots in HTML report ( #12577 )
...
This patch adds support to multiple diffs. These are possible
due to soft assertions.
Drive-by: rename second screenshot in `toHaveScreenshot` failure when
re-generating expectations from "expected" to "previous".
2022-03-11 08:46:13 -08:00
Andrey Lushnikov
e3ab6388a9
feat(toHaveScreenshot): enable sensible defaults ( #12675 )
...
This patch:
- Enables configuration of certain defaults for some options of `expect.toHaveScreenshot` method via `TestProject.expect.toHaveScreenshot` property
- Sets sensible defaults for these options:
* `fonts: "ready"`
* `animations: "disabled"`
* `size: "css"`
2022-03-11 08:45:36 -08:00
Pavel Feldman
af55f48754
chore: add experimental mount ( #12657 )
2022-03-11 08:00:46 -08:00
Ross Wollman
ebae5e76df
feat(test-runner): more default workers for M1 ( #12660 )
...
New default is based on the very (unscientific) output of repeated a few
times:
```
$ for i in `seq 5 13`; do time npm run ctest -- --reporter=line --workers=$i 'page/*' 'selector*' 'channels*' 'resource-timing*'; done
```
2022-03-11 02:12:07 -08:00
Andrey Lushnikov
b51157bdea
feat: bring back maxDiffPixels in toMatchSnapshot ( #12627 )
...
This patch reverts 2 commits that removed the feature from the method:
- "fix: explicitly ignore maxDiffPixels in toMatchSnapshot (#12570 )"
commit b8af8458d6 .
- "chore: remove `maxDiffPixels` from toMatchSnapshot (#12539 )"
commit a3dff45974 .
2022-03-10 18:41:16 -08:00
Andrey Lushnikov
e83549e8a0
fix: support all commong screenshot options in toHaveScreenshot ( #12670 )
...
This patch adds support for all common options in
`expect.toHaveScreenshot`.
2022-03-10 18:36:20 -08:00
Andrey Lushnikov
65b9cba143
chore: follow-up to animations default option ( #12669 )
...
This is a follow-up to 42765804bc
that was landed without bots.
I ran the bots manually on Linux & Mac.
2022-03-10 17:26:50 -08:00
Andrey Lushnikov
689d8196e0
chore: follow-up to fix docs ( #12668 )
...
This is a follow-up to 49e66c7f08 that was landed without bots.
I ran bots manually on Mac & Linux.
2022-03-10 17:19:44 -08:00
Andrey Lushnikov
42765804bc
chore: add "allow" as a default value for animations. ( #12663 )
2022-03-10 17:15:36 -08:00
Andrey Lushnikov
49e66c7f08
feat(screenshot): introduce new "fonts" option for screenshots ( #12661 )
...
This option will wait for webfonts to load before taking screenshots.
2022-03-10 16:54:36 -08:00
Andrey Lushnikov
12d8a262be
feat: support screenshotsDir option ( #12642 )
...
The `screenshotsDir` option controls the expectation storage
for `toHaveScreenshot()` function.
The new expectation management for screenshots has the following
key properties:
- All screenshots are stored in a single folder called `screenshotsDir`.
- Screenshot names **do not** respect `snapshotDir` and `snapshotSuffix`
configurations.
- `screenshotsDir` is configurable per project. This way a "smoke tests"
project can re-use screenshots from "all tests" project.
- Host platform is a top-level folder.
For example, given the following config:
```js
// playwright.config.ts
module.exports = {
projects: [
{ name: 'Mobile Safari' },
{ name: 'Desktop Chrome' },
],
};
```
And the following test structure:
```
smoke-tests/
└── basic.spec.ts
```
Will result in the following screenshots folder structure by default:
```
__screenshots__/
└── darwin/
├── Mobile Safari/
│ └── smoke-tests/
│ └── basic.spec.ts/
│ └── screenshot-expectation.png
└── Desktop Chrome/
└── smoke-tests/
└── basic.spec.ts/
└── screenshot-expectation.png
```
2022-03-10 16:50:26 -08:00
Pavel Feldman
4d3d0e2bda
chore: enable ts-esm support by default ( #12658 )
2022-03-10 14:48:33 -08:00
Yury Semikhatsky
cf643ff04c
docs: remove unsupported permission "push" from docs ( #12654 )
2022-03-10 14:00:25 -08:00
Dmitry Gozman
a388bb2302
feat(screenshot): size:'css'|'device' option ( #12634 )
...
With this experimental option, screenshot dimensions are in CSS pixels,
not physical device pixels, effectively ignoring the device scale factor.
2022-03-10 13:07:10 -08:00
Max Schmitt
3f468abedd
fix(test-runner): ESM compatibly on Windows ( #12615 )
2022-03-10 19:27:25 +01:00
Andrey Lushnikov
75eef09c0d
feat: show expectation name as part of toHaveScreenshot title ( #12612 )
...
This patch adds snapshot file name as part of `toHaveScreenshot`
and `toMatchSnapshot` step title.
2022-03-09 20:09:45 -08:00
Yury Semikhatsky
d49843edaa
fix(firefox): add missing dependency on Ubuntu 18.04 ( #12625 )
2022-03-09 11:21:15 -08:00
Dmitry Gozman
92430cc56c
chore(fixtures): do not force-close contexts in beforeAll ( #12416 )
...
This now happens the same way as for the test, in the worker cleanup
when browser closes, which is reported as a part of the test.
2022-03-09 07:26:46 -08:00
Dmitry Gozman
e8ce5d0258
feat(test runner): on beforeAll failure, precisely skip the tests ( #12417 )
...
Previously, we used to skip all the tests from the same file when
any `beforeAll` fails in the file.
Now, we only skip the rest of the tests affected by this particular
`beforeAll` and continue with other tests in the new worker.
2022-03-08 20:29:31 -08:00
Dmitry Gozman
4a768294b4
chore: cleanup hooks notion from raw/html reporters ( #12610 )
2022-03-08 19:08:31 -08:00
Dmitry Gozman
e895bc2751
reland(test-runner): rely on test title paths instead of ordinal ( #12611 )
...
Fixes #11904
Co-authored-by: Andrey Lushnikov <lushnikov@chromium.org>
2022-03-08 19:06:25 -08:00
Dmitry Gozman
682eeb4ae0
reland(hooks): separate test timeout from beforeAll/afterAll timeouts ( #12609 )
...
This makes it possible to have longer `beforeAll`/`afterAll` and not
affect first/last test timeout.
2022-03-08 19:05:23 -08:00
Yury Semikhatsky
176846672f
docs: clarify multiple before/after hooks execution order ( #12606 )
2022-03-08 17:42:50 -08:00
Dmitry Gozman
62a032baa0
chore: remove env.PLAYWRIGHT_NO_LAYOUT_SHIFT_CHECK ( #12605 )
2022-03-08 16:42:39 -08:00
Dmitry Gozman
9cd704220c
reland(test runner): run hooks/modifiers as a part of the test ( #12518 )
...
Reland: worker.stop() before worker.run() was hanging because
`_runFinished` promise was not initially resolved.
---
This moves `beforeAll`, `afterAll` and some modifiers from running
as a separate entity into running inside a test.
Pros:
- All errors are reported as test errors.
- All artifacts are collected as test artifacts.
- Reporters support this out of the box.
Details:
- Each test computes the necessary hooks to run and runs them.
- Teardown is usually performed during the test (on test failure or worker stop).
- `skipRemaining` is added to `DonePayload` to preserve the behavior
where `beforeAll` hook failure skips subsequent tests.
This behavior can now be improved to only target tests affected by this hook.
2022-03-08 16:35:14 -08:00
Andrey Lushnikov
4bccf2f6aa
chore: cut v1.20 branch ( #12593 )
2022-03-08 14:01:20 -08:00
github-actions[bot]
04e03728b8
feat(chromium): roll to r978106 ( #12585 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-03-08 21:05:56 +01:00
Andrey Lushnikov
497b51ad8c
fix(toHaveScreenshot): fix initial screenshot time ( #12576 )
...
Instead of being taken immediately, first screenshot was actually
taken after 1 second.
2022-03-08 09:30:14 -08:00
github-actions[bot]
18e6aa3f15
feat(firefox): roll to r1319 ( #12587 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-08 09:19:00 -08:00
Andrey Lushnikov
b8af8458d6
fix: explicitly ignore maxDiffPixels in toMatchSnapshot ( #12570 )
...
Fixes #12564
2022-03-07 16:55:35 -08:00
Dmitry Gozman
d836ed41d3
feat(remote): send 'x-playwright-browser' header ( #12556 )
2022-03-07 10:30:53 -08:00
Siddharth Singha Roy
a2b3d4f570
feat(cli) : allow passing PlaywrightServer.startDefault parameters via cli ( #12530 )
2022-03-07 09:15:46 -08:00
github-actions[bot]
702536d962
feat(webkit): roll to r1616 ( #12541 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2022-03-06 12:22:47 +01:00
Andrey Lushnikov
d7648d390c
fix(toHaveScreenshot): round ratio up ( #12540 )
...
This way the ratio value could be used right away in configuation.
2022-03-04 18:55:48 -08:00
Andrey Lushnikov
a3dff45974
chore: remove maxDiffPixels from toMatchSnapshot ( #12539 )
...
References #12441
2022-03-04 18:27:04 -08:00
Andrey Lushnikov
6dac01aec7
fix: implement log scale back-off for screenshots ( #12504 )
...
References https://github.com/microsoft/playwright/issues/12441
2022-03-04 18:17:57 -08:00
Andrey Lushnikov
4953fc4845
chore: introduce toHaveScreenshot configuration options ( #12507 )
...
References https://github.com/microsoft/playwright/issues/12441
2022-03-04 17:30:43 -08:00
github-actions[bot]
adb2847d84
feat(firefox): roll to r1318 ( #12537 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-04 17:29:35 -08:00
Max Schmitt
5fd43edcbb
chore: fix android tests after #12220 ( #12535 )
2022-03-05 00:18:03 +01:00
Karan Shah
fd1a1a2b1c
feat(android): Adding custom port parameter to connect to different adb server port ( #12220 )
2022-03-04 20:27:25 +01:00
Yury Semikhatsky
50cc1641d1
fix(webkit): add libopengl0 to the native deps ( #12526 )
2022-03-04 11:13:34 -08:00
Andrey Lushnikov
b45c788a33
fix(disable-animations): rename boolean to enum ( #12503 )
...
Enums are more flexible in the long run since they let us easily
extend API.
References #12441
2022-03-04 11:02:59 -08:00
Andrey Lushnikov
1f5cfcaeec
fix(to-have-screenshot): show number of bad pixels in mismatched error ( #12502 )
...
Drive-by: do not show empty call log.
References #12441
2022-03-04 11:01:05 -08:00
github-actions[bot]
ab40d934ad
feat(chromium): roll to r976882 ( #12516 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-04 14:48:25 +01:00
Basarat Ali Syed
dd83ece3cb
chore(test-runner): correct warning instruction for port reuse ( #12479 )
2022-03-04 10:14:49 +01:00
Andrey Lushnikov
279e579097
chore: address pixelCount and pixelRatio review comments ( #12501 )
...
- documentation fixes
- rename pixelCount to maxDiffPixels
- rename pixelRatio to maxDiffPixelRatio
2022-03-03 23:17:31 -08:00
github-actions[bot]
856ff5c685
feat(firefox-beta): roll to r1318 ( #12478 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-03 08:41:23 -08:00
Max Schmitt
3db4b48bd3
fix(cli): fix wrong property for passing browser name ( #12489 )
2022-03-03 17:17:23 +01:00
Pavel Feldman
34bf0d4b87
feat(test-runner): allow grepping in project ( #12469 )
2022-03-02 15:02:35 -08:00
Max Schmitt
b2e3357613
chore: throw error if setCookies expires value is not valid ( #12470 )
2022-03-02 23:10:40 +01:00
Yury Semikhatsky
2d7ec26dc2
fix(fetch): send secure cookies for http://localhost requests ( #12450 )
2022-03-02 09:33:30 -08:00
Pavel Feldman
4b19d59ec5
feat(test): introduce fully parallel mode ( #12446 )
2022-03-01 18:12:21 -08:00
Pavel Feldman
61a6cdde70
feat(api): expose locator.highlight ( #12420 )
2022-03-01 13:56:21 -08:00
Pavel Feldman
b79bb32c82
chore: do not stall on actions when test timeout is 0 ( #12418 )
2022-03-01 13:43:38 -08:00
Pavel Feldman
a612a3526a
chore: auto-detect ts esm mode ( #12292 )
2022-03-01 12:56:26 -08:00
Max Schmitt
5b7db90cb6
chore: hide unsupported expect methods ( #12403 )
2022-03-01 20:04:34 +01:00
Pavel Feldman
96945ab0a2
chore: do not print empty attachments in terminal ( #12419 )
2022-03-01 09:11:53 -08:00
Max Schmitt
e0e6b66cbe
chore(android): align android context options with mixin ( #12401 )
2022-03-01 18:11:38 +01:00
Pavel Feldman
6a663ef54f
chore(test-runner): revert recent changes to fix tests ( #12439 )
...
* Revert "fix(hooks): separate test timeout from beforeAll/afterAll timeouts (#12413 )"
This reverts commit 73dee69558 .
* Revert "fix(test-runner): rely on test title paths instead of ordinal (#12414 )"
This reverts commit d744a87aee .
* Revert "chore(test runner): run hooks/modifiers as a part of the test (#12329 )"
This reverts commit 47045ba48d .
2022-03-01 09:11:17 -08:00
Max Schmitt
d2ae6a9db2
fix: isDisabled check with option/optgroup ( #12437 )
2022-03-01 18:10:16 +01:00
github-actions[bot]
5efd7fb356
feat(chromium): roll to r975608 ( #12425 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-01 09:22:47 +01:00
Andrey Lushnikov
a0cf33bbb0
fix: beautiful toHaveScreenshot in tracing ( #12422 )
2022-02-28 23:30:00 -08:00
Andrey Lushnikov
d744a87aee
fix(test-runner): rely on test title paths instead of ordinal ( #12414 )
...
Fixes #11904
2022-02-28 15:40:23 -08:00
Dmitry Gozman
73dee69558
fix(hooks): separate test timeout from beforeAll/afterAll timeouts ( #12413 )
...
This makes it possible to have longer `beforeAll`/`afterAll` and not
affect first/last test timeout.
2022-02-28 15:09:04 -08:00
Mateusz Burzyński
eaa98ce53a
feat(keyboard): support simple copy-pasting using meta+c/v ( #10828 )
...
It's a straightforward change to support new, common, keyboard commands
Note that I've tested this locally with Chrome on my Mac but it seems that CI doesn't want to pass Chrome tests - it's running on ubuntu though. Does this mean that I should introduce per-platform editing commands? At the moment there is only a single [`macEditingCommands`](0ed33522c5/packages/playwright-core/src/server/macEditingCommands.ts ) file.
References https://github.com/microsoft/playwright/issues/12000
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-02-28 13:43:43 -08:00
Andrey Lushnikov
396d920145
feat(test-runner): implement expect(pageOrLocator).toHaveScreenshot ( #12242 )
...
Fixes #9938
2022-02-28 12:25:59 -08:00
Andrey Lushnikov
8d94ed134c
fix: add snapshots for page and elementHandle screenshots ( #12411 )
...
Fixes #12280
2022-02-28 11:52:54 -08:00
Dmitry Gozman
47045ba48d
chore(test runner): run hooks/modifiers as a part of the test ( #12329 )
...
chore(test runner): run hooks/modifiers as a part of the test
This moves `beforeAll`, `afterAll` and some modifiers from running
as a separate entity into running inside a test.
Pros:
- All errors are reported as test errors.
- All artifacts are collected as test artifacts.
- Reporters support this out of the box.
Details:
- Each test computes the necessary hooks to run and runs them.
- Teardown is usually performed during the test (on test failure or worker stop).
- `skipRemaining` is added to `DonePayload` to preserve the behavior
where `beforeAll` hook failure skips subsequent tests.
This behavior can now be improved to only target tests affected by this hook.
2022-02-28 11:42:47 -08:00
github-actions[bot]
80a38a39c2
feat(chromium): roll to r974924 ( #12377 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-02-26 07:52:27 +01:00
Max Schmitt
41e9b36f63
fix: install-deps did not throw on non 0 exit code ( #12375 )
2022-02-26 00:45:27 +01:00
Dmitry Gozman
3c2bca2768
fix(test loader): implement tsconfig paths through resolveFilename ( #12357 )
...
This uses `Module._resolveFilename` to intercept module resolution and
check `tsconfig.paths` similarly to pirates usage ot `Module._compile`.
Previously, we resolved during compilation that required reproducible
resolution due to caching. Now we can resolve as we go and support
all `tsconfig.paths`.
2022-02-25 15:43:58 -08:00
nswbmw
b47c95c20c
feat: add iPhone 12 Mini ( #11429 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-02-25 12:15:58 +01:00
Max Schmitt
821a8e93c7
chore: do not double trim in trace viewer ( #12338 )
2022-02-24 21:55:50 +01:00
Dmitry Gozman
91672595f2
fix(reporters): normalize usage of isTTY, env.CI and debug env variables ( #12295 )
...
- `stdout.isTTY` controls whether list reporter updates lines or just adds them;
- `env.CI` is used in a few places to affect the defaults:
- whether to open interactive html;
- default reporter dot/line;
- default terminal reporter added to non-terminal reporters;
- `env.PWTEST_SKIP_TEST_OUTPUT` is removed;
- `env.PW_TEST_DEBUG_REPORTERS` is introduced specifically for tests.
2022-02-24 12:39:28 -08:00
Max Schmitt
0b55950d6a
chore: fix Android tests ( #12325 )
2022-02-24 06:57:32 +01:00
Andrey Lushnikov
71edad327b
fix: tolerate EBUSY error when removing output directories ( #12323 )
...
- Previous attempt: https://github.com/microsoft/playwright/pull/12300
- Revert with reasoning: ebc52d10e4
Fixes #12106
2022-02-23 14:23:57 -08:00
Andrey Lushnikov
df7fbe7857
Revert "chore: best-effort cleanup for output folders that are mounted ( #12300 )" ( #12321 )
...
This reverts commit e5c9d1e39f .
Reason for revert: turns out this fix results in a 5-second delay
when starting tests in docker, with `test-results` folder being
a non-removable mount.
The reason for the delay is the `maxBusyTries` option that we
supply by default to rimraf when trying to remove the folder.
While this option might come handy when removing temporary
browser profile folder, it doesn't serve us well in this particular
usecase.
References #12106
2022-02-23 14:10:11 -08:00
Andrey Lushnikov
5879c7f362
chore: refactor toMatchSnapshot once again ( #12313 )
...
Keep massaging code in preparation for `toHaveScreenshot`.
References #9938
2022-02-23 13:17:37 -08:00
Andrey Lushnikov
e5c9d1e39f
chore: best-effort cleanup for output folders that are mounted ( #12300 )
...
Fixes #12106
2022-02-23 12:55:41 -08:00
Dmitry Gozman
4399623f9f
chore(test runner): make timeout a separate error in TestInfo.errors ( #12315 )
...
This way we control the timeout error message from the runner,
so that later on we can differentiate between test timeout, fixture
timeout and hook timeout.
2022-02-23 12:32:12 -08:00
Dmitry Gozman
114edecd3a
fix(list mode): keep outputDir intact ( #12291 )
2022-02-22 12:50:26 -08:00
Ben Lu
f933f65d03
feat(html): put diff first in image comparison ( #12254 )
2022-02-22 11:29:58 -08:00
Max Schmitt
52932172e7
docs(python): fix set_viewport_size in emulation.md ( #12271 )
2022-02-22 20:15:46 +01:00
github-actions[bot]
cbe075135c
feat(chromium): roll to r973391 ( #12279 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-02-22 11:33:25 +01:00
github-actions[bot]
222033d6b2
feat(chromium): roll to r972766 ( #12248 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-02-21 11:30:30 +01:00
Pavel Feldman
b8cf5ac661
fix(electron): do not attach external debugger when running Electron tests ( #12250 )
2022-02-19 17:46:26 -08:00
Andrey Lushnikov
18fdf927b7
chore: simplify screenshot option handling ( #12245 )
...
#9938
2022-02-18 21:34:56 -08:00
Dmitry Gozman
d3c4323021
fix(test runner): improve error message for unexpected calls ( #12240 )
2022-02-18 18:25:18 -08:00
Dmitry Gozman
ee0dd6ec71
fix(test runner): trim full output path ( #12239 )
...
Previously, we only trimmed the "full title" component, but
we should also trim the "relative path" component.
2022-02-18 15:40:36 -08:00
Dmitry Gozman
a7ef1da5e9
fix(selenium): support MicrosoftEdge ( #12235 )
2022-02-18 14:44:15 -08:00
Andrey Lushnikov
0682672242
chore: move comparator logic to playwright-core ( #12232 )
...
This will enable implementation of `toHaveScreenshot` on the
server-side.
Drive-by: drop blink-diff
References #9938
2022-02-18 14:39:17 -08:00
Andrey Lushnikov
b9e86b79ee
chore: refactor toMatchSnapshot implementation ( #12206 )
...
This patch prepares for the `toHaveScreenshot` implementation
by splitting common parts from `toMatchSnapshot`.
Drive-by: fix default extension generation from `.bin` to `.dat`
for unknown buffers.
2022-02-18 11:21:58 -08:00
github-actions[bot]
0518176f4a
feat(chromium): roll to r969391 ( #12228 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-02-18 18:54:58 +01:00
Dmitry Gozman
edac84d072
feat(remote): send browser/channel/headless in a header ( #12205 )
2022-02-18 07:54:33 -08:00
Dmitry Gozman
34eec7eae7
fix(webServer): route output through reporters ( #12198 )
2022-02-18 07:54:01 -08:00
Dmitry Gozman
15043801cb
chore: use transport for BrowserType.connect ( #12196 )
...
This gives us logging, ECONNRESET error handling and proper cleanup.
2022-02-17 20:48:14 -08:00
Andrey Lushnikov
a98babec69
feat(test-runner): introduce pixelCount and pixelRatio options ( #12169 )
...
This patch adds additional options to `toMatchSnapshot` method:
- `pixelCount` - acceptable number of pixels that differ to still
consider images equal. Unset by default.
- `pixelRatio` - acceptable ratio of all image pixels (from 0 to 1) that differ to still
consider images equal. Unset by default.
Fixes #12167 , #10219
2022-02-17 15:44:03 -08:00
Andrey Lushnikov
c98d595bea
fix: support hiding caret in case of matching style rule ( #12172 )
2022-02-17 14:05:56 -08:00
Max Schmitt
21ae298015
fix(trace-viewer): don't crash when argument is null ( #12186 )
2022-02-17 22:12:42 +01:00
Max Schmitt
4115235f4d
feat(codegen): use web-first page assertions to match URL ( #12177 )
2022-02-17 20:52:35 +01:00
Max Schmitt
a667d94d45
chore(codegen): do not over-escape spaces ( #12155 )
2022-02-17 01:01:46 +01:00
Pavel Feldman
51344c6924
chore: parse-skip .tsx ( #12143 )
2022-02-16 15:45:35 -08:00
Andrey Lushnikov
086333cd60
feat(test-runner): support unnamed snapshots ( #12161 )
...
Fixes #9007
2022-02-16 14:22:01 -08:00
Max Schmitt
92045b7faf
feat(codgen): support radio buttons ( #12157 )
2022-02-16 19:10:00 +01:00
Dmitry Gozman
47cc7c4ae8
chore: refactor internal cli commands to use commander ( #12146 )
2022-02-16 09:54:12 -08:00
Yury Semikhatsky
7ee35ae30d
fix(html-report): open all test traces in one viewer ( #12142 )
2022-02-16 09:09:42 -08:00
Yury Semikhatsky
08fd8d0762
fix(tracing): do not capture iframes in head ( #12126 )
2022-02-16 09:09:15 -08:00
Pavel Feldman
d4deefbad3
feat(firefox): roll to r1317 ( #12120 )
2022-02-15 21:55:52 -08:00
pierscowburn
5db7ce5964
fix: propagate exit code in experimental mode ( #12070 )
...
In experimental ESM mode a child process is forked in order to run the tests. Currently the exit code of this child process is not propagated to the exit code of the parent process, which means that the process exits with a status code of `0` even if some of the tests failed.
This makes it difficult to use Playwright in CI in experimental mode, as the CI pipeline as a whole will pass despite the test failures.
This change addresses this by propagating the exit code in the case where it is non-zero.
2022-02-15 13:10:35 -08:00
Andrey Lushnikov
e6d79a4f10
fix(docker): add missing dependency to the docker 1.19 ( #12124 )
...
The `libxtst6` is required in both amd64 and arm64.
Fixes #12075
2022-02-15 10:25:59 -08:00
Yury Semikhatsky
f15610b874
fix(fetch): always return non-empty body regardless of request method ( #12102 )
2022-02-15 09:06:21 -08:00
Andrey Lushnikov
363b8a6970
feat: support mask option in screenshot methods ( #12072 )
...
Fixes https://github.com/microsoft/playwright/issues/10162
2022-02-15 07:05:05 -08:00
Dmitry Gozman
5a0445b8da
feat(remote): let client enable/disable sock proxy ( #12086 )
2022-02-14 15:10:58 -08:00
Andrey Lushnikov
ef21ce3f56
feat(test-runner): filter out syntax error stack traces ( #12095 )
...
Filter out long stack traces from babel when it fails compilation
due to syntax error in test.
2022-02-14 14:33:14 -08:00
github-actions[bot]
6ff23fc446
feat(webkit): roll to r1611 ( #12087 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-02-14 22:48:47 +01:00
Dmitry Gozman
9814c592d2
fix(test runner): shutdown redundant workers ( #12062 )
2022-02-14 10:57:15 -08:00
Andrey Lushnikov
6c89f160e8
fix(highlight): drive-by fixes to selector highlight ( #12083 )
2022-02-14 10:32:18 -08:00
Dmitry Gozman
fb00991a78
chore: intercept socks proxy in the driver ( #12021 )
2022-02-13 14:03:47 -08:00
Pavel Feldman
96b5831a49
chore: add support private methods in TS ( #12051 )
2022-02-11 14:46:49 -08:00
Dmitry Gozman
ccb09acdba
fix(remote): make playwright server work with firefox-beta ( #12039 )
...
It is not considered "channel", but rather a "tool".
2022-02-11 14:02:02 -08:00
Max Schmitt
7e7996a7b7
chore(dotnet): do not use global CLI and use ps1 instead ( #12025 )
...
Fixes https://github.com/microsoft/playwright-dotnet/issues/2005
2022-02-11 11:26:16 -08:00
Joel Einbinder
c6641321a0
chore: fix spelling error in comment ( #12038 )
2022-02-11 09:51:13 -08:00
Yury Semikhatsky
abd7084bcc
fix: match default font families in headless chromium ( #11340 )
2022-02-11 09:06:17 -08:00
Dmitry Gozman
d8db785c0a
fix(reporters): correctly handle missing stdout.columns ( #12016 )
...
When columns are not available, do not trim the output.
2022-02-11 08:33:56 -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
66b5cf5ae1
feat(remote): make PlaywrightServer work with browserType.connect ( #11849 )
...
This changes PlaywrigtServer to serve connections like `ws://localhost:3333/?browser=chromium`:
- launches the browser;
- talks `browserType.connect`-style protocol over websocket;
- compatible with `connectOptions` fixture.
```js
await playwright.chromium.connect({ wsEndpoint: 'ws://localhost:3333/?browser=chrome' });
```
2022-02-10 16:36:23 -08:00
Dmitry Gozman
2bc19ae076
chore: extract SocksProxy to a spearate file ( #12011 )
2022-02-10 13:04:19 -08:00
Pavel Feldman
ea590c6f67
fix(teardown): await teardown in failed test runs ( #12012 )
2022-02-10 12:44:42 -08:00
Ross Wollman
0d42c16a17
fix(test-runner): undefined body crash with manual attachments ( #11995 )
...
The new (as of 1.18) `async testInfo.attach(…)` API handles this
gracefully (and is part of the reason for the new API's existence).
However, for the foreseeable future, it's still possible to manually
push onto the attachments array where we can't validate the contents
until it's too late, so this change ensures more graceful handling in
that case.
Fixes #11565
2022-02-10 12:33:38 -08:00
Dmitry Gozman
9c66068971
fix(connect): make route.fulfill({ response }) work ( #12006 )
2022-02-10 12:05:04 -08:00
Pavel Feldman
fbc05b74a7
chore: revert "fix(test-runner): escape backslashes in win cli ( #11763 )" ( #12004 )
2022-02-10 07:02:37 -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
Dmitry Gozman
1f6b84f445
fix(mac): avoid printing empty line to stderr on mac ( #11991 )
...
It turns out, `sw_vers` prints an empty stderr line and we inherit it.
2022-02-09 15:34:10 -08:00
Andrey Lushnikov
6904b3294e
fix(test-runner): fix browser initialization in test modifiers ( #11984 )
...
Fixes #11985
2022-02-09 15:30:14 -08:00
Dmitry Gozman
ae7c52154f
fix(fixtures): make sure connected browser respects context options ( #11990 )
...
Connected browser was wired up to the wrong browserType object.
2022-02-09 15:25:15 -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
Andrey Lushnikov
1e1a6acaf7
fix: proper chrome-beta channel installation on MacOS ( #11973 )
...
chrome-beta installation on MacOS should download universal binaries.
The old download URL for chrome-beta was downloading Chrome Beta M96
2022-02-09 11:28:51 -08:00
Yury Semikhatsky
f2773fbb3a
fix: include call log into browerType.launchServer TimeoutError ( #11956 )
2022-02-09 09:54:16 -08:00
Yury Semikhatsky
706c897031
feat(fixtures): respect tracing config for APIRequestContext ( #11954 )
2022-02-09 08:54:09 -08:00
Pavel Feldman
e9e5de2d57
feat(debug): allow preprocessing JS scripts as well ( #11953 )
2022-02-09 07:14:11 -08:00
Dmitry Gozman
19368e93af
feat(test runner): support connectOptions ( #11919 )
...
This allows to specify `connectOptions` in the config that
switch built-in `browser` to be remotely connected.
2022-02-08 20:45:42 -08:00
Dmitry Gozman
5881a46ecf
fix(test runner): skip beforeAll/afterAll when all tests are skipped ( #11952 )
...
There is a corner case where tests were skipped like this:
```js
test.skip('title', () => {});
```
2022-02-08 16:36:30 -08:00
Andrey Lushnikov
3eba252f2e
chore: cut v1.19.0 ( #11944 )
2022-02-08 16:01:44 -08:00
Dmitry Gozman
e92caf01b3
fix(webServer): do not set baseURL equal to webServer.url ( #11951 )
2022-02-08 15:57:36 -08:00
Pavel Feldman
8dff2e35c8
chore: don't throw on no testDir ( #11950 )
2022-02-08 15:27:05 -08:00
Pavel Feldman
d5158e8d24
chore: revert source-map-support to 0.4.18 ( #11945 )
2022-02-08 14:50:20 -08:00
Pavel Feldman
4bcca2c87e
chore: add a parallel mode note ( #11943 )
2022-02-08 14:36:14 -08:00
Pavel Feldman
9ce8572c78
chore: don't run debugger on pause() ( #11948 )
2022-02-08 14:24:13 -08:00
Yury Semikhatsky
985f932033
chore(trace-viewer): introduce MultiTraceModel ( #11922 )
2022-02-08 12:27:29 -08:00
Pavel Feldman
1b3c7c03b6
chore: fix(stack): ignore stack frames inside whole core ( #11935 )
2022-02-08 10:33:50 -08:00
Pavel Feldman
9f35a97a55
chore(chrome): tolerate unknown target types ( #11936 )
2022-02-08 09:46:05 -08:00
Dmitry Gozman
8a5c93436d
fix(reporter): do not report parallel tests as slow ( #11921 )
2022-02-07 20:10:13 -08:00
Pavel Feldman
dbd124d84b
chore: disable page.pause() when JS debugger is attached ( #11926 )
2022-02-07 19:21:58 -08:00
Dmitry Gozman
7912c515a3
fix(fixtures): account for default options being undefined ( #11916 )
2022-02-07 17:11:36 -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
9116adc684
chore: allow opt-into the legacy global setup mode ( #11888 )
2022-02-07 10:41:56 -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
Yury Semikhatsky
46dfa45b4e
docs: fix parallel test docs build ( #11877 )
2022-02-04 16:44:04 -08:00
Yury Semikhatsky
afc4b505aa
docs: fix duplicate sections ( #11874 )
2022-02-04 13:50:46 -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
Dmitry Gozman
d9a8bb057d
fix(test-fail): allow unhandled expects in test.fail ( #11850 )
...
Previously, we would consider this a worker error, but
we make an exception for "expect()" calls.
2022-02-03 17:14:12 -08:00
Pavel Feldman
72424dc904
chore: allow setting reporter via env ( #11848 )
2022-02-03 16:10:39 -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
Pavel Feldman
fdda759a9d
feat(parallel): allow setting enclosing scope parallel mode ( #11822 )
2022-02-02 20:44:11 -08:00
Andrey Lushnikov
ba0c7e679b
feat(test-runner): support expect.soft ( #11800 )
...
Soft expects will still fail the test, but will not abort it's execution. As a consequence of this:
- `TestResult` now might have multiple errors, which is reflected with a new `testResult.erros: TestError[]` field.
- `TestInfo` now might have multiple errors as well, which is reflected with a new `testInfo.errors: TestError[]` field.
Fixes #7819
2022-02-02 18:33:51 -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
c752b28516
chore: pin production dependencies ( #11793 )
2022-02-02 11:14:41 +01:00
Andrey Lushnikov
b0daa7754f
feat: filter stack traces to exclude test runner frames ( #11795 )
...
Before:
```bash
Running 1 test using 1 worker
1) [chromium] › tests/example.spec.ts:3:1 › should work ==========================================
Error: expect(received).toBe(expected) // Object.is equality
Expected: 2
Received: 1
2 |
3 | test('should work', async({page}) => {
> 4 | expect(1).toBe(2);
| ^
5 | });
6 |
at Proxy.<anonymous> (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/expect.ts:151:30)
at /Users/andreylushnikov/tmp/tests/example.spec.ts:4:13
at /Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:335:13
at runNextTicks (node:internal/process/task_queues:61:5)
at processImmediate (node:internal/timers:437:9)
at TestInfoImpl._runFn (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/testInfo.ts:164:7)
at WorkerRunner._runTestWithBeforeHooks (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:317:24)
at TimeoutRunner.run (/Users/andreylushnikov/prog/playwright/packages/playwright-core/src/utils/async.ts:48:14)
at TestInfoImpl._runWithTimeout (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/testInfo.ts:151:7)
at WorkerRunner._runTestOrAllHook (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:276:5)
at WorkerRunner._runSuite (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:190:11)
at WorkerRunner.run (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:137:9)
at process.<anonymous> (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/worker.ts:87:5)
```
after:
```
Running 1 test using 1 worker
1) [chromium] › tests/example.spec.ts:3:1 › should work ==========================================
Error: expect(received).toBe(expected) // Object.is equality
Expected: 2
Received: 1
2 |
3 | test('should work', async({page}) => {
> 4 | expect(1).toBe(2);
| ^
5 | });
6 |
at /Users/andreylushnikov/tmp/tests/example.spec.ts:4:13
```
2022-02-01 18:40:44 -08:00
Pavel Feldman
ceb3027bdf
chore(test-runner): force colors in worker processes ( #11799 )
2022-02-01 17:29:15 -08:00
Pavel Feldman
6e2fcc4700
chore: do not expose suite load error ( #11797 )
2022-02-01 15:34:16 -08:00
Yury Semikhatsky
e7bd62f202
docs(electron): minimal version ( #11792 )
2022-02-01 14:45:30 -08:00
Pavel Feldman
f875ebe730
fix(test-runner): respect source maps when reporting test files ( #11770 )
2022-02-01 13:04:54 -08:00
Max Schmitt
028afb167b
chore: bump production dependencies ( #11787 )
2022-02-01 21:27:34 +01:00
Pavel Feldman
a3bc911a3d
fix(debug): don't apply infinite timeouts when using debugger ( #11785 )
2022-02-01 11:51:37 -08:00
Caio Agiani
b6b60decdf
fix: typos ( #11789 )
2022-02-01 11:09:41 -08:00
Pavel Feldman
3a5e8184b5
fix(html-reporter): open tests from required file ( #11784 )
2022-02-01 11:01:52 -08:00
Yury Semikhatsky
c2f6462a6b
fix(trace-viewer): info message for actions without snapshots ( #11765 )
2022-02-01 09:26:38 -08:00
Pavel Feldman
c82f2641d7
fet(list-files): report per-project test dir and filters ( #11764 )
2022-02-01 08:08:56 -08:00
Pavel Feldman
c5d852f1bb
fix(test-runner): escape backslashes in win cli ( #11763 )
2022-01-31 17:48:05 -08:00
Andrey Lushnikov
2336692e8a
feat: support clarification message for expect ( #11735 )
...
The clarification message is displayed in the HTML report as the name of the step:

It is also shown in terminal output:

Fixes #7816
2022-01-31 17:14:59 -08:00
Pavel Feldman
2b55adaafa
feat(breaking): always report onBegin/onEnd, report file errors ( #11758 )
2022-01-31 17:09:04 -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
129d9d3643
docs(tracing): clarify capture semantics ( #11756 )
2022-01-31 11:44:10 -08:00
github-actions[bot]
22989ffb98
feat(firefox-beta): roll to r1316 ( #11675 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-31 19:06:09 +01:00
Andrey Lushnikov
3a4e506479
chore: extract SigIntWatcher ( #11749 )
...
This is to reduce the size of the long `_run` method in the `runner.ts`.
It also might come handy around the codebase.
2022-01-31 08:51:22 -08:00
Andrey Lushnikov
b58b004f0f
fix: run reporter.onEnd after webserver teardown ( #11712 )
...
Fixes #11647
2022-01-31 06:19:33 -08:00
Xiaoxing Ye
a35c249fdc
fix: quote path to prevent space issue ( #11733 )
...
Co-authored-by: Xiaoxing Ye <xiaoye@microsoft.com>
2022-01-29 09:56:58 -08:00
Dmitry Gozman
eeebcd53ae
chore(test runner): extract TestInfoImpl ( #11725 )
2022-01-28 17:39:42 -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
Dmitry Gozman
30f3cbd6da
fix(fixtures): make sure defaultLaunchOptions are always there ( #11713 )
2022-01-28 10:51:55 -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
Pavel Feldman
29a84b2df8
chore: allow pre-processing scripts ( #11702 )
2022-01-27 14:32:23 -08:00
Feng Yu
0698254253
docs: fix broken link ( #11687 )
...
fix #11680
2022-01-27 13:00:09 -08:00
Andrey Lushnikov
0606afb2e6
chore: rename env variables ( #11661 )
...
These variables aren't CLI-only anymore, so pick some more general
names for them.
Note: all language ports would need to follow-up with the rename
after the next roll.
Fixes #11450
2022-01-27 09:06:43 -08:00
github-actions[bot]
d6e6d33db3
feat(firefox): roll to r1316 ( #11676 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-27 09:04:11 -08:00
Dmitry Gozman
b1fbc4fdbe
fix(test runner): resolve tsconfig for each file ( #11662 )
...
This allows us to properly handle path mappings
that are not too ambiguous.
2022-01-26 18:28:42 -08:00
divdavem
512a245f13
feat(test-runner): wait for a url before starting tests ( #10138 )
...
The webServer configuration in @playwright/test now accepts a url as an
alternative to a port number to wait for a url to return a 2xx status code.
2022-01-26 16:32:58 -08:00
hackerman
872a4be752
fix(server): handle = in cookie values correctly ( #11613 )
2022-01-26 11:27:43 -08:00
Dmitry Gozman
687a16b848
feat(locator): introduce locator.page() getter ( #11630 )
2022-01-26 07:58:58 -08:00
Dmitry Gozman
19820de7a9
fix(test runner): correctly save videos when running remotely ( #11633 )
2022-01-26 07:43:07 -08:00
Dmitry Gozman
4f42484c64
chore(test runner): simplify runTestWithBeforeHooks ( #11629 )
2022-01-25 16:46:50 -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
Puneet Agarwal
07e33e0c8c
Import remote client and server module ( #11622 )
2022-01-25 12:14:30 -08:00
Dmitry Gozman
800b813d4b
chore(test runner): prepare to per-fixture timeout ( #11605 )
...
This reworks DeadlineRunner to use exception to signal timeout. This way,
we'll be able to run fixtures against a shared deadline vs their own
deadline and still get an easy control-flow timeout handling.
2022-01-25 11:22:28 -08:00
Andrey Lushnikov
3c27badd31
fix: bail early when installing channels on non-ubuntu ( #11617 )
...
Fixes #11615
2022-01-25 09:13:42 -08:00
Andrey Lushnikov
42876a0528
fix: support PWDEBUG=0 to disable debug ( #11611 )
...
Fixes #11606
2022-01-25 08:40:24 -08:00
Andrey Lushnikov
e10cb4a619
devops: fix Firefox on Ubuntu 20.04 aarch64 ( #11602 )
...
Turns out Firefox 96 now requires libxtst6 on Ubuntu 20.04 aarch64.
2022-01-24 16:20:28 -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
Dmitry Gozman
a5bc2efc18
chore: followRedirects in PlaywrightClient ( #11599 )
2022-01-24 12:41:27 -08:00
Pavel Feldman
136fab7041
fix(prepare): don't change package files on prepare ( #11579 )
2022-01-24 11:25:24 -08:00
Pavel Feldman
9542b007cf
fix(esm): don't emit module shorthand warning ( #11596 )
2022-01-24 11:22:56 -08:00
campersau
4d42f6a1c4
chore: remove unused _waitingForObject from Connection ( #11474 )
2022-01-24 18:58:57 +01: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
Pavel Feldman
0b99d83911
chore: include config dir in quick list report ( #11563 )
2022-01-22 17:02:46 -08:00
Max Schmitt
f29a673b4c
fix: do not mute route handler exceptions ( #11555 )
2022-01-22 22:19:32 +01:00
Yury Semikhatsky
ab9d5a0dc4
chore(tracing): add tracing to APIRequestContext ( #11502 )
2022-01-22 11:25:13 -08:00
Pavel Feldman
baf0e5b47a
chore: implement lightweight test listing ( #11551 )
2022-01-21 19:11:22 -08:00
Yury Semikhatsky
295d0a65c3
fix(har): do not hang on cached resources ( #11556 )
2022-01-21 16:31:00 -08:00
Max Schmitt
3fb3ba7b96
chore: fix html report bottom padding ( #11541 )
2022-01-21 13:58:55 +01:00
github-actions[bot]
7183c06569
feat(firefox): roll to r1315 ( #11535 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-21 10:55:47 +01:00
github-actions[bot]
d08d333f23
feat(firefox-beta): roll to r1315 ( #11536 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-21 10:55:33 +01:00
Pavel Feldman
6b3e596fd8
fix(baseurl): support path-less baseurl ( #11527 )
2022-01-20 18:11:56 -08:00
Max Schmitt
fb139cefac
fix: playwright.locator.hasText RegExp flag serialisation in Console API ( #11516 )
2022-01-21 01:05:37 +01:00
github-actions[bot]
33c82a42c0
feat(webkit): roll to r1599 ( #11524 )
2022-01-20 15:44:13 -08:00
Pavel Feldman
50fa839e64
chore: include transpilation mode in the compute cache hash ( #11521 )
2022-01-20 13:33:40 -08:00
Yury Semikhatsky
c510819407
fix(windows): hide child console window when running PrintDeps ( #11468 )
2022-01-19 10:38:51 -08: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
github-actions[bot]
ae8294dd04
feat(webkit): roll to r1597 ( #11463 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-18 09:27:53 -08:00
Max Schmitt
b79daec8e0
chore: make it possible to override Locator.dragTo(strict) ( #11457 )
2022-01-18 17:51:15 +01:00
Ross Wollman
33f32368e5
fix(test runner): dispatcher transformation of empty attachments ( #11414 )
2022-01-17 18:47:24 -08:00
Pavel Feldman
815e121445
feat(highlight): update highlight from raf ( #11443 )
2022-01-17 18:33:35 -08:00
Pavel Feldman
8ecf581b45
chore: focus by line should override only ( #11427 )
2022-01-16 08:47:09 -08:00
Pavel Feldman
8b0ef4ad6b
chore: introduce oop testing mode for debugging ( #11428 )
2022-01-15 19:25:32 -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
Max Schmitt
badb5b4d13
chore(pw-test): forward web-server stdout to debug target ( #11384 )
2022-01-13 23:55:46 +01:00
Dmitry Gozman
9d5bf0e90d
fix(test runner): fixture teardown double error, testInfo.attach() ( #11365 )
...
- Use file path, not content to calculate the attachment hash.
- Always cleanup fixture from the list on teardown, to avoid reporting
teardown error multiple times: from the test, and from the cleanup.
2022-01-13 10:38:47 -08:00
Dmitry Gozman
73fed66896
docs: add comments to Promise.all snippets with explanation ( #11379 )
...
Drive-by: more locators.
2022-01-13 10:38:22 -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
Andrey Lushnikov
9285596806
chore: cut v1.18.0 ( #11358 )
...
Drive-by: fix the `//utils/bump_package_versions.js` script.
2022-01-12 11:50:44 -08:00
Pavel Feldman
853757930d
chore: don't log twice twice ( #11361 )
2022-01-12 11:37:49 -08:00
William Bergeron-Drouin
a70f4e6410
fix(android): use isRegExp for a more robust check in different execution contexts ( #11359 )
2022-01-12 11:04:18 -08:00
Pavel Feldman
5751a1255b
fix(html): set default link color for safari ( #11353 )
2022-01-12 09:05:45 -08:00
Andrey Lushnikov
6f932fcb4a
fix: default list reporter should dump stderr to stderr ( #11351 )
...
This is consistent with all other reporters we have in place.
2022-01-12 07:43:25 -08:00
Pavel Feldman
a12e76b52b
chore: implement locator._highlight / playwright._hideHighlight ( #11339 )
2022-01-12 07:37:48 -08:00
github-actions[bot]
2b6aeb0902
feat(webkit): roll to r1596 ( #11344 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-12 01:42:13 -08:00
Dmitry Gozman
359d523ec3
fix(selectors): allow :scope with additional css ( #11338 )
2022-01-11 18:40:29 -08:00
Dmitry Gozman
4efb30999f
feat(request): show request context methods as steps ( #11337 )
2022-01-11 17:33:41 -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
Andrey Lushnikov
2a0930c7a4
docs: clarification about trailing slash in docs ( #11326 )
...
Fixes #10557
2022-01-11 07:50:58 -08:00
Dmitry Gozman
da1f39fb29
chore(test runner): refactor worker runner parts ( #11316 )
...
This will make it easier to change in the future.
2022-01-10 20:25:56 -08:00
Dmitry Gozman
d36ff8a96c
fix(test runner): remove test output for failures ( #11308 )
2022-01-10 13:22:09 -08:00
Dmitry Gozman
14fd837e94
fix(test runner): hide beforeAll/afterAll hooks from the reporter api ( #11306 )
...
This api is not ready yet.
2022-01-10 12:09:51 -08:00
Andrey Lushnikov
7b1fecc009
fix: default to en-US locale in all browsers in Playwright Test ( #11133 )
...
It makes sense to default to en-US by default across all our browsers in Playwright Test.
Fixes #11127
2022-01-10 08:37:55 -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]
1dbf1c287d
feat(firefox-beta): roll to r1314 ( #11271 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-10 03:25:52 -08:00
github-actions[bot]
c0366803fd
feat(firefox): roll to r1313 ( #11270 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-01-10 03:24:58 -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
Michaël De Boey
ff5f75dc10
fix: pin colors to 1.4.0 ( #11274 )
2022-01-09 16:18:21 -08: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
Dmitry Gozman
058f98d3dd
fix(test runner): revert error location from top frame ( #11250 )
...
This does not play nicely with some internal Playwright errors, so
it needs more tweaks.
2022-01-07 11:06:47 -08:00
Dmitry Gozman
19460d50e4
chore(test runner): process-wide cache of required test files ( #11230 )
...
This is a preparation to TestRunner api, where we should be
able to run tests multiple times in the same runner process.
2022-01-06 15:38:10 -08:00
Pavel Feldman
16dafba153
fix(html): prevent image diff from flickering ( #11184 )
2022-01-06 15:19:16 -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
8e75dbffaa
fix(errors): waitForEvent/Request/Response should point to the api call ( #11229 )
2022-01-06 14:47:52 -08:00
Pavel Feldman
5fa7d19f1c
feat(html): render inline attachments as monospace ( #11214 )
2022-01-06 09:29:55 -08:00
Pavel Feldman
373042ed89
chore: don't allow importing @playwright/test twice ( #11218 )
2022-01-06 09:29:05 -08:00
Dmitry Gozman
be896848bb
fix(selectors): properly determine visibility of display:contents ( #11212 )
2022-01-05 16:54:15 -08:00
Dmitry Gozman
3ecac56cc0
fix(test runner): testInfo.attach api review changes ( #11211 )
...
Remove overload, require name, merge options.
2022-01-05 16:39:33 -08:00
Dmitry Gozman
f77c874e8a
feat(test runner): make _extendTest experimental ( #11210 )
...
Hidden from types and docs.
2022-01-05 15:54:00 -08:00
Dmitry Gozman
ccc61e31ea
chore(test runner): preparation for TestRunner api ( #11209 )
2022-01-05 15:49:01 -08:00
Dmitry Gozman
3839917eb6
chore(test runner): move config loading to runner ( #11186 )
...
In preparation for the TestRunner api.
2022-01-05 13:44:29 -08:00
Ross Wollman
3a4b7fa792
fix(html reporter): skip img bits with non-images ( #11188 )
2022-01-05 09:04:08 -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
Dmitry Gozman
16a779a5ff
fix(test runner): show codeframe and location from the error top stack frame ( #11179 )
...
Previously, reporter would look for a stack frame directly in the test file.
Often times, that is not a top stack frame, especially when the test uses
some helper functions.
This changes error snippets and locations to use the top frame. When top
frame does not match the test file, we additionally show the location
to avoid confusion:
```
1) a.spec.ts:7:7 › foobar ========================================================================
Error: oh my
at helper.ts:5
3 |
4 | export function ohMy() {
> 5 | throw new Error('oh my');
| ^
6 | }
7 |
at ohMy (.../reporter-base-should-print-codeframe-from-a-helper/helper.ts:5:15)
at .../reporter-base-should-print-codeframe-from-a-helper/a.spec.ts:8:9
at FixtureRunner.resolveParametersAndRunHookOrTest (.../src/fixtures.ts:281:12)
```
2022-01-04 16:00:55 -08:00
Andrey Lushnikov
13dd41c2e3
devops: fix self-hosted runner stack collection ( #11169 )
...
In case of self-hosted github runners, it's much easier to checkout
under `playwright-internal` folder name instead of a default
`playwright` name. This confuses our stack collection.
This patch makes it generic.
2022-01-04 06:23:28 -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
Pavel Feldman
7bfa6f9b5f
feat(html): group similar items in the report ( #11160 )
2022-01-03 21:17:17 -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
Pavel Feldman
a0aeaeb929
test: expose repeatEachIndex ( #11158 )
2022-01-03 17:29:54 -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]
a090907305
feat(firefox-beta): roll to r1313 ( #11140 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-30 14:59:39 -08:00
Andrey Lushnikov
237b4d5821
devops: download new MacOS 12 WebKit builds ( #11066 )
...
Drive-by: simplify management of executable paths since they are
the same for each platform.
References #11031
2021-12-29 20:40:45 -08:00
Andrey Lushnikov
056d310e20
feat(ffmpeg): roll ffmpeg to 1007 ( #11081 )
...
This build:
- Includes a native build for Mac Arm64
- Changes executable name for the linux arm64 build
2021-12-29 20:10:29 -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]
450c8086b9
feat(firefox-beta): roll to r1312 ( #11125 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-29 16:54:58 -08:00
Ross Wollman
dadb5cbc30
fix(html reporter): fix too much strikethrough in diffs ( #11115 )
...
Textual snapshot diffs were previously broken in the HTML Report. The strikethrough'd text extended beyond the intended region.
HTML Report Before:
<img width="693" alt="Screen Shot 2021-12-27 at 4 43 35 PM" src="https://user-images.githubusercontent.com/11915034/147518750-a60f9002-6eed-48a1-a412-20fabd076fa6.png ">
HTML Report After:
<img width="206" alt="Screen Shot 2021-12-27 at 4 48 37 PM" src="https://user-images.githubusercontent.com/11915034/147518762-19a4c8f9-ccc3-4a3c-a962-5a42edc6fc5d.png ">
This now matches what's expected and shown in the terminal (which has always been correct):
<img width="1384" alt="Screen Shot 2021-12-27 at 4 36 29 PM" src="https://user-images.githubusercontent.com/11915034/147518799-f538259e-5a45-4d6f-916c-a12ccb620c5b.png ">
NB: This MR is a workaround, but not a root cause fix. It works, but I never fully got to the root cause so a bug upstream may be required. It's unclear whether it's (1) in [`colors`](https://www.npmjs.com/package/colors ), (2) in [`ansi-to-html`](https://www.npmjs.com/package/ansi-to-html ), or (3) Playwright's use of the two. Since the terminal output is correct, I suspect it is in `ansi-to-html`. For example:
```js
const colors = require("colors");
const Convert = require('ansi-to-html');
const convert = new Convert();
// original (strike incorrectly wraps everything in the HTML)
console.log(convert.toHtml(colors.strikethrough("crossed out") + ' ' + colors.red("red")))
// prints: <strike>crossed out <span style="color:#A00">red<span style="color:#FFF"></span></span></strike>
// workaround
console.log(convert.toHtml(colors.reset(colors.strikethrough("crossed out")) + ' ' + colors.red("red")))
// prints: <strike>crossed out</strike> <span style="color:#A00">red<span style="color:#FFF"></span></span>
```
Fixes #11116
2021-12-28 09:56:34 -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
Dmitry Gozman
f933759ad1
chore(test runner): minor improvements ( #11067 )
...
- Types for fixture options and more.
- Refined type for deadline runner.
2021-12-22 09:59:58 -08: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
Yury Semikhatsky
8f9eaf7cba
fix(types): allow specifying element type in locator.evaluate callback ( #11048 )
2021-12-21 13:17:45 -08:00
Dmitry Gozman
f5304e3bda
fix(fixtures): await fixture teardown when shutting down the worker ( #11033 )
2021-12-20 16:19:21 -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
Dmitry Gozman
2d00836f0e
fix(test runner): show the location of afterAll timeout ( #11007 )
2021-12-18 09:32:41 -08:00
Dmitry Gozman
c9ba49936f
feat(reporters): show retry #x when running a test ( #11003 )
2021-12-17 21:07:04 -08:00
Pavel Feldman
8f98074fc8
chore: add blink-diff third party library ( #10984 )
2021-12-17 15:53:37 -08:00
Dmitry Gozman
b6aad54b9f
fix(test runner): test.setTimeout whould not break debugging ( #11004 )
...
We ignore test.setTimeout() when timeout is already zero for debugging.
2021-12-17 15:17:48 -08:00
Dmitry Gozman
f5780be41b
fix(list reporter): make sure that duration suffix survives truncation ( #11002 )
2021-12-17 13:08:02 -08:00
Pavel Feldman
037baf0945
fix(trace-viewer): scroll action into view ( #10978 )
2021-12-17 12:20:01 -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
93ad12978c
fix(test runner): disable expect, action and navigation timeouts on debug ( #10958 )
...
We disable these timeouts when test timeout is set to zero.
This covers PWDEBUG=1, --debug and manual `test.setTimeout(0)` scenarios.
2021-12-16 18:32:46 -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
Andrey Lushnikov
773ebe04c6
chore: follow-up to handling docker corner cases ( #10981 )
2021-12-16 15:29:20 -08:00
Mario Nebl
70ed020c87
fix: handle docker edge cases ( #10501 )
...
## Before
* When docker wasn't running: crashed with a TypeError
* When any image without `RepoTags` was present: crashed with TypeError
* Typo in recommended command ("playwight")
* No indication of `PW_TEST_IMAGE` env var in error output
<details>
<summary>Docker not running</summary>
```
Using config at ~redacted/playwright.config.ts
ERROR get /images/json 500 dial unix docker.raw.sock: connect: connection refused
TypeError: Cannot read property 'find' of null
at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:67:26)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:43:9)
at GridServer.createAgent (~redacted/node_modules/playwright-core/lib/grid/gridServer.js:356:5)
at launchDockerContainer (~redacted/node_modules/@playwright/test/lib/cli.js:259:3)
at Runner._run (~redacted/node_modules/@playwright/test/lib/runner.js:236:98)
Running 1 test using 1 worker
test.ts:9:1 › some redacted description
ERROR get /images/json 500 dial unix docker.raw.sock: connect: connection refused
TypeError: Cannot read property 'find' of null
at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:67:26)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js
```
</details>
<details>
<summary>Image without repo tags</summary>
```
Using config at ~redacted/playwright.config.ts
TypeError: Cannot read property 'includes' of undefined
at ~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:67:55
at Array.find (<anonymous>)
at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:67:26)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:43:9)
at GridServer.createAgent (~redacted/node_modules/playwright-core/lib/grid/gridServer.js:356:5)
at launchDockerContainer (~redacted/node_modules/@playwright/test/lib/cli.js:259:3)
at Runner._run (~redacted/node_modules/@playwright/test/lib/runner.js:236:98)
Running 1 test using 1 worker
some-test.ts › some description
TypeError: Cannot read property 'includes' of undefined
at ~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:67:55
at Array.find (<anonymous>)
at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:67:26)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.j ✘ editor-editor-wysiwyg--editor-wysiwyg.vr.ts:9:1 › actual element matches expected element (26ms)
1) some-test.ts › some description =====
'Grid agent creation failed'
1 failed
some-test.ts › some description ======
```
</details>
## After
* Helpful error message if docker isn't running
* Doesn't crash when local-only images in list
* No typo in `playwright install docker-image` command
* When other playwright images are found they are listed and `PW_TEST_IMAGE` is mentioned
### After: Docker not running
```
Using config at ~redacted/playwright.config.ts
Error fetching json: Error: connect ECONNREFUSED /var/run/docker.sock
Error:
╔═════════════════════════════════════════╗
║ Failed to list docker images ║
║ Please ensure docker daemon is running. ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════╝
at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:61:11)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:43:9)
at GridServer.createAgent (~redacted/node_modules/playwright-core/lib/grid/gridServer.js:356:5)
at launchDockerContainer (~redacted/node_modules/@playwright/test/lib/cli.js:259:3)
at Runner._run (~redacted/node_modules/@playwright/test/lib/runner.js:236:98)
Running 1 test using 1 worker
test.ts:9:1 › description
Error fetching json: Error: connect ECONNREFUSED /var/run/docker.sock
Error:
╔═════════════════════════════════════════╗
║ Failed to list docker images ║
║ Please ensure docker daemon is running. ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════╝
at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:61:11)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.j ✘ test.ts:9:1 › description
1) test.ts:9:1 › description =====
'Grid agent creation failed'
1 failed
test.ts:9:1 › description ======
```
## After: No exact match found
```
Using config at ~redacted/playwright.config.ts
Error:
╔════════════════════════════════════════════════════════════════════════════╗
║ Failed to find mcr.microsoft.com/playwright:v1.16.3-focal docker image. ║
║ ║
║ Available images: ║
║ - mcr.microsoft.com/playwright:v1.16.3 ║
║ - mcr.microsoft.com/playwright:v1.16.2-focal ║
║ ║
║ Use available images via PWTEST_IMAGE_NAME environment variable: ║
║ PWTEST_IMAGE_NAME=mcr.microsoft.com/playwright:v1.16.3 playwright test ║
║ ║
║ Alternatively, please pull docker image with the following command: ║
║ ║
║ npx playwright install docker-image ║
║ ║
║ <3 Playwright Team ║
╚════════════════════════════════════════════════════════════════════════════╝
at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:92:11)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:43:9)
at GridServer.createAgent (~redacted/node_modules/playwright-core/lib/grid/gridServer.js:356:5)
at launchDockerContainer (~redacted/node_modules/@playwright/test/lib/cli.js:259:3)
at Runner._run (~redacted/node_modules/@playwright/test/lib/runner.js:236:98)
Running 1 test using 1 worker
editor-editor-wysiwyg--editor-wysiwyg.vr.ts:9:1 › actual element matches expected element
Error:
╔════════════════════════════════════════════════════════════════════════════╗
║ Failed to find mcr.microsoft.com/playwright:v1.16.3-focal docker image. ║
║ ║
║ Available images: ║
║ - mcr.microsoft.com/playwright:v1.16.3 ║
║ - mcr.microsoft.com/playwright:v1.16.2-focal ║
║ ║
║ Use available images via PWTEST_IMAGE_NAME environment variable: ║
║ PWTEST_IMAGE_NAME=mcr.microsoft.com/playwright:v1.16.3 playwright test ║
║ ║
║ Alternatively, please pull docker image with the following command: ║
║ ║
║ npx playwright install docker-image ║
║ ║
║ <3 Playwright Team ║
╚════════════════════════════════════════════════════════════════════════════╝
at launchDockerGridAgent (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.js:92:11)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Object.launch (~redacted/node_modules/playwright-core/lib/grid/dockerGridFactory.j ✘ test.ts:9:1 › description
1) test.ts:9:1 › description =====
'Grid agent creation failed'
1 failed
test.ts:9:1 › description ======
```
2021-12-16 15:11:51 -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
Pavel Feldman
24ee6a8a1e
test: add screenshots to html tests ( #10925 )
2021-12-15 19:19:43 -08:00
Andrey Lushnikov
d379097107
feat(firefox-beta): roll Firefox-beta to 1311 ( #10961 )
2021-12-15 18:26:35 -08:00
Andrey Lushnikov
2957b7b013
feat(firefox-beta): roll to r1310 ( #10954 )
2021-12-15 17:33:09 -08:00
Yury Semikhatsky
fcccac0c08
fix(tracing): return early if no trace was produced ( #10953 )
...
This fixes [page/page-set-input-files.spec.ts](https://devops.aslushnikov.com/flakiness2.html#filter_spec=page%2Fpage-set-input-files.spec.ts&commits=50&test_parameter_filters=%5B%5B%22browserName%22%2C%5B%5B%22electron%22%2C%22exclude%22%5D%5D%5D%2C%5B%22platform%22%2C%5B%5B%22Android%22%2C%22exclude%22%5D%5D%5D%2C%5B%22video%22%2C%5B%5Btrue%2C%22exclude%22%5D%5D%5D%2C%5B%22trace%22%2C%5B%5Btrue%2C%22include%22%5D%5D%5D%5D×tamp=1639590204582 ) failures.
2021-12-15 17:19:00 -08:00
Dmitry Gozman
192071d5bc
feat(test runner): save traces for beforeAll/afterAll hooks ( #10950 )
2021-12-15 16:06:10 -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
Dmitry Gozman
19b08332ce
feat(test runner): disable test timeout on page.pause() call ( #10944 )
2021-12-15 11:12:52 -08:00
Max Schmitt
bfc6cc2701
chore: do not make HEAD request when opening remote traces ( #10948 )
2021-12-15 11:12:31 -08:00
Max Schmitt
4fd8a40129
chore: fix wrong aligned protocol YAML ( #10947 )
2021-12-15 11:12:13 -08:00
Dmitry Gozman
0d54afab9c
feat(test runner): show beforeAll/afterAll hooks similar to tests ( #10923 )
...
Reporters now get notified about hooks start/end/steps.
2021-12-15 10:39:49 -08:00
github-actions[bot]
8499d59bdc
feat(firefox-beta): roll to r1309 ( #10926 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-14 23:27:23 -08:00
Pavel Feldman
f579f9c806
chore: parse tsx tests ( #10917 )
2021-12-14 19:25:07 -08:00
Pavel Feldman
04e82ce71c
feat(api): make withText an option ( #10922 )
2021-12-14 15:37:31 -08:00
Dmitry Gozman
34b84841b0
chore(test runner): create TestResult instances lazily in dispatcher ( #10921 )
...
This prepares for beforeAll/afterAll hooks to be handled in the same way.
Since we do not know in advance whether a hook will run, we must create
TestResults lazily.
2021-12-14 14:10:56 -08:00
Dmitry Gozman
5c4ebdce54
fix(line reporter): clarify about retries when going over total counter ( #10901 )
2021-12-13 19:06:13 -08:00
Pavel Feldman
e55f96d466
test: add component tests for html report ( #10900 )
2021-12-13 18:30:48 -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
Pavel Feldman
a82a3f1128
chore: move html report to package ( #10898 )
2021-12-13 16:38:26 -08:00
Joel Einbinder
d8abb18c57
chore: allow private build-only packages ( #10893 )
2021-12-13 15:37:41 -08:00
Pavel Feldman
f166c67707
chore: more html reporter components ( #10896 )
2021-12-13 15:37:01 -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
9491f6652d
fix(steps): do not show unnecessary steps for internal waitForEventInfo ( #10889 )
2021-12-13 13:32:53 -08:00
Joel Einbinder
c27491cd4d
feat(test-runner): shorten long output paths ( #10523 )
2021-12-13 10:56:03 -08:00
Joel Einbinder
7a02c52144
feat(test-runner): specific playwright types for expect ( #10670 )
2021-12-13 13:42:36 -05:00
Dmitry Gozman
9f2a040241
fix(chromium): workaround enable-automation infobar ( #10869 )
2021-12-13 10:35:39 -08:00
Pavel Feldman
6521a6f3ab
chore: split html report into files ( #10876 )
2021-12-12 14:56:12 -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
github-actions[bot]
105912e898
feat(firefox-beta): roll to r1308 ( #10870 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-11 17:27:24 -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
308c7b4e32
docs: update test advanced guides ( #10861 )
...
Linking to the API reference, using better examples and newer docs.
2021-12-10 11:15:01 -08:00
Yury Semikhatsky
976af162b0
feat(tracing): pack sources to trace on the driver side ( #10815 )
2021-12-09 17:21:17 -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
Yury Semikhatsky
4621f61c7d
docs: converting Locator to FrameLocator ( #10839 )
2021-12-09 15:21:04 -08:00
Dmitry Gozman
897e41c6c1
docs: document TestOptions.video.size ( #10827 )
2021-12-09 07:38:58 -08:00
Max Schmitt
43b7e6c26d
chore: allow CLI version override ( #10814 )
2021-12-08 23:32:21 -08:00
Pavel Feldman
b5933db279
feat(tsconfig): respect baseUrl and paths from tsconfig ( #10525 )
2021-12-08 22:43:00 -08:00
Dmitry Gozman
4996e184bf
fix(electron): make recordVideo work ( #10810 )
2021-12-08 17:34:50 -08:00
Pavel Feldman
c7193c7716
feat(trace): add a link to download trace ( #10807 )
2021-12-08 15:41:35 -08:00
Pavel Feldman
917924d279
docs: extract locators doc ( #10795 )
2021-12-08 09:54:01 -08:00
Pavel Feldman
4d683cef7f
fix(html): render text attachments as text ( #10778 )
2021-12-08 08:51:44 -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
Max Schmitt
fdb633dc8b
fix: support regexp flags with locator.withText() ( #10779 )
2021-12-07 19:33:04 -08:00
Pavel Feldman
a08a41f6c9
chore: render annotations in html report ( #10774 )
2021-12-07 18:35:06 -08:00
Pavel Feldman
feb4c62da1
fix(html): html reporter fixes ( #10770 )
2021-12-07 16:47:47 -08:00
Max Schmitt
300a7f9b44
Revert "chore: validate client/server version match for remote connections ( #10542 )" ( #10766 )
...
This reverts commit 41070a2f55 .
2021-12-07 14:45:05 -08:00
Pavel Feldman
c9220801e7
feat(cli): add locator methods to the cli api ( #10746 )
2021-12-07 12:32:11 -08:00
Dmitry Gozman
6698f3277a
fix(traceViewer): calculate the number of filmstrip frames correctly ( #10757 )
...
We now fit evenly-spaced frames into available width (as intended before),
and then add one more last frame that could be cropped at the right.
2021-12-07 11:58:20 -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
github-actions[bot]
fe00c1f5d3
feat(firefox-beta): roll to r1307 ( #10749 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-12-07 08:54:57 -08:00
Dmitry Gozman
ec74fa6a76
feat(fill): support color and range input types ( #10736 )
2021-12-06 15:43:10 -08:00
Dmitry Gozman
516360be5f
fix(waitForEvent): include timeout value in the timeout message ( #10738 )
2021-12-06 15:42:57 -08:00
Max Schmitt
5610974312
chore: fix installing of branded browsers under non-root ( #10640 )
2021-12-06 14:49:22 -08:00
Pavel Feldman
7765131a14
feat(acceptDownload): revert acceptDownload ( #10709 )
2021-12-06 09:25:24 -08:00
Pavel Feldman
518d67add5
feat(test.info): expose information on the currently running test ( #10708 )
2021-12-06 09:25:11 -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
Pavel Feldman
3daf008067
docs(locator): add section on working with the lists ( #10651 )
2021-12-02 20:29:38 -08:00
Yury Semikhatsky
8afd0b7d6a
feat(tracing): trace context APIRequest calls ( #10684 )
2021-12-02 15:53:47 -08:00
Dmitry Gozman
98e2f40bb0
docs: replace TestCase.suite with TestCase.parent ( #10687 )
...
It is there by mistake.
2021-12-02 14:24:43 -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
Pavel Feldman
541248006c
chore: remove create-playwright, it is in monorepo by mistake ( #10654 )
2021-12-01 13:09:35 -08:00
Dmitry Gozman
6e00af3b2e
fix(click): revert layout shift logic ( #10653 )
2021-12-01 12:54:20 -08:00
Max Schmitt
aba52be169
chore: use curl instead of wget when installing stable channels ( #10637 )
2021-12-01 18:26:28 +01:00
Pavel Feldman
127dacf5d4
fix(toHaveText): normalize zero width white space ( #10623 )
2021-12-01 09:21:21 -08:00
Saransh Miglani
f05252874a
chore: minor code rearrangement ( #10650 )
2021-12-01 09:18:16 -08:00
Yury Semikhatsky
d66b7aab3b
feat(expext): toBeOK for APIResponse ( #10596 )
2021-11-30 18:12:19 -08:00
Dmitry Gozman
729da65eba
fix(test runner): allow multiple missing snapshots per test ( #10621 )
...
Instead of failing right away, continue test execution but mark
the test as failed.
2021-11-30 17:50: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
Max Schmitt
e7f1fd5c56
chore: escape CSS selectors in codegen correctly ( #10608 )
2021-11-30 21:13:41 +01:00
Max Schmitt
3337920c76
docs: clarify webServer ipv4/ipv6 and baseURL protocol ( #10610 )
2021-11-30 20:01:28 +01:00
Max Schmitt
682d1f41c7
fix(test-runner): wrong test-runner options got determined ( #10607 )
...
Follow-up for #10507
2021-11-30 19:59:35 +01:00
github-actions[bot]
c9881a28f1
feat(firefox): roll to r1307 ( #10605 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-11-30 14:26:26 +01:00
github-actions[bot]
43e2adafde
feat(firefox-beta): roll to r1306 ( #10600 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-30 12:48:23 +01:00
Max Schmitt
41070a2f55
chore: validate client/server version match for remote connections ( #10542 )
...
* chore: validate client/server version match on connect
* only validate major and minor
2021-11-30 08:36:00 +01:00
Pavel Feldman
3997671ab7
fix(selectors): do not hide selector errors ( #10595 )
2021-11-29 17:13:24 -08:00
Max Schmitt
9337aa3cdf
fix(test-runner): webServer port detection on Node.js 17 ( #10538 )
2021-11-29 19:36:35 +01:00
Joel Einbinder
15053d9b3b
fix(test-runner): apply default options to all browserTypes ( #10507 )
2021-11-29 12:21:15 -05:00
Max Schmitt
293c233a49
docs(test-runner): add webServer ( #10531 )
2021-11-29 18:01:14 +01:00
Saransh Miglani
ca1064e6c1
download code re-organized ( #10568 )
2021-11-29 08:53:33 -08:00
github-actions[bot]
f7da3c31f9
feat(chromium): roll to r945495 ( #10560 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-27 08:53:11 +01:00
Joel Einbinder
20c0facfb9
fix(test runner): dont mangle test names with multiple dashes ( #10447 )
2021-11-24 19:36:38 -05:00
Max Schmitt
da02c2e2c8
chore: add --dry-run to install-deps CLI command ( #10520 )
2021-11-25 01:04:42 +01:00
Pavel Feldman
5d19f16601
feat(esm): introduce experimental PW_EXPERIMENTAL_TS_ESM option ( #10519 )
2021-11-24 14:17:01 -08:00
Max Schmitt
af4a1c2d26
docs(python): add request API examples ( #10512 )
2021-11-24 21:55:03 +01:00
Max Schmitt
c08bb427cf
chore(create-playwright): add stable channels to example config ( #10514 )
2021-11-24 21:50:29 +01:00
Pavel Feldman
7eb3f76f49
feat(esm): allow running tests in type module projects ( #10503 )
2021-11-24 12:42:48 -08:00
Dmitry Gozman
b8b6c7a220
fix(chromium): websocket handshake comes twice ( #10518 )
...
Sometimes we get "Network.webSocketWillSendHandshakeRequest" in Chromium.
Perhaps websocket is restarted because of chrome.webRequest extensions api?
Or maybe the handshake response was a redirect?
This reports websocket twice and triggers an assert.
2021-11-24 10:46:32 -08:00
Max Schmitt
85197e68c9
chore: support range requests in trace viewer http server ( #10434 )
2021-11-23 21:37:55 +01:00
Pavel Feldman
206a877cea
fix(trace-viewer): multiple iframe and UX fixes ( #10486 )
2021-11-23 11:36:18 -08:00
Max Schmitt
5a8010cf4f
fix: noncompliant Firefox User-Agents ( #10492 )
2021-11-23 18:56:22 +01:00
Ross Wollman
854f321532
feat(api): add explicit async testInfo.attach ( #10121 )
...
feat(api): add explicit async testInfo.attach
We add an explicit async API for attaching file paths (and Buffers) to
tests that can be awaited to help users ensure they are attaching files
that actually exist at both the time of the invocation and later when
reporters (like the HTML Reporter) run and package up test artifacts.
This is intended to help surface attachment issues as soon as possible
so you aren't silently left with a missing attachment
minutes/days/months later when you go to debug a suddenly breaking test
expecting an attachment to be there.
NB: The current implemntation incurs an extra file copy compared to
manipulating the raw attachments array. If users encounter performance
issues because of this, we can consider an option parameter that uses
rename under the hood instead of copy. However, that would need to be
used with care if the file were to be accessed later in the test.
2021-11-23 09:30:53 -08:00
github-actions[bot]
2d4982e052
feat(chromium): roll to r943925 ( #10484 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-23 11:21:15 +01:00
Joel Einbinder
6d3bb458f9
fix(firefox): round down mouse coordinates ( #10483 )
2021-11-23 02:55:32 -05:00
Dmitry Gozman
7d3672899f
fix(tracing): race in stopChunk ( #10481 )
...
Consider the following scenario:
- Tracing is started.
- API call is made (e.g. page.waitForResponse), almost finishes, and
enters onAfterCall where it starts a snapshot.
- tracing.stopChunk is called, and waits for existing actions to finish.
However, it does so by calling onAfterCall one more time.
- tracing.stopChunk removes instrumentation listener and returns
to the client.
- Client starts zipping files.
- Original API call finishes the snapshot and saves it to the trace file.
This results in trace file being written to while the zip is still working.
2021-11-22 20:08:09 -08:00
Joel Einbinder
d70e37de80
feat: locator.dragTo ( #10287 )
2021-11-22 20:27:26 +01:00
Joel Einbinder
06ab3c0fda
feat: consider fieldset and aria-disabled when checking if an element is enabled ( #9927 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-11-22 20:25:06 +01:00
Dmitry Gozman
e647f0420c
docs: add more references to TestInfo.retry ( #10472 )
2021-11-22 10:06:20 -08:00
Max Schmitt
14471fd79f
chore: fix CLI --help when used in driver ( #10412 )
2021-11-22 18:34:22 +01:00
github-actions[bot]
2290232339
feat(chromium): roll to r943346 ( #10452 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-21 00:43:30 +01:00
Yury Semikhatsky
9c23a78c32
chore: throw instead of returning error from fetch ( #10451 )
2021-11-19 20:32:29 -08:00
Dmitry Gozman
fde2f6a77f
docs: separate doc for test timeouts ( #10448 )
2021-11-19 17:06:46 -08:00
Pavel Feldman
103b6121b8
fix(trace-viewer): provide hints on how to open trace statically ( #10450 )
2021-11-19 16:29:27 -08:00
Pavel Feldman
a73e6bbd0e
chore: drop wrapApiCall (2) ( #10445 )
2021-11-19 16:28:11 -08:00
Dmitry Gozman
4eaeb3b59c
docs: explain that beforeAll/afterAll run again in the new worker process ( #10446 )
2021-11-19 13:47:30 -08:00
Dmitry Gozman
0302e759df
feat(test runner): allow top-level test.fixme similar to test.skip ( #10250 )
...
```js
test.fixme('my test name', () => {});
```
2021-11-19 11:40:40 -08:00
Pavel Feldman
2a98800ac0
chore: drop wrapApiCall (1) ( #10428 )
2021-11-19 10:12:48 -08:00
Max Schmitt
e87b56a2e5
chore: verify supported Node.js version during runtime ( #10406 )
2021-11-19 19:05:17 +01:00
Max Schmitt
b8b0d7139c
chore: bump ESLint to version 8 ( #10433 )
2021-11-19 18:48:33 +01:00
github-actions[bot]
e76edef3e2
feat(webkit): roll to r1579 ( #10409 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-11-19 11:11:27 +01:00
Pavel Feldman
b302152789
chore(zones): prepare to remove wrapApiCall, introduce zones ( #10427 )
2021-11-18 22:30:09 -08:00
Dmitry Gozman
d9f849fb14
feat(test runner): replace declare/define with "options" ( #10293 )
...
1. Fixtures defined in test.extend() can now have `{ option: true }` configuration that makes them overridable in the config. Options support all other properties of fixtures - value/function, scope, auto.
```
const test = base.extend<MyOptions>({
foo: ['default', { option: true }],
});
```
2. test.declare() and project.define are removed.
3. project.use applies overrides to default option values and nothing else. Any test.extend() and test.use() calls take priority over config options.
Required user changes: if someone used to define fixture options with test.extend(), overriding them in config will stop working. The solution is to add `{ option: true }`.
```
// Old code
export const test = base.extend<{ myOption: number, myFixture: number }>({
myOption: 123,
myFixture: ({ myOption }, use) => use(2 * myOption),
});
// New code
export const test = base.extend<{ myOption: number, myFixture: number }>({
myOption: [123, { option: true }],
myFixture: ({ myOption }, use) => use(2 * myOption),
});
```
2021-11-18 15:45:52 -08:00
divdavem
17a2454226
feat(cli): add --proxy-bypass option ( #10181 )
2021-11-18 15:41:16 -08:00
Dmitry Gozman
8f43f4c98f
feat(serial): better errors from beforeAll ( #10419 )
...
When beforeAll hook times out or fails with an exception, we now
close the context and show a nice error.
2021-11-18 14:36:55 -08:00
github-actions[bot]
24cc266de0
feat(chromium): roll to r941965 ( #10372 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-11-18 18:46:44 +01:00
Yury Semikhatsky
0ca10da166
fix: compute file field mime type on the server ( #10394 )
2021-11-17 18:12:26 -08:00
Dmitry Gozman
bd93fc499f
fix(html reporter): show missing attachments as warnings ( #10400 )
2021-11-17 18:03:13 -08:00
Dmitry Gozman
ce2c0c59a7
feat(expect): show expect timeout in the error message ( #10388 )
...
Makes it easier to understand that expect does indeed have a separate timeout.
```
Error: expect(received).toHaveCount(expected) // deep equality
Expected: 0
Received: 1
Call log:
- expect.toHaveCount with timeout 500ms
- waiting for selector "span"
- selector resolved to 1 element
- unexpected value "1"
- selector resolved to 1 element
- unexpected value "1"
- selector resolved to 1 element
- unexpected value "1"
```
2021-11-17 17:28:30 -08:00
Max Schmitt
0781d0303b
docs(python): enable web-first assertions ( #10390 )
2021-11-18 00:46:30 +01:00
Pavel Feldman
70ede0d987
chore: use channel traits ( #10389 )
2021-11-17 15:26:01 -08:00
Yury Semikhatsky
7746cb52a7
fix: do not send Fetch.continueRequest twice for auth requests ( #10382 )
2021-11-17 11:42:06 -08:00
Andrey Lushnikov
93dbcefa46
fix: disable 'AcceptCHFrame' chromium field trial ( #10380 )
...
References #10376
2021-11-17 10:41:53 -08:00
Yury Semikhatsky
08a7470b0a
fix: API response to string ( #10364 )
2021-11-16 15:42:35 -08:00
Andrey Lushnikov
82002b2803
fix: fix proper-lock-file configuration ( #10356 )
...
Turns out we were using wrong formula; with the config we had in place,
proper-lock-file would give up to aquire lock after 49 seconds of
waiting.
With the proper configuration, we'll keep re-trying for 10 minutes.
Fixes #10354
2021-11-16 13:49:01 -08:00
Pavel Feldman
9485e62a00
chore(trace-viewer): only show source tab when soureces are includes ( #10338 )
2021-11-15 23:37:39 -08:00
Dmitry Gozman
638ebd6dd6
fix(test runner): do not validate fixtures in tests/hooks that are never run ( #10328 )
2021-11-15 13:17:26 -08:00
Pavel Feldman
1c9c0dc2e6
feat(webkit): roll to r1578 ( #10323 )
2021-11-15 08:43:51 -08:00
github-actions[bot]
5ad6cd2796
feat(firefox): roll to r1306 ( #10297 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-15 16:55:06 +01:00
github-actions[bot]
3b2b8e2f5e
feat(firefox-beta): roll to r1305 ( #10298 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-15 16:54:53 +01:00
Max Schmitt
65a9037461
chore(trace-viewer): add missing uploadedTraceName to the useEffect dependencies ( #10294 )
...
Fixes ESLint warning
2021-11-13 09:36:36 +01:00
Dmitry Gozman
6a46711347
fix(chromium): race between loadingFailed and requestPaused ( #10289 )
2021-11-12 19:06:53 -08:00
Pavel Feldman
b0723c0621
fix(webkit): disable accelerated compositing on windows ( #10264 )
2021-11-12 08:50:25 -08:00
Dmitry Gozman
4bb123d4b7
fix(test runner): route more errors to reporter ( #10263 )
...
For example, top-level errors in files or global setup issues.
2021-11-12 06:47:41 -08:00
Andrey Lushnikov
bd1ce399e3
fix(html-report): fix command to open HTML report ( #10231 )
2021-11-12 00:12:23 -08:00
github-actions[bot]
7048ecdc6f
feat(firefox): roll to r1305 ( #10267 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-11 23:59:54 -08:00
github-actions[bot]
840db7b6e0
feat(firefox-beta): roll to r1304 ( #10265 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-11 17:44:30 -08:00
Pavel Feldman
8dcd77270f
fix(sigint): remove sigint handler early ( #10266 )
2021-11-11 17:14:36 -08:00
Dmitry Gozman
7eec66d0f9
chore(test runner): route runner errors through Reporter.onError ( #10257 )
2021-11-11 16:48:08 -08:00
github-actions[bot]
b76daf361d
feat(webkit): roll to r1577 ( #10255 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-11 15:37:05 -08:00
Max Schmitt
24cfcf867e
chore: create-playwright config nits & test-runner intro docs ( #10253 )
2021-11-11 22:45:07 +01:00
Dmitry Gozman
f38f611478
chore: add npm run lint-tests ( #10252 )
2021-11-11 13:27:50 -08:00
Dmitry Gozman
4c93417e8a
fix(github reporter): handle global onError ( #10256 )
2021-11-11 13:25:38 -08:00
Max Schmitt
8fe3ea7972
chore: add trace viewer file upload error handling ( #10243 )
2021-11-11 21:31:19 +01:00
Yury Semikhatsky
fbb3c88f3c
fix(fetch): smarter JSON.stringify for application/json requests ( #10245 )
2021-11-11 11:12:24 -08:00
Max Schmitt
e3ba3eab11
chore: create-playwright #10221 follow-up ( #10247 )
2021-11-11 19:26:31 +01:00
Max Schmitt
3a64da7a54
fix: do not show taskkill.exe output ( #10244 )
2021-11-11 18:32:22 +01:00
Max Schmitt
6e5fe5cd89
chore: create-playwright enhancements ( #10221 )
2021-11-11 18:29:57 +01:00
Max Schmitt
ac629afd46
chore: fix API name capitalisation with APIRequestContext ( #10240 )
2021-11-11 08:46:17 -08:00
Dmitry Gozman
9622704a8a
fix(test runner): update TestInfo.duration before running afterEach hooks ( #10228 )
2021-11-10 16:02:27 -08:00
Dmitry Gozman
9ec3e7cd52
fix(click): account for detached elements and iframe overlays ( #10206 )
2021-11-10 12:14:06 -08:00
Pavel Feldman
1e38ec5fa4
docs(element-handle): discourage the element handle use ( #10220 )
2021-11-10 11:30:25 -08:00
Pavel Feldman
03fee2f593
feat(trace-viewer): add metainfo tab ( #10205 )
2021-11-09 22:13:51 -08:00
Andrey Lushnikov
b2af576796
chore: cut v1.17 ( #10203 )
2021-11-09 17:56:26 -08:00
github-actions[bot]
c8b65ac677
feat(webkit): roll to r1576 ( #10199 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-09 15:54:59 -08:00
Pavel Feldman
0d0f1690cd
fix(trace-viewer): do not rely upon request mode, it is inconsistent ( #10198 )
2021-11-09 15:12:37 -08:00
Dmitry Gozman
75efeb1e08
fix: resolve ip using grid/api/testsession endpoint ( #10196 )
...
For Selenium 4, we use se:cdp ws proxy, pointing it to the hub url.
For Selenium 3, we use grid api to try and get the target node ip.
2021-11-09 14:41:13 -08:00
Pavel Feldman
4e90eb9406
api(frame-locator): allow nth, first, last ( #10195 )
2021-11-09 14:14:20 -08:00
Max Schmitt
d25b0f70bc
chore: api testing test nits ( #10180 )
2021-11-09 14:11:42 -08:00
Yury Semikhatsky
c30447216d
docs(fetch): typo in comment ( #10160 )
2021-11-09 14:00:58 -08:00
Andrey Lushnikov
d34f9972ab
feat: proper launch doctor for WebKit on Arm64 Ubuntu 20.04 ( #10172 )
...
This patch:
- consolidates all distribution-specific information in a single
location
- updates list of required dependencies for WebKit on Arb64 Ubuntu 20.04
2021-11-09 10:55:13 -08:00
Pavel Feldman
3743fe1ef5
feat(trace-viewer): make upload button nice, add disclaimer ( #10163 )
2021-11-09 07:40:21 -08:00
github-actions[bot]
5b604acedb
feat(chromium): roll to r939194 ( #10165 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-11-08 20:05:39 -08:00
Pavel Feldman
806b5706a5
fix(trace-viewer): redirect, time and missing snapshot bugfixes ( #10055 )
2021-11-08 18:03:10 -08:00
Pavel Feldman
7b64161a37
feat(test-runner): allow specifying fine-grained trace options ( #10147 )
2021-11-08 15:39:58 -08:00
Andrey Lushnikov
8582a19e6b
fix(trace): non-negative time in call tab ( #10153 )
...
Fixes #10129
2021-11-08 15:30:36 -08:00
Dmitry Gozman
3cc839e013
fix(route): catch all Route methods when page closes ( #10140 )
...
This fixes a common scenario where you setup a route,
and the page closes (e.g. test ends) while we are aborting/continuing
some requests that are not instrumental to the test itself.
2021-11-08 15:13:15 -08:00
Andrey Lushnikov
4b14c466d4
feat: download webkit arm64 build for ubuntu 20.04 ( #10151 )
2021-11-08 14:56:08 -08:00
Joel Einbinder
0cad0de3e3
fix(test runner): better error message when importing typescript from esmodule ( #10061 )
2021-11-08 16:25:40 -05:00
Dmitry Gozman
0a104bc500
docs: clarify that slow tests are about files ( #10134 )
2021-11-08 12:54:18 -08:00
Pavel Feldman
4553d76fce
api(frame-locator): introduce frame locators ( #10102 )
2021-11-08 09:58:24 -08:00
github-actions[bot]
cc72299cbc
feat(chromium): roll to r938553 ( #10112 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-07 17:50:03 +01:00
github-actions[bot]
cf57f72c59
feat(firefox): roll to r1304 ( #10106 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-06 12:12:09 -07:00
Andrey Lushnikov
51a7567907
codegen: use import instead of require for codegen tests ( #10104 )
2021-11-05 19:01:54 -07:00
Dmitry Gozman
61ff52704c
feat(input): perform hit target check during input ( #9546 )
...
This replaces previous `checkHitTarget` heuristic that took place before the action
with a new `setupHitTargetInterceptor` that works during the action:
- Before the action we set up capturing listeners on the window.
- During the action we ensure that event target is the element we expect to interact with.
- After the action we clear the listeners.
This should catch the "layout shift" issues where things move
between action point calculation and the actual action.
Possible issues:
- **Risk:** `{ trial: true }` might dispatch move events like `mousemove` or `pointerout`,
because we do actually move the mouse but prevent all other events.
- **Timing**: The timing of "hit target check" has moved, so this may affect different web pages
in different ways, for example expose more races. In this case, we should retry the click as before.
- **No risk**: There is still a possibility of mis-targeting with iframes shifting around,
because we only intercept in the target frame. This behavior does not change.
There is an opt-out environment variable PLAYWRIGHT_NO_LAYOUT_SHIFT_CHECK that reverts to previous behavior.
2021-11-05 17:31:28 -07:00
Andrey Lushnikov
8bf8f49746
feat: support Firefox for Ubuntu 20.04 arm64 download ( #10100 )
2021-11-05 17:02:48 -07:00
Pavel Feldman
f3fd3ebc37
chore(frame-selector): add more tests, use frame logic in element handle ( #10097 )
2021-11-05 16:36:01 -07:00
github-actions[bot]
d336f18166
feat(firefox-beta): roll to r1303 ( #10065 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-05 12:33:20 -07:00
Pavel Feldman
f19864890f
feat(iframe): make iframe selectors work w/ element handles ( #10063 )
2021-11-05 11:06:04 -07:00
Max Schmitt
84d2ee3929
chore: fix connectOverCDP on Windows when proxy is used ( #10080 )
2021-11-05 17:38:13 +01:00
Max Schmitt
95a5c5cb79
chore(create-playwright): make it Node.js 12 compatible ( #10081 )
2021-11-05 17:30:18 +01:00
Max Schmitt
c5b19351f6
chore: rename Fetch Request/Response to API ( #10087 )
2021-11-05 16:27:49 +01:00
Max Schmitt
ceedf45d4a
fix: support .mjs files with Playwright Inspector ( #10043 )
2021-11-05 12:28:52 +01:00
Dmitry Gozman
3c1aaa5338
fix(trace): do not call tracing.stopChunk() twice ( #10054 )
2021-11-04 21:08:42 -07:00
github-actions[bot]
8a6e4bd350
feat(firefox): roll to r1302 ( #10062 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-11-04 16:12:59 -07:00
github-actions[bot]
c6e0ecc38c
feat(firefox): roll to r1301 ( #10058 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-04 14:50:36 -07:00
Pavel Feldman
78e99249a3
feat(frame-selector): intial implementation ( #10018 )
2021-11-04 13:28:35 -07:00
github-actions[bot]
9b4d9460eb
feat(chromium): roll to r936784 ( #9986 )
2021-11-04 12:35:31 -07:00
github-actions[bot]
a1f5131501
feat(webkit): roll to r1572 ( #10030 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-04 12:07:03 +01:00
Andrey Lushnikov
16b9ada8c0
chore: add playwright-report to gitignore created by scaffolding ( #10028 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-11-03 17:12:52 -07:00
Yury Semikhatsky
bce9a8187d
fix(fetch): post data for delete request ( #10019 )
2021-11-03 13:26:15 -07:00
Dmitry Gozman
3120f81629
fix(reporters): move Running X tests using Y workers to reporters ( #10014 )
2021-11-03 11:17:23 -07:00
Dmitry Gozman
c373986ca0
fix(evaluate): reject all context operations when frame detaches ( #9987 )
2021-11-03 10:44:50 -07:00
Pavel Feldman
2ae2136810
chore: do not carry selector next to parsed selector ( #10004 )
2021-11-03 08:35:01 -07:00
Dmitry Gozman
9cebe60831
feat(reporters): augment non-stdio reporters with dot/line ( #10003 )
2021-11-03 08:25:16 -07:00
Andrey Lushnikov
2e1dcaf2ee
chore: fix race in grid server ( #9999 )
2021-11-02 18:01:15 -07:00
Yury Semikhatsky
5abb5d74ea
chore: delete legacy response interception code ( #9995 )
2021-11-02 17:48:38 -07:00
Pavel Feldman
cd47bf26e8
feat(trace-viewer): render snapshot urls ( #9993 )
2021-11-02 17:35:23 -07:00
Andrey Lushnikov
009478b8d5
feat: download Chromium Linux arm64 builds ( #9994 )
2021-11-02 16:58:22 -07:00
Andrey Lushnikov
3e96dcd82a
chore: bail out stable installation when running on Linux Arm64 ( #9991 )
...
Stable browser channels are only shipped on x86
2021-11-02 16:01:30 -07:00
Pavel Feldman
81ea40bb00
feat(inspector): add the copy selector button ( #9984 )
2021-11-02 15:48:48 -07:00
Andrey Lushnikov
62a01a41c6
feat: various docker integration improvements ( #9988 )
...
- shorter docker terminal message
- terminate testrunner if docker cannot be found
- use `-docker` suffix for snapshots / screenshots.
2021-11-02 13:58:26 -07:00
Pavel Feldman
6a30c90590
feat(trace-viewer): render wall time for each action ( #9982 )
2021-11-02 12:16:12 -07:00
Max Schmitt
bedb817a00
docs(test-runner): worker fixtures only in before/after-All ( #9967 )
2021-11-02 16:51:41 +01:00
Nick Partridge
a51ac39275
feat: add snapshotDir to set base snapshot directory ( #9260 )
2021-11-02 08:02:49 -07:00
Andrey Lushnikov
92c9e9a079
chore: ignore grid version checks ( #9969 )
...
This is a preparation for docker dogfooding: since in our own repo,
we run tip-of-tree tests against stable @playwright/test, we have
different versions for Playwright and Grid.
In our case, these versions should always be close-enough, so we
can disregard safety version checks for our usecase.
2021-11-02 04:11:34 -07:00
github-actions[bot]
9b57f0ceb5
feat(firefox-beta): roll to r1302 ( #9955 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-02 02:49:18 -07:00
github-actions[bot]
d12457ca3c
feat(firefox): roll to r1300 ( #9958 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-02 02:48:58 -07:00
github-actions[bot]
87174e9ed7
feat(webkit): roll to r1570 ( #9954 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-02 09:32:00 +01:00
Pavel Feldman
56ca3a18f5
feat(trace-viewer): show test name ( #9957 )
2021-11-01 21:23:35 -07:00
Pavel Feldman
3673776330
Revert "chore(test-runner): use test name as trace file name prefix ( #9619 )" ( #9956 )
...
This reverts commit 3c420a7cf1 .
2021-11-01 20:27:41 -07:00
Pavel Feldman
85497c5509
feat(tracing): allow including source files in traces ( #9946 )
2021-11-01 19:57:29 -07:00
Andrey Lushnikov
d1b43fafd3
fix: a nicer lockfile message ( #9952 )
...
Fixes #9574
2021-11-01 17:48:18 -07:00
Yury Semikhatsky
13cc266b37
feat: add "commit" to possible waitUntil options ( #9892 )
2021-11-01 17:12:19 -07:00
Pavel Feldman
0221f1a4e0
fix(html): fix the mobile layout ( #9945 )
2021-11-01 16:47:07 -07:00
Dmitry Gozman
9cfbc0c171
chore(expect): simplify expect array edge cases ( #9942 )
2021-11-01 16:42:13 -07:00
Pavel Feldman
2bfbf65b8d
fix(html): strip ansi escaping from stdio ( #9944 )
2021-11-01 16:39:54 -07:00
github-actions[bot]
5d49c41a52
feat(firefox): roll to r1299 ( #9932 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-11-02 00:23:16 +01:00
github-actions[bot]
0495ce1ceb
feat(firefox-beta): roll to r1301 ( #9935 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-02 00:22:59 +01:00
Pavel Feldman
9ac8829583
feat(html): bake report zip into the html report, allow opening from fs ( #9939 )
2021-11-01 16:14:52 -07:00
Dmitry Gozman
4e52b64619
chore: simplify polls and evaluates in dom.ts ( #9941 )
2021-11-01 15:59:47 -07:00
Max Schmitt
a2c414cd88
chore: add Microsoft Edge Stable on Linux ( #9915 )
2021-11-01 22:03:51 +01:00
Dmitry Gozman
50f7477906
chore: use progress.continuePolling instead of passing it around ( #9929 )
2021-11-01 13:57:13 -07:00
Pavel Feldman
d234030b9a
feat(html): allow projects with spaces, lax filter matching ( #9913 )
2021-11-01 10:53:58 -07:00
Pavel Feldman
d79aae633c
feat(html): render the suite name before test title ( #9909 )
2021-11-01 10:53:42 -07:00
Dmitry Gozman
4f1027bdd0
feat(test runner): introduce TestInfo.parallelIndex ( #9762 )
...
This is a worker number between `0` and `workers - 1` that
does not change after worker process restart.
2021-11-01 10:37:34 -07:00
Darío Kondratiuk
498894280b
docs(page): Document Page.reload ( #9926 )
2021-11-01 18:27:03 +01:00
Max Schmitt
3c420a7cf1
chore(test-runner): use test name as trace file name prefix ( #9619 )
2021-11-01 18:15:19 +01:00
Dmitry Gozman
13844a5b0a
feat(html reporter): open test details page when running a single test ( #9910 )
2021-11-01 09:54:53 -07:00
Pavel Feldman
1f907f0cfc
feat(html): render warning message when served off file:// ( #9908 )
2021-10-31 17:36:05 -07:00
Pavel Feldman
d6adff7792
fix(html): include html into the reporter types ( #9907 )
2021-10-31 11:06:28 -07:00
Dmitry Gozman
4ff69529d4
chore: detect document open for inspector ( #9901 )
...
To be used later for other global event listeners.
2021-10-30 16:06:52 -07:00
Pavel Feldman
bd505ed07c
fix(tracing): fall back to protocol naming in ports w/o apiName ( #9896 )
2021-10-30 12:26:38 -07:00
Dmitry Gozman
b244f035bc
chore: small cleanups around actions ( #9895 )
2021-10-29 22:27:57 -07:00
Pavel Feldman
94c33da946
feat(trace): throttle the screencast ( #9893 )
2021-10-29 18:20:17 -07:00
Pavel Feldman
8991bbde33
feat(html): live filtering, opt-out from auto-open ( #9889 )
2021-10-29 16:24:08 -07:00
Dmitry Gozman
49337890d2
docs: improve documentation for assertions and test config ( #9890 )
2021-10-29 15:25:52 -07:00
Max Schmitt
bff84c5391
fix: PowerShell execution policies ( #9885 )
2021-10-29 22:42:51 +02:00
Dmitry Gozman
227e3da62f
fix(test runner): do not reuse worker that did not teardown scopes ( #9872 )
...
Two bug fixes:
- Do not use the worker that is being shutdown for a new job.
- Report unhandled errors during "expected to fail" tests as
fatal errors.
2021-10-29 13:36:12 -07:00
Max Schmitt
dd1d3c3ed9
Revert "chore: migrate away from ps1 in install-deps on Windows ( #9876 )"
...
This reverts commit 59a406a586 .
2021-10-29 20:12:46 +02:00
Dmitry Gozman
cea61691fa
fix(connectOverCDP): ensure cleanup when remote ws closes ( #9873 )
2021-10-29 10:35:24 -07:00
Max Schmitt
59a406a586
chore: migrate away from ps1 in install-deps on Windows ( #9876 )
2021-10-29 19:32:56 +02:00
Pavel Feldman
0566af86e1
feat(html): add filter field ( #9874 )
2021-10-29 09:39:34 -07:00
github-actions[bot]
05e303e9e0
feat(webkit): roll to r1568 ( #9871 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-29 09:49:27 +02:00
Dmitry Gozman
e8c512dbeb
fix(cleanup): use rimraf.sync on process exit ( #9862 )
...
Currently we call async `removeFolders` from a synchronous
`process.on('exit')` handler, which should not work.
2021-10-28 19:28:16 -07:00
Yury Semikhatsky
1886897e5c
fix(matchers): support builtin types ( #9865 )
2021-10-28 18:45:59 -07:00
Pavel Feldman
75ac579fac
fix(toHaveCount): another edge case fix ( #9860 )
2021-10-28 16:04:21 -07:00
Pavel Feldman
2e4722d460
test: migrate to upstream fixtures ( #9835 )
2021-10-28 08:31:30 -07:00
github-actions[bot]
9af5aaabbb
feat(firefox): roll to r1298 ( #9848 )
2021-10-28 07:41:58 -07:00
github-actions[bot]
c2c61b0514
feat(firefox-beta): roll to r1300 ( #9846 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-28 14:16:13 +02:00
Andrey Lushnikov
f15ff0354b
fix: align default docker image download with the docker integration ( #9842 )
...
The docker image that we download should match the one we expect
while running tests in docker.
2021-10-28 02:15:26 -07:00
github-actions[bot]
3a83172785
feat(firefox-beta): roll to r1299 ( #9831 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-28 07:41:09 +02:00
Max Schmitt
0f54c2116b
chore(trace-viewer): add drag hover animation and be able to upload multiple times ( #9792 )
2021-10-28 07:38:22 +02:00
Pavel Feldman
16afb5064f
test: remove browserOptions ( #9829 )
2021-10-27 19:00:06 -07:00
github-actions[bot]
82609cd7bd
feat(webkit): roll to r1566 ( #9828 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-28 00:12:32 +02:00
Max Schmitt
fef5c38b3e
chore: remove Win/32bit from registry ( #9790 )
2021-10-27 23:48:17 +02:00
Dmitry Gozman
4743036bbe
fix: guard against undefined contexts ( #9826 )
...
We do not create contexts when we are unable to attribute them to a frame or they come from a stale oopif.
Async hop in the binding method can also cause the context to be destroyed already.
Reproduced with codegen.
2021-10-27 13:28:52 -07:00
Max Schmitt
be64b5f6e2
chore: add missing dynamic sdkLanguage based CLI invocations ( #9817 )
2021-10-27 18:58:13 +02:00
Pavel Feldman
31faa7d9a7
chore: sort out base fixtures ( #9809 )
2021-10-27 08:28:53 -07:00
github-actions[bot]
1c88079755
feat(chromium): roll to r934379 ( #9793 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-10-27 12:39:57 +02:00
Yury Semikhatsky
dd0dae623b
fix(fetch): ignoreHTTPSErrors after redirects ( #9806 )
2021-10-26 23:20:52 -07:00
Joel Einbinder
c8addef03a
fix(monorepo): export package.json from every package ( #9803 )
2021-10-26 18:41:18 -04:00
Dmitry Gozman
fac5da9517
docs: update console event snippet ( #9800 )
...
This avoids the confusion where arguments are printed
asynchronously, interleaved with other console messages.
2021-10-26 14:40:28 -07:00
Dmitry Gozman
22e4a0d580
fix(snapshots): --update-snapshots + retries should work ( #9799 )
2021-10-26 13:50:16 -07:00
Pavel Feldman
273122b761
chore: align internal test harness w/ @playwright/test ( #9796 )
2021-10-26 13:45:53 -07:00
Pavel Feldman
87c64b2c1c
chore: align client side instrumentations ( #9771 )
2021-10-26 11:13:35 -07:00
Pavel Feldman
5451808df1
chore: append sources to traces ( #9736 )
2021-10-25 18:56:57 -07:00
Dmitry Gozman
13ed1dee50
fix(test runner): do not mask uncaught error in beforeEach ( #9764 )
2021-10-25 14:17:27 -07:00
Pavel Feldman
2d4db7a6f0
fix(stack): hide test runner stack frames ( #9735 )
2021-10-25 11:49:59 -07:00
Dmitry Gozman
7527ad27d3
fix(snapshot): empty adopted stylesheet should not prevent node refs ( #9731 )
...
We never marked empty stylesheets as "stale", so we never computed
css text for them. This prevented node reuse, because empty string
is not equal to undefined.
2021-10-23 16:26:46 -07:00
Pavel Feldman
f08c22b467
fix(trace-viewer): show source files in local version ( #9732 )
2021-10-23 11:23:39 -07:00
Pavel Feldman
c890510d86
feat(traceviewer): show load progress ( #9726 )
2021-10-22 16:59:17 -07:00
Yury Semikhatsky
d183d364a0
fix(fetch): remove content-length from redirected post requests ( #9728 )
2021-10-22 16:52:49 -07:00
Dmitry Gozman
23aa0be15b
docs: update afterEach docs with an example ( #9727 )
...
Also add a test for TestInfo.status in afterEach.
2021-10-22 16:32:22 -07:00
Pavel Feldman
e2710451f3
fix(trace viewer): keep sw alive ( #9725 )
2021-10-22 15:14:58 -07:00
Joel Einbinder
940466f830
fix(npm): don't ship src in @playwright/test and ensure we ship cli.js in playwright-core
2021-10-22 16:15:57 -04:00
Joel Einbinder
f2888395a6
fix: support even older node 12 ( #9718 )
2021-10-22 15:59:52 -04:00
Dmitry Gozman
193c79a685
feat(test runner): rewrite dispatcher to avoid unneded stalls ( #9629 )
...
In some circumstances, dispatcher was waiting for all exisitng jobs
to finish before scheduling a new one. This leads to unneded stalls.
Instead, we can schedule jobs right away, if we have a worker
available.
2021-10-22 11:10:37 -07:00
Max Schmitt
e17dbe8d01
chore: pin expect package ( #9713 )
2021-10-22 08:07:33 -07:00
Pavel Feldman
d1ae6fdfdd
feat(trace): add drop trace here label ( #9698 )
2021-10-22 08:00:34 -07:00
Max Schmitt
60939a91b2
devops: release create-playwright over publish infra ( #9683 )
2021-10-22 10:13:49 +02:00
Max Schmitt
94d1fcf835
chore: move create-playwright build to build.js infra ( #9687 )
...
Co-authored-by: Joel Einbinder <joel.einbinder@gmail.com>
2021-10-22 10:13:05 +02:00
Pavel Feldman
ea7a294924
fix(trace-viewer): restore dragndrop ( #9697 )
2021-10-21 22:06:24 -07:00
Pavel Feldman
6a3e08d1ac
fix(reporter): fix locator stacks to hide internal detail ( #9693 )
2021-10-21 16:10:47 -07:00
Pavel Feldman
299dffbdb3
fix(expect): fix toHaveCount(0) ( #9690 )
2021-10-21 14:46:54 -07:00
Max Schmitt
da464cfe0c
chore(create-playwright): fix CI ( #9685 )
2021-10-21 21:06:28 +02:00
Pavel Feldman
c21d6b791c
chore: fix the route(times) to disable interception ( #9671 )
2021-10-21 11:23:49 -07:00
Max Schmitt
dd5364e445
feat(create-playwright): add option to add examples ( #8963 )
2021-10-21 20:21:50 +02:00
Pavel Feldman
f853176df3
fix(html): allow serving html report w/ traces off relative path ( #9668 )
...
Fixes #9652
2021-10-20 17:52:13 -07:00
Andrey Lushnikov
962525b592
fix(trace-viewer): do not show negative time in action duration ( #9669 )
2021-10-20 17:26:35 -07:00
Andrey Lushnikov
a9bf96e1bd
fix(trace-viewer): fix action icons to be always visible ( #9666 )
2021-10-20 14:44:32 -07:00
Pavel Feldman
225145fc3e
fix(expect): do not fail on navigated frames while polling ( #9659 )
2021-10-20 13:01:05 -07:00
Pavel Feldman
b6a9a8a34a
Revert "chore: print global errors when running html report ( #9657 )" ( #9661 )
...
This reverts commit 68c9fce507 .
2021-10-20 12:51:12 -07:00
Andrey Lushnikov
6b1767efbb
chore: cut v1.16.0 branch ( #9656 )
2021-10-20 12:44:32 -07:00
Pavel Feldman
68c9fce507
chore: print global errors when running html report ( #9657 )
2021-10-20 11:57:21 -07:00
Pavel Feldman
b3b5497578
chore(html): allow serving from a subfolder ( #9653 )
2021-10-20 10:35:49 -07:00
Dmitry Gozman
fb421e0a65
feat(github reporter): update docs, strip ansi escapes ( #9640 )
2021-10-20 07:56:03 -07:00
Pavel Feldman
4423de9996
chore: speed up snippet generation 50 times ( #9638 )
2021-10-19 21:10:14 -07:00
Andrey Lushnikov
983cfde4d4
feat: introduce docker integration for Playwright Test ( #9599 )
2021-10-19 16:10:24 -07:00
Pavel Feldman
ba57be99a9
fix(infobar): account for infobar in headed mode ( #9627 )
2021-10-19 15:36:17 -07:00
Pavel Feldman
9d03a85c30
chore: make web-first matchers work outside of pw tests ( #9624 )
2021-10-19 14:46:56 -07:00
Andrey Lushnikov
c5359ff6c5
feat: introduce npx playwright install docker-image command ( #9597 )
...
This command pulls matching docker image for Playwright.
2021-10-19 12:30:32 -07:00
Joel Einbinder
adb5aa4544
fix(monorepo): support yarn2/pnp by specifying all deps and bins ( #9620 )
2021-10-19 14:49:47 -04:00
Yury Semikhatsky
7e52357178
docs(fetch): ApiResponse -> APIResponse ( #9623 )
2021-10-19 11:17:23 -07:00
Yury Semikhatsky
ade2171c4b
fix(docs): APIRequest* variable names ( #9621 )
2021-10-19 09:37:17 -07:00
Joel Einbinder
53c866c0f2
fix(monorepo): explicitly list package.json exports instead of using glob patterns ( #9584 )
2021-10-19 12:28:02 -04:00
Dmitry Gozman
6d554a5e30
feat(reporter): expose more apis ( #9603 )
2021-10-19 08:38:04 -07:00
Yury Semikhatsky
6d727401bf
chore(fetch): rename ApiRequest* to APIRequest* ( #9606 )
2021-10-19 07:38:27 -07:00
Pavel Feldman
56d8481b87
chore: render large trace link ( #9608 )
2021-10-19 00:36:21 -07:00
Pavel Feldman
bccd4c8906
feat(api): expose step location UI ( #9605 )
2021-10-18 22:14:01 -07:00
Pavel Feldman
c06a6e1f63
fix(html): always highlight error code ( #9604 )
2021-10-18 21:37:19 -07:00
Pavel Feldman
e37660b068
feat(api): expose step location ( #9602 )
2021-10-18 21:06:18 -07:00
Dmitry Gozman
4977edcaf3
fix(tracing): fix inconsistent calls of tracing.{start,stop} in fixtures ( #9594 )
...
Drive-by: fix error logging.
2021-10-18 21:05:59 -07:00
Yury Semikhatsky
4f7d53ac66
fix(fetch): abort requests when context is disposed ( #9601 )
2021-10-18 19:41:56 -07:00
Pavel Feldman
ff16ac0351
chore(html): html report polish ( #9600 )
2021-10-18 18:33:38 -07:00
Pavel Feldman
bc0895ea6c
chore(html): use primer colors for report ( #9596 )
2021-10-18 14:12:56 -07:00
Pavel Feldman
99a2bd604d
chore: minor UI updates ( #9590 )
2021-10-18 13:34:02 -07:00
Yury Semikhatsky
909b039b9a
docs: note that setViewportSize changes screen size ( #9588 )
2021-10-18 13:01:04 -07:00
Yury Semikhatsky
fd81982c33
fix(selectors): combine visible with other selectors ( #9585 )
2021-10-18 10:47:37 -07:00
Pavel Feldman
f6a768b67b
chore: remove codicon from html report ( #9583 )
2021-10-18 09:30:23 -07:00
Pavel Feldman
432fb453e4
chore(html): only copy trace viewer for reports with traces ( #9579 )
2021-10-18 08:03:04 -07:00
Pavel Feldman
6afa85927e
chore(ui): redesign html report a bit ( #9577 )
2021-10-17 20:58:06 -07:00
github-actions[bot]
f83199fb4a
feat(firefox): roll to r1297 ( #9564 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-16 12:39:10 +02:00
Paul Biggar
e473fc6a10
docs(test-runner): afterEach JSDoc description typo ( #9542 )
2021-10-16 12:36:07 +02:00
Feng Yu
0160c18f7a
docs: fix typo retried ( #9562 )
2021-10-15 19:24:03 -07:00
Pavel Feldman
99f3389b3b
feat(html): automatically use console reporter with html ( #9559 )
2021-10-15 19:18:56 -07:00
Yury Semikhatsky
3e054e9ad6
feat(webkit): bump to r1564 ( #9557 )
2021-10-15 17:22:41 -07:00
Yury Semikhatsky
a186278f2e
fix(selectors): empty text matcher ( #9548 )
2021-10-15 17:00:45 -07:00
Pavel Feldman
811d02dbe8
feat(trace): add web manifest ( #9482 )
2021-10-15 16:33:09 -07:00
Pavel Feldman
9135847950
feat(ui): merge stdio in html report ( #9560 )
2021-10-15 16:15:06 -07:00
Pavel Feldman
e31b96cc26
feat(tracing): make context.request appear in the trace ( #9555 )
2021-10-15 15:22:49 -07:00
Dmitry Gozman
4ce765c3ae
feat(trace): highlight targets for accessors and expects ( #9527 )
2021-10-15 15:07:15 -07:00
Max Schmitt
2d3d733af7
chore(codegen): use offsetX instead of clientX for positioned clicks ( #9521 )
2021-10-15 22:21:19 +02:00
Yury Semikhatsky
235cd10a43
fix(runner): clarify where test.use() can be called ( #9486 )
2021-10-15 12:03:26 -07:00
Andrey Lushnikov
7a187d9994
feat: support socks proxy in Fetch API ( #9545 )
2021-10-15 11:33:21 -07:00
Dmitry Gozman
b383c6bf3c
fix: separate Selectors instance per Playwright object ( #9529 )
...
We used to share selectors for inprocess, remote and any internal playwright objects.
2021-10-15 09:21:56 -07:00
Pavel Feldman
458945821f
doc(html): document html reporter ( #9528 )
2021-10-15 08:15:30 -07:00
Max Schmitt
9031c4d2e4
chore(create-playwright): nits and cleanups ( #9537 )
2021-10-15 16:39:12 +02:00
Pavel Feldman
5ea4ec2f7a
feat(html): open show html report when there are failures ( #9526 )
2021-10-14 21:09:41 -07:00
Dmitry Gozman
7a68f2f661
chore: merge Connection.{close,didDisconnect} ( #9524 )
...
This simplifes cleanup logic.
Also markAsRemote() in gridClient.
2021-10-14 20:58:09 -07:00
Yury Semikhatsky
4680ef46de
docs: clarify default retry behavior ( #9525 )
2021-10-14 19:28:47 -07:00
Dmitry Gozman
c711fb35ad
fix(expect): do not rely on displayName ( #9523 )
...
Support for displayName was removed in Node 16.
Switching to Function.name instead.
Relevant V8 change: https://chromium-review.googlesource.com/c/v8/v8/+/2692189
2021-10-14 19:23:45 -07:00
Pavel Feldman
7ee48febf9
chore: html report ui fixes ( #9522 )
2021-10-14 18:54:33 -07:00
Pavel Feldman
75cfe5d1f5
chore: start adding html runner e2e tests ( #9518 )
2021-10-14 15:48:05 -07:00
Maximilian Hils
84a70eae2f
Create userDataDir if it does not exist ( #9483 )
2021-10-14 11:19:52 -07:00
Pavel Feldman
584014f6fa
feat(html): unhide html reporter ( #9512 )
2021-10-14 11:17:35 -07:00
Dmitry Gozman
9dd17773e6
feat: mark PlaywrightClient's connection as remote ( #9477 )
...
This makes artifacts work as expected for all remote scenarios.
2021-10-14 10:41:03 -07:00
Dmitry Gozman
bb013d14c0
docs: minor changes in apirequest ( #9507 )
2021-10-14 09:48:53 -07:00
Max Schmitt
96be17463e
feat(codgen): support positioned clicks in a canvas ( #9503 )
2021-10-14 17:37:29 +02:00
Max Schmitt
d851f4d58b
Reland chore: update to webpack v5.58.2 ( #9498 )
...
* Revert "Revert "chore: update to webpack v5.58.2 (#9479 )" (#9489 )"
This reverts commit e5a3c9b907 .
* Fix icons
2021-10-14 17:36:59 +02:00
Max Schmitt
1c7a7fcf23
fix: electron launcher ( #9504 )
...
Broken-since: #9446
2021-10-14 16:45:52 +02:00
Joel Einbinder
c8f875a193
chore: move test runner types into the playwright test package ( #9472 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-10-14 11:55:08 +02:00
Andrey Lushnikov
4fa6d1e723
feat(firefox): roll to r1296 ( #9494 )
2021-10-14 11:35:39 +02:00
Pavel Feldman
bb77912aee
chore: don't include babel compiled files in webpack bundles ( #9491 )
2021-10-13 19:27:50 -07:00
github-actions[bot]
c054d19a5d
feat(webkit): roll to r1562 ( #9476 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-10-14 02:00:25 +02:00
Joel Einbinder
9d3513ab13
chore(create-playwright): some nits ( #9133 )
2021-10-13 17:33:44 -04:00
github-actions[bot]
a885e95646
feat(firefox-beta): roll to r1293 ( #9456 )
2021-10-13 14:32:35 -07:00
Yury Semikhatsky
e827bde1c2
fix(runner): skip global hooks in --list mode ( #9480 )
2021-10-13 14:18:15 -07:00
Joel Einbinder
2a0a44bc09
chore: move diff_match_patch into the test package ( #9475 )
2021-10-13 13:38:26 -07:00
Pavel Feldman
cd99ad0da2
feat(trace): allow multiple traces in a single app, gc traces ( #9478 )
2021-10-13 13:31:54 -07:00
Pavel Feldman
8b1a887756
feat(html): link traces from html report ( #9473 )
2021-10-13 11:07:29 -07:00
Dmitry Gozman
64a3099655
chore(expect): simplify expect implementation ( #9459 )
2021-10-13 08:56:57 -07:00
Pavel Feldman
cdfe075b2a
chore(traceviewer): drop intermediate iframe, add drop handler ( #9455 )
2021-10-12 21:21:06 -07:00
Pavel Feldman
c0945d9d00
chore(trace): make trace viewer a pwa ( #9438 )
2021-10-12 14:42:50 -07:00
Max Schmitt
bcfd47343c
chore: fix package description after monorepo
2021-10-12 23:32:08 +02:00
Max Schmitt
34e933f474
fix(trace-viewer): show warning when opening an empty trace ( #9449 )
2021-10-12 20:11:57 +02:00
Yury Semikhatsky
82ff85b106
fix(matchers): make isNot required in protocol ( #9436 )
2021-10-12 09:01:46 -07:00
Max Schmitt
ded1e718b5
types(test-runner): fix access worker fixtures in test.skip ( #9447 )
2021-10-12 17:44:00 +02:00
Max Schmitt
2210426a6b
chore(electron): show helpful error when no x11 server is available ( #9446 )
2021-10-12 17:42:39 +02:00
Pavel Feldman
9dfc0a3394
chore: make sw global in trace viewer ( #9431 )
2021-10-11 20:52:28 -07:00
Pavel Feldman
876e08315b
fix(expect): continue polling in array-based matchers, fix edge cases ( #9430 )
2021-10-11 14:01:09 -07:00
Max Schmitt
b1160ec239
chore(test-runner): make outputDir based on cwd instead of testDir ( #9360 )
2021-10-11 22:24:46 +02:00
Joel Einbinder
d34b53a0d7
feat(test runner): allow comparing binary files to strings ( #9315 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-10-11 21:57:59 +02:00
Max Schmitt
f0ff2a23d2
chore: add README's for packages ( #9432 )
2021-10-11 19:28:10 +02:00
Max Schmitt
9dd6bb8c6a
Revert "feat(test-runner): allow parametrized tests that don't extend base ( #9301 )"
...
This reverts commit f63af830de .
2021-10-11 17:32:31 +02:00
github-actions[bot]
9e0ee0e37e
feat(chromium): roll to r930007 ( #9428 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-11 17:02:46 +02:00
Joel Einbinder
c89d5a50dd
chore: migrate to monorepo ( #9421 )
2021-10-11 16:52:17 +02:00
Max Schmitt
8bfd63e4ba
chore(create-playwright): have better config defaults ( #9362 )
2021-10-07 21:21:56 +02:00
Yevhen Laichenkov
19715300b3
fix(create-playwright): add extra -- for the debug script ( #9257 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-10-04 10:55:29 +02:00
Max Schmitt
cd22072685
chore: enable object-curly-spacing in ESLint ( #9168 )
2021-09-27 18:58:08 +02:00
Max Schmitt
c66d72bddb
chore(create-playwright): upload alwas test-results/ to GHA
...
Fixes #9014
2021-09-22 16:41:44 +02:00
Max Schmitt
08544a88a1
chore(create-playwright): cut v0.1.7 release
2021-09-20 09:22:00 +02:00
Max Schmitt
f68ae4a2e0
chore(create-playwright): enhance UX follow-ups and add more verbose Playwright Test config ( #8942 )
2021-09-15 22:07:50 +02:00
Max Schmitt
299a55c562
chore(create-playwright): UX follow-ups ( #8897 )
2021-09-14 13:14:43 +02:00
Max Schmitt
87c2b4b200
chore(create-playwright): roll to 0.1.5 ( #8889 )
2021-09-13 22:48:19 +02:00
Max Schmitt
5eca7aa1d9
feat: add create-playwright package ( #8841 )
2021-09-13 22:05:38 +02:00
Yury Semikhatsky
210ad72228
fix: remove node-fetch dependency, use custom fetch implementation ( #8486 )
2021-08-26 16:18:54 -07:00
Dmitry Gozman
33852635b7
fix(fetch): skip tests on non-default modes, add node-fetch to deps list ( #8425 )
2021-08-24 19:41:29 -07:00
Dmitry Gozman
2ac0c59156
feat(test-runner): rename Test to TestCase ( #7725 )
2021-07-19 14:54:18 -07:00
Dmitry Gozman
167db03f05
feat(test-runner): export reporter api as @playwright/test/reporter ( #7692 )
2021-07-16 21:15:03 -07:00
Dmitry Gozman
47885db116
chore: move install to Registry ( #7433 )
...
This is an effort to consolidate all handling of browser binaries in a single place.
2021-07-06 20:59:16 -07:00
Joel Einbinder
7629587914
fix(test-runner): work with .mjs files ( #7373 )
2021-06-29 15:28:41 -07:00
Joel Einbinder
0af1f4399d
fix(test-runner): fix default export breaking on installation tests ( #7331 )
2021-06-25 22:52:04 -07:00
Joel Einbinder
7caf05b24a
fix(playwright-test): have the proper default export ( #7328 )
...
There are 3 ways to import `@playwright/test` library in the modern Node.js ecosystem:
- Using `require`: works great, this patch doesn't change it
- Using `import` statement from `.mjs` file - we have wrong `default` for @playwright/test that should be a `test`. This is what test checks for
- Using `import test from '@playwright/test'` from `.ts` file - was broken because TypeScript thought it's a CJS module, whereas it's a ESM module in reality.
Also, typescript types import from `.d.ts` file was broken because we had no default export (`export *` syntax does not export default).
2021-06-25 15:29:22 -07:00
Pavel Feldman
deec8a4adb
docs: make docs test-first ( #7214 )
2021-06-18 10:09:38 -07:00
Dmitry Gozman
b625a04adc
types: move exported objects from index.d.ts to overrides.d.ts ( #7152 )
...
This way we generate these types right away, without duplicating them everywhere.
2021-06-15 15:06:18 -07:00
Andrey Lushnikov
afa9d69b63
test: fix installation tests ( #7069 )
...
This was regressed by 3b1bae8a40
2021-06-11 13:56:41 +02:00
Andrey Lushnikov
55da16d8cd
Revert "feat: switch to the Firefox Stable equivalent by default ( #6926 )" ( #6947 )
...
This reverts commit a25b11659be8887b700311180fcd3653aa9e472b.
In a discussion with Dmitry Gozman we decided to revert this and instead
proceed with the following approach:
- rename `//browser_patches/firefox` to `//browser_patches/firefox-beta`
- rename `//browser_patches/firefox-stable` folder to
`//browser_patches/firefox`
In all of the folders, we will keep the `BUILD_NUMBER` original so that
it doesn't clash on the CDN.
2021-06-07 15:55:01 -07:00
Andrey Lushnikov
a1e8d2d531
feat: switch to the Firefox Stable equivalent by default ( #6926 )
...
This patch:
- starts downloading Firefox Stable equivalent by default
- starts running Firefox-Stable on our smoke tests (tests-1)
- starts running Firefox-Beta on our CQ1 tests (tests-2)
Note: there's a little confusion right now with browser names:
- `firefox-stable` - firefox-stable equivalent
- `firefox`- firefox-beta equivalent
I'll rename `firefox` to `firefox-beta` in a follow-up.
Fixes #6817
2021-06-07 15:00:23 -07:00
Dmitry Gozman
f745bf1fbc
chore: bring in folio source ( #6923 )
...
- Source now lives at `src/test`.
- Former folio tests live at `tests/playwright-test`.
- We use `src/test/internal.ts` that exposes base test without
Playwright fixtures for most tests (to avoid modifications for now).
- Test types live in `types/testFoo.d.ts`.
- Stable test runner is installed to `tests/config/test-runner` during `npm install`.
- All deps including test-only are now listed in `package.json`.
Non-test deps must also be listed in `build_package.js` to get included.
2021-06-06 17:09:53 -07:00
Dmitry Gozman
3de3a88930
feat(test): introduce npx playwright test ( #6816 )
2021-06-03 08:07:55 -07:00
Dmitry Gozman
33c2f6c31e
chore: do not bundle api.json and protocol.yml ( #6841 )
...
These are only needed for the driver, so bundle them
in the driver explicitly.
2021-06-02 14:01:05 -07:00
Max Schmitt
79b244a2f4
chore: use bash instead of sh in code blocks ( #6847 )
2021-06-02 18:23:06 +02:00
Andrey Lushnikov
cb4adb1446
feat: install chrome-beta via cli ( #6831 )
...
This patch starts introduces `npx playwright install chrome-beta`
command and switches our Chrome Beta tests to it.
2021-06-01 18:26:12 -07:00
Dmitry Gozman
24dca969b6
chore: remove electron/android from build_packages ( #6827 )
...
We do not update these packages anymore, and bundle the code in playwright.
2021-06-01 15:53:47 -07:00
Max Schmitt
9592486225
feat: use up2date Chromium user-agents for device descriptors ( #6594 )
2021-05-18 09:29:48 +02:00
Andrey Lushnikov
eb7b4dea0d
tests: disable certain installation tests on Node v16 ( #6544 )
...
NPM7 that comes with Node v16 swallows output from installation
scripts, so certain tests don't work.
2021-05-12 13:11:59 -07:00
Max Schmitt
e0aaef5eab
docs: get rid of dollar sign prefix in code snippets ( #6494 )
2021-05-11 20:47:48 +02:00
Max Schmitt
a59a494e64
chore: drop support for Node.js 10 ( #6371 )
2021-04-30 07:49:10 -07:00
Max Schmitt
9cd89ae052
fix: host dependency validation ( #6227 )
2021-04-20 18:54:53 +02:00
Yury Semikhatsky
e4ae6503d7
fix(inspector): fall back to custom executable path for UI ( #6214 )
2021-04-16 15:19:44 -07:00
Dmitry Gozman
bd8433ba49
test: cleanup various testing env variables ( #6155 )
2021-04-09 07:59:09 -07:00
Joel Einbinder
779355ad51
feat(types): make the template on BrowserType optional ( #6142 )
...
This makes it much nicer to use `BrowserType` because it no longer has a template.
Technically a breaking change because of the rare edge case where someone used their own non-browser type inside the template, but I don't consider that intended behavior and think this is fine.
2021-04-08 10:27:24 -07:00
Pavel Feldman
a7630c91d5
api: remove Chromium* classes ( #6040 )
2021-04-01 18:47:14 -07:00
Pavel Feldman
14ccc80cb3
fix(android): bundle android driver in all settings ( #5883 )
2021-03-22 14:25:40 -07:00
Andrey Lushnikov
2064d27dc6
fix(installer): retain browsers installed via Playwrigth CLI ( #5904 )
...
Browser registry is responsible for 3 things:
1. Remove downloaded browsers if there are no packages that refer to them
2. Install default browsers needed for the current package
3. Install browsers on-demand when used through Playwright CLI
Currently, registry relies on a single "download" field in `browsers.json`
to carry both (1) and (2). However, browsers in (3) are marked as
`download: false` so that they aren't installed automatically in (2), so
auto-remove procedure in (1) removes them on subsequent installation.
One possible approach to fix this would be modifying package's `browsers.json` to
change `download: false` to `true` when browsers are installed with
Playwright CLI. This approach was explored here:
bc04a51800
We decided against this since we have a history of issues related to
package modifications after NPM installation. This breaks all
sorts of yarn/npm caching mechanisms.
Instead, this patch is a two-step refactor:
- remove the "download" field in `browsers.json`. Now, all registries
(including old ones from previously-released versions) will retain any
browsers that are mentioned in the `browsers.json`.
- add a new flag "installByDefault", that is **only used** for default
installation.
With this change, the registry tasks are done like this:
- (1) auto-removal: if browser has a back reference, it is retained,
otherwise it is removed from registry
- (2) default installation: use only `installByDefault` to carry default installations
- (3) CLI installation: simply installs browsers. Since we retain
everythings that's referenced in (1), browsers aren't removed.
Fixes #5902
2021-03-22 11:43:29 -07:00
Yury Semikhatsky
ddfdf8a76a
fix: install chromium along with ffmpeg ( #5774 )
2021-03-10 14:01:35 -08:00
Andrey Lushnikov
f3a09210da
test: move installation tests out of playwright tree ( #5573 )
2021-02-23 19:17:15 -08:00
Dmitry Gozman
5cb914b2fe
fix(types): do not use import('electron') ( #5572 )
2021-02-23 18:48:34 -08:00
Dmitry Gozman
ac1599cc2c
fix(registry): handle relative registry path ( #5406 )
...
We get relative registry path when PLAYWRIGHT_BROWSERS_PATH or HOME is relative.
In this case, it would be good to resolve to the same absolute path
during installation and execution, and we can usually do that using INIT_CWD.
2021-02-12 11:12:06 -08:00
Dmitry Gozman
3e7b8e3d74
test: add basic end-to-end driver test ( #5426 )
...
- Introduce internal "out of process" start()/stop() mode.
- This mode is used both in regular tests and installation tests.
- Emulate basic driver installation, browser download and running.
2021-02-12 09:05:32 -08:00
Andrey Lushnikov
2dfe1c75e1
fix: do not spam console when building playwright packages ( #5436 )
2021-02-12 00:41:33 -08:00
Dmitry Gozman
99f8e1cf63
docs: document Android and friends ( #5415 )
...
These are experimental, currently available through `_android`.
2021-02-11 10:31:57 -08:00
Andrey Lushnikov
d499cf08d1
refactor: remove browserPaths in favor of Registry class ( #5318 )
...
This patch introduces a new Registry class that incapsulates
all logic regarding browsers and their paths.
Fixes #5278
2021-02-08 16:02:49 -08:00
Dmitry Gozman
983e04374a
chore: fix build/packaging for recorder and traceviewer ( #5338 )
2021-02-05 16:19:09 -08:00
Andrey Lushnikov
cb1b64289c
devops: downloading ffmpeg during install step ( #5249 )
...
This patch starts downloading FFMPEG like we download our browsers
instead of bundling it in the NPM package.
With this patch, NPM size is reduced from 8.8MB to 1.7MB.
Consequences:
- `npx playwright` is drastically faster now
- playwright driver for language bindings is way smaller
- projects that bundle Playwright can pass Apple Notorization
Fixes #5193
2021-02-03 09:19:11 -08:00
Pavel Feldman
1db5ef24a8
docs: document electron api ( #5229 )
2021-02-01 11:43:26 -08:00
Dmitry Gozman
135e0344fc
feat(cli): small improvements ( #4952 )
...
- Allow specifying which browsers to install. This comes handy in playwright-cli.
- Print "npx playwright" as a tool name in help messages, instead of "cli".
2021-01-08 15:42:08 -08:00
Pavel Feldman
31ffeb32e3
doc: further align docs w/ playwright.dev (2) ( #4871 )
2021-01-04 13:50:29 -08:00
Dmitry Gozman
293a7bdd4c
feat(cli): bring in codegen and tests ( #4815 )
2020-12-28 14:50:12 -08:00
Dmitry Gozman
905f28c339
feat(types): simplify android and electron types ( #4829 )
...
These now follow the scheme for regular types.
2020-12-26 20:25:18 -08:00
Dmitry Gozman
d40afa2fbf
feat(cli): first few cli commands ( #4773 )
...
This sets up cli capabilities and brings in a few commands from playwright-cli.
2020-12-22 14:54:13 -08:00
Pavel Feldman
2ba60e92e3
test(adb): add some adb tests ( #4679 )
2020-12-11 23:36:08 -08:00
Pavel Feldman
616df7d2f4
fix(adb): minor fixes ( #4678 )
2020-12-10 16:37:18 -08:00
Pavel Feldman
8fc49c98fa
feat(adb): support webviews ( #4657 )
2020-12-09 17:15:24 -08:00
Pavel Feldman
aacd8e633c
chore: expose adb devices and actions ( #4647 )
2020-12-09 15:06:57 -08:00
Dmitry Gozman
1c39689dd6
api(videos): introduce a single recordVideo option bag ( #4309 )
...
api(videos): introduce a single recordVideo option bag
Currently contains `dir` and `size`, previously known as
`videosPath` and `videoSize`.
2020-11-02 19:42:05 -08:00
Andrey Lushnikov
b4ad6e79a4
devops: playwwright-core installation should not touch browser registry ( #4089 )
...
Currently, `playwright-core` installation would check browser registry
and remove any unused browsers. This, however, might be unexpected
since `playwright-core` shouldn't touch browser registry at all.
Fixes #4083
2020-10-08 11:42:56 -07:00
Max Schmitt
318ab28171
chore: include api.json in NPM package ( #4034 )
2020-10-01 12:47:16 -07:00
Dmitry Gozman
4a77363af7
api: update videos api, hide tracing ( #4015 )
2020-10-01 11:06:19 -07:00
Pavel Feldman
7ccdc5176d
chore: include api.json into the Playwright package ( #4003 )
2020-09-29 13:48:24 -07:00
Dmitry Gozman
df777344a3
api(video): simplify video api ( #3924 )
...
- This leaves just `recordVideos` and `videoSize` options on the context.
- Videos are saved to `artifactsPath`. We also save their ids to trace.
- `context.close()` waits for the processed videos.
2020-09-18 17:36:43 -07:00
Yury Semikhatsky
40323aa94d
fix(screencast): use viewport as default size ( #3844 )
2020-09-11 15:14:31 -07:00
Andrey Lushnikov
868740067b
refactor: consolidate ffmpeg-related files in third_party/ffmpeg ( #3815 )
...
This patch:
- moves ffmpeg binaries from `//bin/` to `//third_party/ffmpeg`
- adds [COPYING.GPLv3](https://github.com/FFmpeg/FFmpeg/blob/master/COPYING.GPLv3 )
ffmpeg license
- changes npm packaging to include `//third_party/ffmpeg` only in `playwright` and `playwrihgt-chromium` a
2020-09-09 09:51:28 -07:00
Andrey Lushnikov
355ea73a0b
feat: actually bundle FFMPEG binaries with NPM packages ( #3804 )
...
This patch:
- adds FFMPEG binaries to the NPM packages
- adds a screencast test to make sure that screencast works. This currently relies on private screencast APIs.
NOTE: with this patch playwright package size grows from `650KB` to `4.2MB`.
2020-09-08 17:51:56 -07:00
Andrey Lushnikov
8b9be6bbbe
devops: fix publishing of @next packages to NPM ( #3759 )
...
This patch:
- stop relying on stdout from `//packages/build_package.js` to get
output paths. This was a legacy code that's not needed anymore
- remove stray output from `//packages/build_package.js`
2020-09-03 11:59:58 -07:00
Andrey Lushnikov
5364e3283f
devops: bake commit SHA inside npm package ( #3754 )
...
This bakes in `//commitinfo` file with the SHA of the commit that
produced given NPM package.
Fixes #3743
2020-09-03 10:29:43 -07:00
Max Schmitt
254238cdce
enh: bake browser revisions and api into driver ( #3514 )
2020-08-26 16:01:42 -07:00
Dmitry Gozman
a099e941d6
chore: move last rpc files to their place ( #3604 )
...
Also update check-deps to be more user-friendly.
2020-08-24 14:48:03 -07:00
Dmitry Gozman
73e53b21df
chore: move injected and debug to src/server ( #3591 )
2020-08-23 20:25:59 -07:00
Dmitry Gozman
77f803140a
fix(electron): fix electron types, move source to src/server/electron ( #3583 )
2020-08-23 13:46:40 -07:00
Dmitry Gozman
6fe1cd9812
chore: move protocol files to src/protocol ( #3571 )
2020-08-21 18:46:11 -07:00
Max Schmitt
f3c2584dfc
feat: added rpc driver ( #3500 )
2020-08-17 12:44:39 -07:00
Dmitry Gozman
3a6b5cab42
test: add sanity test for playwright-electron ( #3387 )
2020-08-12 14:45:22 -07:00
Joel Einbinder
77e75b447b
chore(test): move electron tests to typescript ( #3379 )
2020-08-10 23:04:38 -07:00
Dmitry Gozman
3179e71912
feat(rpc): in-process rpc on by default ( #3104 )
2020-08-10 14:18:58 -07:00
Yury Semikhatsky
cbfdca736c
feat(launcher): check dependencies before launch on Windows ( #3240 )
2020-07-30 17:15:46 -07:00
Max Schmitt
d27f97edb1
devops: include protocol and api.md in NPM package ( #3195 )
...
The reason for this change is that in Playwright Python we would need the related `protocol.yml` and `api.md` for the installed NPM package. For that we could either add the Git hash to the released package e.g. as a file (and go over the GitHub repo to get the file content) but Pavel proposed that it might be better to include the two files in the NPM package.
Tested locally by adding to the `utils/publish_all_packages.sh` script `--dry` to the NPM publish commands.
cc @aslushnikov @pavelfeldman
Related issues: https://github.com/microsoft/playwright-python/pull/101 and https://github.com/microsoft/playwright-python/pull/96
2020-07-28 13:30:36 -07:00
Dmitry Gozman
fd2e65b73c
api: export all browsers from every package ( #3128 )
...
This makes it easier to reason about our packages.
The only difference is what each package downloads.
When the browser is not downloaded, it will fail to launch.
Each browser gets a 'download' attribute in the browser.json file.
2020-07-24 16:36:00 -07:00
Dmitry Gozman
6a4195fd1d
fix(require): allow requiring internals ( #3153 )
2020-07-24 14:21:25 -07:00
Dmitry Gozman
d234dac752
chore: support esm imports ( #3125 )
2020-07-23 15:14:36 -07:00
Andrey Lushnikov
8fbd647099
fix(playwright-core): bring back index.js in playwright-core ( #2691 )
...
References #2540
2020-06-24 13:54:19 -07:00
Andrey Lushnikov
2511cb4c56
devops: drop playwright-electron dependency on playwright-core ( #2634 )
...
Drive-by: bump playwright-electron version to 0.4.0; i'll publish it
after this PR lands.
2020-06-18 17:11:10 -07:00
Luke Chu
456c865fe8
docs(playwright-electron/README.md): fix comment mistake ( #2568 )
2020-06-13 23:10:34 -07:00
Andrey Lushnikov
37ec3a6ae6
fix(types): properly export typescript types from packages ( #2364 )
...
Drive-by: move package tests from `//test/installation-tests` to
`//packages/installation-tests`
Fix #2349
2020-05-26 17:19:05 -07:00
Andrey Lushnikov
505d94ab1a
chore: drop dependency on playwright-core in all our packages ( #2318 )
...
This patch:
- drops dependency on playwright-core in all our packages. Instead of
the dependency, packages are now built with `//packages/build_package.sh`
script.
- unifies `browsers.json` - now there's a single `//browsers.json` file
that is used to manage browser revisions.
This patch temporary switches canary publishing to `--dryn-run` from CI/CD so that we
can verify that it does sane things.
We'll unify all our package management scripts under `//packages/` in a
follow-up.
Fixes #2268
2020-05-21 13:18:15 -07:00
Yury Semikhatsky
9154f4b6e0
feat(webktt): explicitly enable Playwright domain on start ( #2315 )
2020-05-21 08:44:57 -07:00
Yury Semikhatsky
a010fcd620
feat(webkit): bump revision to 1238 ( #2299 )
2020-05-19 10:37:01 -07:00
Yury Semikhatsky
74ba03b195
feat(webkit): bump revision to 1235 ( #2262 )
2020-05-15 17:36:40 -07:00
Joel Einbinder
04aae1c063
chore(electron): mark version 0.3.0 ( #2255 )
2020-05-14 23:13:06 -07:00
Pavel Feldman
919659a66b
browser(webkit): roll to r1230 ( #2241 )
2020-05-14 10:41:52 -07:00
Pavel Feldman
17286ab712
feat(webkit): roll to r1228 ( #2232 )
2020-05-14 07:57:29 -07:00
Joel Einbinder
dbef7de42a
feat(electron): types ( #2231 )
2020-05-13 20:51:53 -07:00
Pavel Feldman
8b5e4398b1
docs: update electron docs
2020-05-12 15:57:53 -07:00
Pavel Feldman
414ae0025e
fix(electron): handle in-event await errors ( #2207 )
2020-05-12 15:28:37 -07:00
Dmitry Gozman
28845e5ccc
feat(firefox): bump and use context setters ( #2194 )
2020-05-12 15:13:48 -07:00
Pavel
54b056bddb
chore: make electron permanently depend on playwright-core@next
2020-05-12 09:20:55 -07:00
Pavel Feldman
3f8dfed67f
feat(electron): add app.firstWindow convenience method ( #2195 )
2020-05-12 08:43:41 -07:00
Pavel Feldman
e447e9aa54
docs: update README.md for playwright-electorn
2020-05-11 18:56:05 -07:00
Pavel Feldman
ffe7084652
feat(electron): experimental electron support ( #2166 )
2020-05-11 18:00:33 -07:00
Pavel Feldman
b88c1a877e
feat(chromium): roll to r767256 ( #2183 )
2020-05-11 10:46:31 -07:00
Joel Einbinder
83aff38cea
feat(webkit): roll to 1124 ( #2156 )
2020-05-08 10:02:49 -07:00
Pavel Feldman
9885ba20c7
feat(firefox): roll to r1093 - 77.0b3 ( #2152 )
2020-05-07 22:49:49 -07:00
Tobias Hernstig
d39ec35cd7
chore: Add "homepage" to package.json ( #2127 )
2020-05-07 12:31:59 -07:00
Andrey Lushnikov
7a01bb1f33
chore: bump package.json version to v1.0.0-post ( #2128 )
2020-05-06 12:13:23 -07:00
Pavel Feldman
41de5bc388
Revert "chore: mark v0.18.0 ( #2122 )"
...
(should go only into branch)
This reverts commit 19e8c327ba .
2020-05-05 16:55:55 -07:00
Pavel Feldman
19e8c327ba
chore: mark v0.18.0 ( #2122 )
2020-05-05 16:52:54 -07:00
Pavel Feldman
da903cb5bb
chore: cut v0.18.0-post version
2020-05-05 15:07:44 -07:00
Pavel Feldman
b56ba083db
feat(webkit): roll webkit to r1219 ( #2119 )
2020-05-05 12:26:49 -07:00
Andrey Lushnikov
0bb1ba177c
feat(firefox): roll to r1089 ( #2106 )
2020-05-04 19:58:47 -07:00
Pavel Feldman
932d6ba6df
feat(chromium): roll to 764964 (Canary) ( #2098 )
2020-05-04 14:25:11 -07:00
Andrey Lushnikov
6eabb95b49
chore: cut v0.17.0-post ( #2095 )
2020-05-04 12:15:20 -07:00
Pavel Feldman
08d713973e
test: add third party cookies test ( #2073 )
2020-05-04 09:14:42 -07:00
Andrey Lushnikov
28bbd93f40
chore: cut v0.16.0 ( #2065 )
2020-04-30 17:41:03 -07:00
Pavel Feldman
c55db6d315
browser(webkit): roll webkit to 1213 ( #2045 )
2020-04-29 18:40:18 -07:00
Yury Semikhatsky
78b44ed2a0
fix: report new window downloads ( #2019 )
2020-04-29 18:36:24 -07:00
Pavel Feldman
0228ba4992
feat(registry): implement download registry ( #1979 )
2020-04-29 17:19:21 -07:00
Pavel Feldman
6c94f604d8
feat(chromium): roll to r763809 ( #2028 )
2020-04-29 08:44:09 -07:00
Pavel Feldman
2cdf297245
chore: remove uncompiled download-browser ( #2018 )
2020-04-28 17:06:01 -07:00
Pavel Feldman
d52bd92983
chore: read browser revisions off browsers.json ( #2009 )
2020-04-28 10:37:23 -07:00
Pavel
df7338c2ce
Revert "chore: cut v1.0.0-post ( #1966 )"
...
This reverts commit 7afceeb5a6 .
2020-04-27 10:05:11 -07:00
Pavel Feldman
b60c006c63
chore: simplify and restructure downloads ( #1974 )
2020-04-24 19:14:10 -07:00
Andrey Lushnikov
7afceeb5a6
chore: cut v1.0.0-post ( #1966 )
2020-04-24 15:02:25 -07:00
Andrey Lushnikov
5146dfc74b
chore: cut v0.15.0 ( #1957 )
2020-04-23 20:26:18 -07:00
Andrey Lushnikov
a147d3f99b
chore: sync versions across packages ( #1929 )
2020-04-22 17:43:13 -07:00
Andrey Lushnikov
9efc66366c
chore: generate README.md for playwright package on prepublish ( #1801 )
...
This will ensure that `playwright` package always has a readme.
Fix #1798
2020-04-15 11:29:59 -07:00
Andrey Lushnikov
b385ea8415
chore: bump version to v0.13.0-post ( #1721 )
2020-04-08 17:30:45 -07:00
Andrey Lushnikov
17e645ad34
chore: mark version v0.13.0 ( #1720 )
2020-04-08 16:53:44 -07:00
Andrey Lushnikov
dc7d221722
chore: bump version to v0.12.1-post ( #1516 )
2020-03-24 12:08:02 -07:00
Andrey Lushnikov
a7ca2fef09
chore: mark version v0.12.1 ( #1515 )
2020-03-24 11:28:07 -07:00
Andrey Lushnikov
ed746d9cbd
fix: fix all packages installation ( #1514 )
...
This would require a v0.12.1 release.
2020-03-24 11:19:24 -07:00
Dmitry Gozman
ed6e0d5513
chore: bump version to v0.12.0-post ( #1512 )
2020-03-24 10:46:35 -07:00
Dmitry Gozman
08b94ee67b
chore: mark version v0.12.0 ( #1497 )
2020-03-24 10:40:02 -07:00
Andrey Lushnikov
b778789ba8
feat: re-make global browser installation ( #1506 )
...
This patch removes the `PLAYWRIGHT_GLOBAL_INSTALL=1` variable
and instead introduces a new var - `PLAYWRIGHT_BROWSERS_PATH`.
You can specify `PLAYWRIGHT_BROWSERS_PATH` to affect where playwright
installs browsers and where it looks for browsers.
Fixes #1102
2020-03-24 00:08:00 -07:00
Andrey Lushnikov
a74e23a257
feat: support PLAYWRIGHT_GLOBAL_INSTALL=1 env variable ( #1470 )
...
You can install playwright with
```
PLAYWRIGHT_GLOBAL_INSTALL=1 npm i playwright
```
to make it use a single shared location for all browser
downloads.
Fixes #1102
2020-03-23 12:49:53 -07:00
Joel Einbinder
825555cddf
types: better types ( #1166 )
...
This generates typescript definitions based on the api.md, instead of autogenerating them from the typescript source code.
Now types
- only include the public api
- work with older versions of typescript
- include descriptions
- are more consistent
- are more complete
#6
2020-03-20 01:30:35 -07:00
Andrey Lushnikov
f5ecbff16e
devops: remake downloading logic ( #1419 )
...
This patch:
- removes `browserType.downloadBrowserIfNeeded()` method. The method
turned out to be ill-behaving and cannot not be used as we'd like to (see #1085 )
- adds a `browserType.setExecutablePath` method to set a browser
exectuable.
With this patch, we take the following approach towards managing browser downloads:
- `playwright-core` doesn't download any browsers. In `playwright-core`, `playwright.chromium.executablePath()` returns `null` (same for firefox and webkit).
- clients of `playwright-core` (e.g. `playwright` and others) download browsers one way or another.
They can then configure `playwright` with executable paths and re-export the `playwright` object to their clients.
- `playwright`, `playwright-firefox`, `playwright-chromium` and `playwright-webkit` download
browsers. Once browsers are downloaded, their executable paths are saved to a `.downloaded-browsers.json` file. This file is read in `playwright/index.js` to configure browser executable paths and re-export the API.
- special case is `install-from-github.js` that also cleans up old browsers.
2020-03-19 11:43:35 -07:00
Andrey Lushnikov
08fbc92752
feat: support PLAYWRIGHT_DOWNLOAD_HOST ( #1179 )
...
This patch starts respecting `PLAYWRIGHT_DOWNLOAD_HOST` env variable
in `playwright` package and it's vendored flavors (`playwright-firefox`,
`playwright-chromium` and `playwright-webkit`).
Fixes #1045
2020-03-02 13:45:10 -08:00
Andrey Lushnikov
d5951b4fc4
fix: properly download browsers ( #1173 )
...
Playwright API is parametrized with a `downloadPath` - a path that
is used to download browsers and to look for downloaded browsers.
This patch starts respecting `downloadPath` as part of
`download-browser.js` utility.
2020-03-02 11:49:42 -08:00
Andrey Lushnikov
4ebf419259
fix(yarn): download browsers to package directories ( #1133 )
...
This patch makes it so all our packages, like `playwright` and
browser-specific flavors, download browsers to their
directories rather then using directory of `playwright-core`.
This way yarn@1 caches are not busted: they didn't expect that directory
content might change after packages's explicit install step
is failed, there's that was what we were doing.
Fixes #1085
2020-02-26 15:13:31 -08:00
Joel Einbinder
8cfdeb99bd
chore: mark v0.11.1-post ( #1027 )
2020-02-14 19:23:50 -08:00
Joel Einbinder
2037e01b06
chore: mark v0.11.1 ( #1025 )
2020-02-14 19:13:08 -08:00
Andrey Lushnikov
39c580a9b1
chore: bump version to 0.11.0-post ( #1001 )
2020-02-13 19:10:03 -08:00
Andrey Lushnikov
cea036ab7e
feat: change vendor package exports ( #818 )
...
* feat: change vendor package exports
This patch changes top-level exports for the vendor-specific
packages:
- `playwright-chromium`: now exports an object with a single `chromium`
field
- `playwright-wekbit`: now exports an object with a single `webkit`
- `playwright-firefox`: now exports an object with a single `firefox`
Fixes #814
* fix typo
* address comments
2020-02-03 14:24:03 -08:00
Andrey Lushnikov
fce3842011
chore: bump version to 0.10.0-post ( #796 )
2020-01-31 18:46:34 -08:00
Andrey Lushnikov
6a97216fff
chore: mark version 0.10.0 ( #795 )
2020-01-31 18:40:44 -08:00
Damian Senn
ff302354bb
chore: fix package typo in packages README ( #707 )
2020-01-28 07:52:42 -08:00
Andrey Lushnikov
bd726ee499
chore: bump version to v0.9.24-post
2020-01-27 17:26:23 -08:00
Andrey Lushnikov
3e40b4e9d3
chore: mark version 0.9.24
2020-01-27 17:23:53 -08:00
Andrey Lushnikov
ee9c2b0c41
chore: bump version to v0.9.23-post
2020-01-27 14:08:14 -08:00
Andrey Lushnikov
03e2754dce
chore: mark version 0.9.23
2020-01-27 13:47:02 -08:00
Andrey Lushnikov
d7beaa7068
chore: bump version to 0.9.22-post ( #684 )
2020-01-27 13:31:43 -08:00
Andrey Lushnikov
0a7005e6e9
chore: mark version v0.9.22 ( #682 )
2020-01-27 13:28:23 -08:00
Jon Perl
63d5a7347d
fix(types): export playwright-core types from playwright ( #628 )
...
Resolves #627
2020-01-24 17:12:01 -08:00
Joel Einbinder
7e8bce7911
chore: bump version to v0.9.21-post
2020-01-22 20:35:01 -08:00
Joel Einbinder
372a88fa30
chore: mark version v0.9.21
2020-01-22 20:32:32 -08:00
Joel Einbinder
ef2286cbb5
chore: mark version v0.9.20 ( #578 )
2020-01-22 20:29:22 -08:00
Andrey Lushnikov
5c5faf35a9
chore: bump version to 0.9.19-post
2020-01-21 18:38:39 -08:00
Andrey Lushnikov
11abcee1d8
chore: mark version v0.9.19
2020-01-21 18:35:14 -08:00
Andrey Lushnikov
de77fcca8a
chore: bump version to 0.9.18-post
2020-01-21 17:41:45 -08:00
Joel Einbinder
fd4a1906d7
chore: mark version 0.9.18 ( #554 )
2020-01-21 17:29:33 -08:00
Joel Einbinder
4573cd3fec
chore(packages): copy readme from root folder into packages/playwright ( #552 )
2020-01-21 17:24:47 -08:00
Joel Einbinder
fa1d286d56
chore: npm packages ( #525 )
...
## playwright-chromium
- installs chromium
- exposes chromium api from playwright-core
## playwright-firefox
- installs firefox
- exposes firefox api from playwright-core
## playwright-webkit
- installs webkit
- exposes webkit api from playwright-core
## playwright-core
- downloads no browsers
- contains all of the js code
- designed for internal use
## playwright
- downloads all browsers
- exposes the entire api from playwright-core
## github
- downloads all browsers, generates protocol definitions, builds typescript
- exposes "playwright-core" api
2020-01-21 12:22:17 -08:00