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
Max Schmitt
371aa3dab2
feat: add browser.newContext({ baseUrl }) ( #7409 )
2021-07-06 21:16:37 +02:00
Max Schmitt
b846ddda04
feat(download): introduce Download.cancel ( #7462 )
2021-07-06 09:38:50 +02:00
Max Schmitt
2231992d74
feat(webkit): roll to 1507 ( #7463 )
2021-07-05 12:49:31 +02:00
Yury Semikhatsky
02ff213d4d
feat(webkit): intercepted response body ( #7229 )
2021-07-05 00:27:14 -07:00
Pavel Feldman
f52a53e21e
feat(trace-viewer): add nicer params rendering ( #7448 )
2021-07-02 16:45:09 -07:00
Dmitry Gozman
444d1eb51a
feat(test runner): run modifier functions once if they do not depend on test fixtures ( #7436 )
2021-07-02 15:49:05 -07:00
Pavel Feldman
99d7d196c5
feat(trace-viewer): render call info w/ params, result ( #7438 )
2021-07-02 14:33:38 -07:00
Andrey Lushnikov
ec8d0629f3
feat: support msedge-beta channel ( #7442 )
...
Fixes #7232
2021-07-02 12:55:46 -07:00
Dmitry Gozman
040d81052a
fix(cli): do not suggest internal tools in install command ( #7437 )
2021-07-02 11:22:26 -07:00
Andrey Lushnikov
fe32d38414
feat: move browser fonts to tools section ( #7443 )
...
This way we not only fix Docker images, but also fix `npx playwright
install-deps` in virtual machines.
2021-07-02 02:09:31 -07:00
Pavel Feldman
82b21e912e
feat(trace-viewer): add error links to actions ( #7434 )
2021-07-01 20:46:56 -07:00
Dmitry Gozman
4c7343fe96
chore: move installDeps to Registry ( #7431 )
...
This is an effort to consolidate all handling of browser binaries in a single place.
2021-07-01 17:14:04 -07:00
Pavel Feldman
e19d509c32
feat(icon): add an icon for trace viewer ( #7430 )
2021-07-01 17:05:14 -07:00
Dmitry Gozman
d46eae44d1
chore: move validateHostRequirements to Registry ( #7428 )
...
This is an effort to consolidate all handling of browser binaries in a single place.
2021-07-01 16:17:59 -07:00
Pavel Feldman
8fb0454488
fix(trace-viewer): fall back to stable channels ( #7429 )
2021-07-01 15:26:55 -07:00
Pavel Feldman
b9b0faf120
feat(trace-viewer): render console messages ( #7418 )
2021-07-01 14:31:20 -07:00
Dmitry Gozman
9f71c96740
api: remove timeout option from isVisible and isHidden methods ( #7414 )
...
It is unused and confusing.
2021-07-01 13:30:16 -07:00
Max Schmitt
dc1e5638bb
feat(webkit): roll to 1505 ( #7421 )
2021-07-01 19:26:02 +02:00
Max Schmitt
b5d134d45b
feat(firefox): roll to 1271 ( #7419 )
2021-07-01 18:52:14 +02:00
Max Schmitt
027fc4c0b4
chore: hide request interception for 1.13 ( #7425 )
2021-07-01 18:33:47 +02:00
Pavel Feldman
9c3ae38914
fix(chromium): disable the new broken upstream feature ( #7416 )
2021-07-01 07:49:49 -07:00
Pavel Feldman
f43b4efbc9
fix(trace-viewer): include waitFor* in trace viewer ( #7413 )
2021-06-30 17:56:48 -07:00
Dmitry Gozman
63e6e530ca
fix(launch): replace 'npm install playwright' with 'npx playwright install' ( #7410 )
...
... in the error message
2021-06-30 16:31:55 -07:00
Anirudh Modi
8f2bfed659
feat: added more logging info for $ ( #7344 )
2021-06-30 11:17:09 -07:00
Pavel Feldman
e9246089d5
test(trace-viewer): start adding tests ( #7393 )
2021-06-29 22:35:50 -07:00
Joel Einbinder
a1f9fc3f32
fix(test runner): properly match test suffix ( #7392 )
2021-06-29 17:49:56 -07:00
Dmitry Gozman
fc0b8ad3f0
fix(tracing): record scroll position for all scrolled elements ( #7388 )
2021-06-29 16:20:15 -07:00
Joel Einbinder
7629587914
fix(test-runner): work with .mjs files ( #7373 )
2021-06-29 15:28:41 -07:00
Pavel Feldman
b1d66d54f0
fix(tracing): explicitly list actions to snapshot ( #7376 )
2021-06-29 15:28:15 -07:00
Dmitry Gozman
3ce1f5c33e
chore: avoid execSync when determining hostPlatform ( #7386 )
2021-06-29 13:39:30 -07:00
Dmitry Gozman
6b3614fd4c
feat(test runner): support test.setTimeout for the whole block ( #7387 )
...
This enables `test.setTimeout()` outside of the test body, that
affects all tests in the block (either file or describe).
2021-06-29 13:33:13 -07:00
Joel Einbinder
368880962f
fix(test-runner): better test match glob ( #7382 )
2021-06-29 11:49:50 -07:00
Dmitry Gozman
6aefa02e91
feat(test runner): improve reporters api ( #7370 )
...
- onEnd may return a Promise
- onEnd now takes a result for the full run
- onTimeout is replaced with onEnd(result)
2021-06-29 10:55:46 -07:00
Pavel Feldman
7062278265
fix(trace): copy cached resources on write (optimization) ( #7372 )
2021-06-28 22:01:08 -07:00
Dmitry Gozman
1660334357
feat(install): docs and help ( #7365 )
...
Drive-by: remove test-intro and references to it.
2021-06-28 18:50:24 -07:00
Dmitry Gozman
530523cb67
feat(setInputFiles): support label retargeting ( #7364 )
...
This way `page.setInputFiles('label')` works, similarly to other input actions.
2021-06-28 14:18:01 -07:00
Pavel Feldman
a8d48a1a48
chore: remove hard-coded wrapApi names ( #7347 )
2021-06-28 13:27:38 -07:00
Max Schmitt
0776cf76a2
feat(test-runner): do only allow unique spec titles per suite ( #7300 )
2021-06-28 22:13:35 +02:00
Max Schmitt
9f9201420a
fix(websockets): filter for text and binary frames ( #7360 )
2021-06-28 21:23:29 +02:00
Ronie Martinez
409aeaa443
feat(codegen): Add type annotations to Python output and make PEP8-compliant ( #7337 )
2021-06-26 13:11:32 -07:00
Pavel Feldman
02538fb587
fix(trace): account for last child node removal ( #7332 )
2021-06-25 18:52:36 -07:00
Pavel Feldman
ec47b03722
fix(trace): show interrupted actions in trace ( #7329 )
2021-06-25 17:14:19 -07:00
Andrey Lushnikov
1157f622f3
fix(test-runner): default @playwright/test timeout to 0 ( #7312 )
...
All actions for the `@playwright/test` actions inside test should
have default 0 timeout. This way they will never clash with the
test timeout.
2021-06-24 23:28:01 -07:00
Max Schmitt
908ad6921f
fix(test-runner): make it compatible when running as a sub-process ( #7298 )
...
Works around the following bug: https://github.com/nodejs/node/issues/12921
2021-06-25 00:54:06 +02:00
Max Schmitt
4c6deaa449
test: added tests for WebSocket over Socks proxy ( #7235 )
2021-06-24 18:50:16 +02:00
Pavel Feldman
e6bf0a07fe
feat(force): add fill, selectOption, selectText ({force}) ( #7286 )
2021-06-24 08:18:09 -07:00
Max Schmitt
bd86e70465
feat(test-runner): allow to focus a test in a location ( #7208 )
2021-06-24 10:02:34 +02:00
Pavel Feldman
5732307280
feat(inputValue): implement *.inputValue() ( #7285 )
2021-06-23 22:19:20 -07:00
Joel Einbinder
1a6d46d844
chore(typescript): compile with babel, lint everything with tsc ( #6872 )
2021-06-23 18:01:48 -07:00
Dmitry Gozman
4c6fa42810
fix(test runner): expose real stack traces and speed up locations ( #7265 )
...
Stop wrapping/prepending error messages so that we do not loose the stack trace. For this, update a few manually thrown errors with better messages (usually including a file path).
Speed up locations by doing manual `sourceMapSupport.wrapCallSite()` for a single call site. Performance gain in the runner process with 100 files x 100 tests each:
- 25% on the fresh run without babel cache;
- 80% on the cached run where babel is almost instant.
Also some obvious cleanups around stack traces (removing unused code).
2021-06-23 10:30:54 -07:00
Max Schmitt
103f8ddd06
Revert "chore: update eslint config ( #6840 )" partly ( #7268 )
...
This reverts commit ec7d37d92f .
2021-06-23 11:08:35 +02:00
Max Schmitt
99bbc51760
fix(test-runner): support ANSII terminals with list reporter ( #7258 )
2021-06-22 19:04:24 +02:00
Dmitry Gozman
73a43fce60
chore(test runner): self profile under PWTEST_PROFILE_DIR ( #7252 )
...
`PWTEST_CLI_ALLOW_TEST_COMMAND=1 PWTEST_PROFILE_DIR=./profile node lib/cli/cli.js test -c <dir/config>`
2021-06-21 14:49:43 -07:00
Max Schmitt
143689e34f
fix: Jest isError handling to work with TypeError ( #7251 )
2021-06-21 21:48:24 +02:00
Dmitry Gozman
6118d16edd
fix(test runner): properly keep track of requireFile to support helpers/wrappers ( #7243 )
...
This fixes an issue where we incorrectly labeled and assigned ids for tests
that declared tests in require'd files or used test wrappers.
See new tests for examples.
2021-06-21 11:25:15 -07:00
Max Schmitt
590184998f
chore: improve connectOverCDP error handling ( #7239 )
2021-06-21 19:57:00 +02:00
Pavel Feldman
ea4eebeb2d
feat(test-runner): document tagging, implement grep-invert ( #7227 )
2021-06-18 17:56:59 -07:00
Yury Semikhatsky
c0cd2d4579
feat: response interception ( #7122 )
2021-06-18 11:04:48 -07:00
Yury Semikhatsky
79b2e5ddeb
feat(webkit): bump to 1500 ( #7224 )
2021-06-18 10:20:09 -07:00
Dmitry Gozman
388c6f5196
feature(test runner): capture error and pending calls when timing out ( #7193 )
2021-06-17 15:09:38 -07:00
Max Schmitt
5bf69b667e
fix(test-runner): allow additional params when pw-test is not installed ( #7200 )
2021-06-17 13:40:49 -07:00
Ross Wollman
219e5138be
feat(response): expose connection details in API ( #7150 )
2021-06-17 13:04:55 -07:00
Dmitry Gozman
5e471a3ece
feat(test runner): add type to TestInfo.error ( #7207 )
...
It has a very special `TestError` type, but we say it's `any` for some reason.
2021-06-17 12:14:28 -07:00
Joel Einbinder
10a82f862c
fix(snapshotter): support constructed CSSStyleSheet
...
Fixes #7085
2021-06-17 09:41:29 -07:00
Pavel Feldman
82a50b0e1d
fix(test-runner): property handle artifacts in context of preserveOutput ( #7181 )
2021-06-16 16:05:30 -07:00
Andrey Lushnikov
0cfea9a623
feat(chromium): roll to r891964 ( #7185 )
2021-06-16 16:00:54 -07:00
Pavel Feldman
184f2c2e93
feat(test-runner): allow specifying video size ( #7158 )
2021-06-16 07:51:54 -07:00
Andrey Lushnikov
a3e4185b2f
chore: nuke 'webkit-technology-preview' experiment ( #7164 )
...
It proved to be unmaintainable due to the following reasons:
- determining upstream branch for the technology preview was a manual
and tedious process
- once determined, actual Safari Technology Preview occasionally
diverted from the branch
2021-06-15 23:58:30 -07:00
Andrey Lushnikov
ec68b31dc4
feat: support chromium-with-symbols channel ( #7135 )
...
References #7130
2021-06-15 17:57:31 -07:00
Joel Einbinder
38e27c9c6c
fix(test-runner): case insensitive test filtering
2021-06-15 17:27:52 -07:00
Yury Semikhatsky
e5d0a535a8
fix: return valid browser from context.browser() when connect over CDP ( #7155 )
2021-06-15 16:06:38 -07:00
Dmitry Gozman
b74ca36fb3
chore: create Selectors for each Playwright object ( #7154 )
...
We currently have singleton `serverSelectors` that is shared between
the real Playwright and internal Playwrights.
2021-06-15 14:56:29 -07:00
Joel Einbinder
4c2a3fb443
fix(test-runner): accept relative paths for outputDir ( #7149 )
...
fixes #7124
2021-06-15 13:39:07 -07:00
Pavel Feldman
9550106e1d
fix(test-runner): video: 'retain-on-failure' leaves empty folders behind ( #7125 )
2021-06-15 10:06:49 -07:00
Ross Wollman
195eab8787
feat(har): record remote IP:PORT and SSL details ( #6631 )
2021-06-15 09:48:08 +02:00
Dmitry Gozman
742cce3a1d
feat(test runner): configurable reportSlowTests ( #7120 )
...
Also splits tests by projects and reports them with nice relative paths.
2021-06-14 22:45:58 -07:00
Joel Einbinder
aa72b2b9bb
fix(pwt): max-failures should work with retries ( #7127 )
...
fixes #7112
2021-06-14 22:16:16 -07:00
Dmitry Gozman
2041aab010
fix(chromium): background pages on persistent close error ( #7118 )
...
This is a speculative fix that moves "background pages cleanup"
to `_didCloseInternal` so that it is only run once, but on both
context closure and browser closure.
Symptom from a flaky test:
```log
browserContext.close: page@18087c372d32819222707ca5e8fd1030 is sending "close" event after being disposed
at PageDispatcher._dispatchEvent (D:\a\playwright\playwright\src\dispatchers\dispatcher.ts:86:15)
at Page.<anonymous> (D:\a\playwright\playwright\src\dispatchers\pageDispatcher.ts:59:12)
at Page.emit (events.js:314:20)
at Page._didClose (D:\a\playwright\playwright\src\server\page.ts:220:10)
at CRPage.didClose (D:\a\playwright\playwright\src\server\chromium\crPage.ts:165:16)
at CRBrowserContext._onClosePersistent (D:\a\playwright\playwright\src\server\chromium\crBrowser.ts:476:24)
at CRBrowserContext.close (D:\a\playwright\playwright\src\server\browserContext.ts:288:20)
```
2021-06-14 21:55:55 -07:00
Pavel Feldman
970bb6a70d
feat(test-runner): allow setting pixel match threshold for project ( #7123 )
2021-06-14 21:52:10 -07:00
Dmitry Gozman
060f7ffa92
fix: specify the right apiName for artifact errors ( #7119 )
...
This produces errors like `download.saveAs: <error>` instead of `.saveAs: <error>`.
Drive-by: fix the flaky test.
2021-06-14 16:41:53 -07:00
Max Schmitt
ad5280e5cb
fix(trace-viewer): display trace without viewport ( #7101 )
2021-06-14 17:11:30 +02:00
Peng-Yu Chen
5f6d4a7b73
feat(download): adding a new Download._cancel method ( #6236 )
2021-06-12 22:23:22 +02:00
Andrey Lushnikov
8a8b3932f8
Revert "fix(test-runner): support passing slowMo option ( #6991 )" ( #7077 )
...
This reverts commit 178489d091 .
Reason for revert: this clashes with testrunner options.
2021-06-11 16:19:50 -07:00
Andrey Lushnikov
d6831df26f
feat: roll Firefox to r1271 ( #7067 )
...
References #7015
2021-06-11 10:50:02 -07:00
Yury Semikhatsky
c903b04c7a
feat(webkit): bump to 1499 ( #7001 )
2021-06-11 09:35:48 -07:00
Pavel Feldman
49a8f67c0f
fix(test-runner): resolve global hooks relative to the config dir ( #7061 )
2021-06-10 22:31:27 -07:00
Pavel Feldman
cbce7cbdec
fix(tracing): do not stall on dialogs ( #7059 )
2021-06-10 22:24:04 -07:00
Pavel Feldman
e4d93cd1f3
fix(video): do not fail when removing non-existent video ( #7060 )
2021-06-10 22:23:02 -07:00
Andrey Lushnikov
f52290d4ea
Revert "feat: add defaultTimeout browser context configuration option ( #6944 )" ( #7057 )
...
This reverts commit 617dfdef9e .
It turns out this might conflict with our bright testrunner future.
2021-06-10 18:38:56 -07:00
Amit Abershitz
617dfdef9e
feat: add defaultTimeout browser context configuration option ( #6944 )
...
Fixes #6940
Co-authored-by: Amit Abershitz <aabershitz@proofpoint.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-06-10 18:10:20 -07:00
Pavel Feldman
3b1bae8a40
feat(codegen): allow generating tests ( #7049 )
2021-06-10 16:52:59 -07:00
Max Schmitt
05382c997b
fix(test-runner): do only match JS/TS files when collecting ( #7014 )
2021-06-10 16:41:57 +02:00
Andrey Lushnikov
3c7d2aae6a
fix: add best-effort support for MacOS beta versions ( #7003 )
...
Similarly to how we provide best-effort support for non-LTS ubuntu
versions, this patch adds support for beta versions of MacOS releases.
2021-06-09 14:58:20 -07:00
Max Schmitt
178489d091
fix(test-runner): support passing slowMo option ( #6991 )
...
Fixes #6984
Reverts #6967
2021-06-09 14:02:05 -07:00
Pavel Feldman
19d69b792d
fix(tracing): do not merge srcset urls ( #6995 )
...
Fixes #6982
2021-06-09 12:05:21 -07:00
Joel Einbinder
6788b9cf8c
fix(@playwright/test): plumbing ( #6992 )
...
`npx playwright test` should find and forward to the @playwright/test package.
2021-06-09 11:18:32 -07:00
Pavel Feldman
521153844a
docs: fix the nunit example ( #6978 )
2021-06-08 19:14:18 -07:00
Dmitry Gozman
ff3f951dc8
fix(firefox): race between markAsError and Page.ready ( #6976 )
...
When new page turns into download, we can have `_markAsError` followed
by the `Page.ready` signal and report the page twice (as an error and
as a real page). This is flaky and depends on whether `Page.ready` is
fast enough before the page closes or not.
Exposed by the "should report new window downloads" test.
2021-06-08 17:28:24 -07:00
Dmitry Gozman
6eeafc171b
fix(chromium): fix a race when intialization does not finish before page close ( #6975 )
...
This is exposed by the flaky "should report new window downloads" test.
In this test a new page is created, initialized and closed before initialization
finishes. If `lifecycleEventsEnabled` fails with "Target closed error",
we correctly ignore the initialization failure, but a single usage of the
failed promise with `.then` fails anyway.
2021-06-08 17:28:16 -07:00