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