Commit graph

5291 commits

Author SHA1 Message Date
Dmitry Gozman c4e79eb6ed
feat: replace Locator.type with Locator.pressSequentially (#26624)
Also deprecate `Locator.type`, `Frame.type`, `Page.type` and
`ElementHandle.type`, but not `Keyboard.type`.

References #24614.
2023-08-22 15:21:00 -07:00
Pavel Feldman 65aa062ea1
fix(console): make format console message w/o args (#26620)
Fixes https://github.com/microsoft/playwright/issues/26600
2023-08-22 14:29:35 -07:00
Dmitry Gozman 5646875e5c
fix: make Request.frame throw when page is not ready yet (#26616)
Suggest to check `request.isNavigationRequest()` beforehand.

Fixes #24603.
2023-08-22 14:06:21 -07:00
Pavel Feldman afc5ebe075
chore: give more time to polling matchers to print friendly error (#26595) 2023-08-22 09:01:42 -07:00
Max Schmitt c27317b6e5
feat(webkit): roll to r1893 (#26596)
This should make it into v1.38 and once its merged one day later it can
be tested in [Playwright
Canary](https://playwright.dev/docs/canary-releases).

Fixes https://github.com/microsoft/playwright/issues/22569
Fixes https://github.com/microsoft/playwright/issues/23259
2023-08-22 17:57:02 +02:00
Max Schmitt 18e03da445
docs: use absolute paths for file uploads (#26611)
Fixes https://github.com/microsoft/playwright/issues/26536

This makes it a bit harder for MJS customers, but I guess they know that
they can do

    const dirname = path.dirname(url.fileURLToPath(import.meta.url));
2023-08-22 17:38:23 +02:00
Max Schmitt 399f5383bc
chore: fix installation tests (#26602) 2023-08-22 16:48:52 +02:00
Max Schmitt e4366e59e2
chore: fix docs & lint check (#26598)
This broke after https://github.com/microsoft/playwright/pull/26594.
2023-08-22 16:45:41 +02:00
Pavel Feldman 1ceaa923ea
chore: create artifacts dir in the test runner (#26594) 2023-08-21 19:41:10 -07:00
Pavel Feldman fe7b956c3b
chore: allow toggling sidebar location (#26589) 2023-08-21 19:40:44 -07:00
Dmitry Gozman 72bdd43e69
fix(route): make sure Route.fetch works for popup main request (#26590)
References #24603.
2023-08-21 16:48:51 -07:00
Pavel Feldman c3c3c7f53c
chore: decorate console message sources (#26588) 2023-08-21 16:05:27 -07:00
Max Schmitt 2edecd4244
test: add libsoup3 related tests (#26572)
https://github.com/microsoft/playwright/issues/22569
https://github.com/microsoft/playwright/issues/23259
2023-08-21 22:12:12 +02:00
Pavel Feldman 2b16860e06
chore: locator tab polish (#26568) 2023-08-21 10:59:49 -07:00
Pavel Feldman f83d81956d
chore: make console stream live in ui mode (#26562) 2023-08-21 10:59:37 -07:00
Dmitry Gozman 32a309ccb8
chore: install source map support lazily (#26445)
This way we allow importing from `@playwright/test` without affecting
stack traces.

Fixes #26346.
2023-08-21 10:54:42 -07:00
Richard Blažo bcc30bc71e
feat: add title for before and after hooks (#26523) 2023-08-21 09:50:22 -07:00
Max Schmitt 2f6148bcd1
chore: use SVG icons for web apps (#26564)
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-08-21 18:33:02 +02:00
Tmk fbe3ef92e5
feat: allow absolute ctTemplateDir (#26526) 2023-08-21 09:30:56 -07:00
Kevin Centeno ba4c242a82
docs(assertions): remove unneeded await in generic assertions example (#26569) 2023-08-21 18:13:25 +02:00
Sander 06d2e7d480
fix(ct): vue jsx mount options type (#26566) 2023-08-21 08:48:03 -07:00
Pavel Feldman 41c312cd04
chore: fix ui mode to show screenshots (#26563) 2023-08-20 14:47:18 -07:00
Max Schmitt 3ac61f5c49
feat(chromium-tip-of-tree): roll to r1144 (#26565)
Note: r1143 got skipped due to a Windows build failure.
2023-08-20 14:08:45 +02:00
Sander e2a11bed19
feat(ct): svelte vite context (#26554) 2023-08-19 16:26:06 -07:00
Marcin Strzyz 192b697488
chore: remove old webpack folder structure (#26560) 2023-08-19 16:16:44 -07:00
Pavel Feldman 09bb866333
chore: format console message from page (#26555) 2023-08-19 16:13:42 -07:00
Pavel Feldman 8f31191637
chore: pick locator tab (#26532) 2023-08-18 17:53:03 -07:00
Max Schmitt 22dacdb75f
fix: component testing types with moduleresolution: bundler (#26551)
Fixes https://github.com/microsoft/playwright/issues/24581
2023-08-18 22:44:05 +02:00
Max Schmitt 29fbcbee69
fix: warn if PWT commands get executed without PWT (#26542)
Fixes https://github.com/microsoft/playwright/issues/26541
2023-08-18 18:26:34 +02:00
Max Schmitt 703f590146
feat(webkit): roll to r1887 (#26528) 2023-08-17 22:17:28 +02:00
Marcin Strzyz 6b2d93a890
chore: error on unused eslint disables (#26510) 2023-08-17 20:53:36 +02:00
Pavel Feldman 049f839b30
chore: use glass pane for dragging (#26513) 2023-08-17 09:36:59 -07:00
Vignesh Shanmugam adc9b2d390
feat: add support for browserContext.on('pageerror') (#24452)
+ fix #24466
+ Adds support for exposing the `pageerror` events via `browserContext`
API.
+ Helps with capturing the overall exceptions that are thrown outside of
the the current page and also captures the exceptions happens on other
windows/popups.
+ Keeps the API in sync with `context.on('request)',
context.on('console'), etc..`
2023-08-17 09:10:03 -07:00
Jean-François Greffier dcab22c307
feat: display package manager in CLI help and tips (#26450)
Display `npx playwright`, `yarn playwright` or `pnpm exec playwright` in
CLI

Fixes #21425
2023-08-17 08:53:08 -07:00
Jonah 0c3703fda1
feat: add iPhone 14 family (#24570)
Fixes #24214
2023-08-17 11:05:40 +02:00
Max Schmitt 75ed251c9e
fix: download of attachments in UI Mode (#26407)
Fixes https://github.com/microsoft/playwright/issues/26326.
2023-08-17 10:57:28 +02:00
Marcin Strzyz 0e6deb7c8d
chore: Update to latest version of TS Eslint to get TS 5.1 support. (#26511)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-08-17 10:57:13 +02:00
Marcin Strzyz 42543a48a7
fix: fixed PW_TEST_HTML_REPORT_OPEN + more type safe + doc (#24571)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-08-17 09:48:59 +02:00
Pavel Feldman a705d68c8a
chore: filter actions, console and network based on the timeline window (#26509) 2023-08-16 16:30:17 -07:00
ggorlen 0149c7d56c
docs: fix typo in Reporter.onEnd (#26486)
Signed-off-by: ggorlen <gsgorlen@gmail.com>
2023-08-17 00:40:14 +02:00
Pavel Feldman 929a849265
chore: fix .only in dependent tests (#26503)
Fixes https://github.com/microsoft/playwright/issues/26492
2023-08-16 13:39:08 -07:00
Max Schmitt 1a1ff6c671
chore: move launchApp into separate function (#26499)
https://github.com/microsoft/playwright/pull/26407#discussion_r1290727547
2023-08-16 18:13:40 +02:00
Max Schmitt 4c4525c9e0
chore: make html report produce named attachments (#26421)
https://github.com/microsoft/playwright/issues/26326
2023-08-16 18:06:04 +02:00
Max Schmitt d2165f3e2d
feat(webkit): roll to 1886 (#26490) 2023-08-16 10:10:14 +02:00
Pavel Feldman 576608b69d
chore: revert #24598 (#26484) 2023-08-15 11:29:33 -07:00
Max Schmitt 2deabefa71
fix: Locator.evaluateHandle types (#26469)
Fixes https://github.com/microsoft/playwright/issues/26449
2023-08-14 18:27:25 +02:00
Playwright Service 04b71bf660
feat(chromium-tip-of-tree): roll to r1142 (#26441) 2023-08-12 20:00:16 +02:00
Playwright Service 96965cfbe9
feat(webkit): roll to r1885 (#26443)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-08-12 19:17:07 +02:00
Max Schmitt bd988b34a7
chore: allow calling spawnSync on Node.js file inside test (#26429)
Fixes https://github.com/microsoft/playwright/issues/24516

Relates https://github.com/microsoft/playwright/pull/16733
2023-08-11 18:37:14 +02:00
Dmitry Gozman b899d61a51
docs: examples that save download with suggested filename (#26425)
Fixes #26341.
2023-08-10 17:20:39 -07:00
Pavel Feldman d0fec20fe1
chore: update test certificates (#26423) 2023-08-10 17:06:03 -07:00
Dmitry Gozman 050f26764e
docs: explain how to reset storage state (#26422)
References #26374.
2023-08-10 16:32:45 -07:00
Dmitry Gozman c37dfb379b
docs: make sure usage comes after description when templating (#26420) 2023-08-10 14:48:26 -07:00
Yury Semikhatsky 00c8dd7ecc
chore(html): remove unused map (#26415) 2023-08-10 13:02:35 -07:00
Yury Semikhatsky ad9d20311a
fix(merge): allow reports with same name as input (#26413) 2023-08-10 12:47:31 -07:00
Playwright Service ca06aca161
feat(webkit): roll to r1884 (#26406)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-10 17:44:19 +02:00
Playwright Service 167165d179
feat(chromium): roll to r1076 (#26400)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-10 15:16:10 +02:00
Yury Semikhatsky d44a127014
chore: delete raw reporter (#26391)
Build HTML reporter using TeleReceiver's structures directly, this saves
us unnecessary memory allocation for the intermediate structures.
2023-08-09 22:01:44 -07:00
Pavel Feldman 7a250a960b
chore: roll grid deps for socks proxy (#26392) 2023-08-09 21:18:36 -07:00
Pavel Feldman 08d6abab4a
chore: allow merging defineConfig (#26390) 2023-08-09 17:23:34 -07:00
Dmitry Gozman cadc3153f7
fix(test runner): failed + skipped = flaky (#26385)
Fixes #17652.
2023-08-09 16:35:14 -07:00
Andrey Lushnikov a61431f6bb
chore: cut 1.37.0 branch (#26357) 2023-08-09 01:46:29 -07:00
Pavel Feldman 65ac0d5256
chore: add k8s grid deployments (#26359) 2023-08-08 18:46:32 -07:00
Andrey Lushnikov ffd6cf60eb
fix: eliminate race in compilation cache (#26353)
Fixes https://github.com/microsoft/playwright/issues/24569
2023-08-08 15:09:20 -07:00
Yury Semikhatsky bc2c7946bb
fix: do not throw when merging into blob report (#26355)
We cannot import a Symbol to isomorphic code from config. Instead,
__projectId property is used.
2023-08-08 14:47:12 -07:00
Yury Semikhatsky 8fcb6383ce
chore(blob): store playwright user agent (#26337) 2023-08-08 10:39:48 -07:00
Yury Semikhatsky 0e20d352cf
chore(merge): read test events from one file at a time (#26333)
Reference https://github.com/microsoft/playwright/issues/24451
2023-08-07 17:39:32 -07:00
Yury Semikhatsky 7f1f62795d
chore(blob): add dash to report name (#26335)
This regressed in #25017
2023-08-07 17:22:31 -07:00
Dmitry Gozman 9509c300e4
fix(reuse): make sure newly created page is not "server-side-only" (#26332)
This page is going to be the "page for reuse", so it should not be
marked as "server-side-only" and should issue all required events.

Fixes #24574.
2023-08-07 16:26:30 -07:00
Dmitry Gozman 90c765d31c
chore(blob): split onBegin into multiple onProject events (#26329) 2023-08-07 14:33:18 -07:00
Dmitry Gozman 27c15b705d
fix(blob): replace projectSuffix with reportName (#25017)
Always ensure unique project/test ids across blobs.
Show `reportName` as a label in the html report.

References #24451.
2023-08-07 13:38:09 -07:00
Max Schmitt 1383844af8
docs: make --grep more clear (#26324)
Fixes https://github.com/microsoft/playwright/issues/24604
2023-08-07 17:40:30 +02:00
Playwright Service bddd4eadad
feat(webkit): roll to r1883 (#26318)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-07 16:09:37 +02:00
Andrey Lushnikov fa8f3f6454
fix: use snapshotPath instead of expectedPath for image diffs (#24567)
This opens a road to the "accept new screenshot" button in
Playwright tools.

References https://github.com/microsoft/playwright/issues/24310
2023-08-07 04:42:35 -07:00
Marcin Strzyz 53fd4bedb4
chore: ensure the file operations are async in the junit reporter (#24577) 2023-08-07 10:03:01 +02:00
Yury Semikhatsky f1f43c9ad1
chore(merger): internalize json strings after parse (#25801)
Reference: https://github.com/microsoft/playwright/issues/24451
2023-08-05 13:17:39 -07:00
Pavel Feldman 414a4c3ef0
chore: pass color through in web server commands (#24619) 2023-08-05 09:01:27 -07:00
Pavel Feldman 120de62798
chore(grid): add command line options (#24802) 2023-08-04 18:08:50 -07:00
Yury Semikhatsky 6c3142959d
fix(blob): store startTime as a number (#24620)
Turns out the Date objects have noticeable footprint on large suites and
storing them as umber is much cheaper, e.g.:


![image](https://github.com/microsoft/playwright/assets/9798949/539028d0-3ef8-46f7-be2b-752f24604d18)
2023-08-04 16:06:23 -07:00
Dmitry Gozman 1d4919cea4
docs: encourage using fill instead of type (#24616)
References #24614.
2023-08-04 14:19:57 -07:00
Yury Semikhatsky d62493f925
chore: intern test ids and abs paths (#24618)
Created named classes for TeleTestStep and TeleTestResult which makes it
easier to analyze in heap snapshot. Also changing `titlePath` from a
closure to a method on TeleTestStep saved ~100Mb out of 2300Mb.

Intern test ids and absolute paths which showed up a lot of duplicate
strings in heap snapshot.

Clear stepMap after processing onTestEnd.
2023-08-04 14:10:06 -07:00
Ben McCann 6ebee33857
chore: prefer import over require (#24568) 2023-08-04 13:21:41 -07:00
Pavel Feldman 8fde110c61
chore: allow web server w/o waiting (#24609) 2023-08-04 12:05:16 -07:00
Pavel Feldman b3ce913551
Revert "chore: allow calling spawnSync on Node.js file inside test" (#24611)
Reverts microsoft/playwright#24539
2023-08-04 09:01:38 -07:00
Pavel Feldman 6731f5b6d5
chore: grid placeholder (#24598) 2023-08-04 08:38:07 -07:00
Playwright Service dfea18b588
feat(chromium): roll to r1075 (#24605)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-04 15:20:52 +02:00
Yury Semikhatsky 9575867f1c
fix(blob): throw if blob report has newer version than the merger (#24593) 2023-08-03 15:11:34 -07:00
Max Schmitt 2193903d03
chore: allow calling spawnSync on Node.js file inside test (#24539)
Fixes https://github.com/microsoft/playwright/issues/24516 

Relates https://github.com/microsoft/playwright/pull/16733
2023-08-04 00:03:14 +02:00
Yury Semikhatsky 8e2f33673b
chore(blob): change file name to report{-suffix}{-shard}.zip (#24592) 2023-08-03 13:23:30 -07:00
Playwright Service b4c9f5ab89
feat(webkit): roll to r1882 (#24584)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-03 17:40:54 +02:00
Yury Semikhatsky a867e738db
chore(merge): console status updates (#24559) 2023-08-02 14:49:06 -07:00
Max Schmitt b0473b71cd
chore: limit docs snippet length to 100 (#24563) 2023-08-02 11:23:47 +02:00
Yury Semikhatsky f5d069541d
chore(blob): add version to metadata (#24556) 2023-08-01 16:06:06 -07:00
Yury Semikhatsky 8da37b364b
chore(blob): zip output directory by default (#24536)
Changed the logic to add attachment to the zip in onEnd rather than
onTestEnd because attachment files can be deleted if e.g. preserveOutput
option is specified. Instead we add files once all workers have been
shut down. On a simple run with 1000 tests each adding 1Mb attachment
the overall time difference is 49s (streaming attachments) v 1m9s
(attachments added in the end).
2023-08-01 15:21:23 -07:00
Yury Semikhatsky ce341ae5b5
docs: clarify setContent semantics (#24553)
Fixes https://github.com/microsoft/playwright/issues/24503
2023-08-01 11:45:58 -07:00
Playwright Service 9d5d2c60bb
feat(firefox-beta): roll to r1422 (#24533)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-01 04:28:30 -07:00
Sander 7c5d73a3c3
feat(ct): vue type safe mount props (#23151) 2023-07-31 17:45:34 -07:00
Sander 98cba15938
feat(ct): vue2 type safe mount props (#23194) 2023-07-31 17:44:43 -07:00
Playwright Service dc5e201611
feat(firefox): roll to r1422 (#24531)
Fixes https://github.com/microsoft/playwright/issues/24132

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-31 17:10:22 -07:00
Pavel Feldman 009f9994df
fix(html): mobile layout for filters (#24506) 2023-07-31 16:54:07 -07:00
Playwright Service 77b1ec4a53
feat(webkit): roll to r1881 (#24521)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-31 23:31:35 +02:00
Andrey Lushnikov f135b5f7a8
fix: make sure monotonicTime() value is reasonable (#24518)
https://github.com/microsoft/playwright/issues/24432
2023-07-31 09:42:08 -07:00
Dmitry Gozman d92fe16b76
fix(blob report): default location relative to package.json (#24481)
Also:
- remove `blob-report` directory at the start;
- markdown's `report.md` next to package.json;
- use default location in playwright's workflows.

References #24451.
2023-07-28 15:49:31 -07:00
Dmitry Gozman a74101d98f
docs: document expect's asymmetric matchers (#24498)
References #24460, #24417.
2023-07-28 14:04:01 -07:00
Playwright Service 947637d19f
feat(webkit): roll to r1880 (#24496) 2023-07-28 21:26:43 +02:00
Pavel Feldman b5d49d0849
chore: do not pass access-key header into the redirects (#24478) 2023-07-27 19:03:14 -07:00
Dmitry Gozman 9c70a75d48
fix(merge): make sure testId from different blobs are unique (#24475)
Fixes a scenario where each shard runs the same setup project.

References #24451.
2023-07-27 18:54:00 -07:00
Dmitry Gozman 1754755684
fix(tracing): make sure resetForReuse does not throw (#24415)
When trace chunk recording is in progress, calling `stop()` throws
`Error: Must stop trace file before stopping tracing`.
2023-07-27 08:06:42 -07:00
Dmitry Gozman 1b233a5ae2
fix(trace viewer): do not serve 304 responses (#24435)
These do not have any content, and we should server the original
response that was cached by the browser.

Fixes #24255.
2023-07-27 08:06:00 -07:00
Playwright Service 9b364f072d
feat(chromium-tip-of-tree): roll to r1136 (#24463)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-27 15:46:16 +02:00
Playwright Service b1ea9507a8
feat(chromium): roll to r1074 (#24461)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-27 15:02:40 +02:00
Playwright Service 7524894512
feat(firefox-beta): roll to r1421 (#24439)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-27 01:29:38 -07:00
Playwright Service 682a7f0227
feat(firefox): roll to r1421 (#24433)
Fixes https://github.com/microsoft/playwright/issues/22590

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-27 01:29:17 -07:00
Dmitry Gozman c8f2fc392a
chore: move fs operation in trace recorder to a separate class (#24383) 2023-07-26 17:31:00 -07:00
Dmitry Gozman ea6d127f28
feat(connect): exposeNetwork option (#24436) 2023-07-26 17:29:31 -07:00
Dmitry Gozman e0cbb0882b
fix(launch): default to non-zero launch timeout (#24440)
When not specified, launch timeout is 3 minutes, taken from the
`DEFAULT_LAUNCH_TIMEOUT` constant.
Also, use the default launch timeout for `electron.launch()` instead of
default regular timeout.
2023-07-26 16:16:00 -07:00
Dmitry Gozman c8b45aa844
chore: validate markdown links in doclint (#24444)
Fixes #24421.
2023-07-26 16:15:07 -07:00
Dmitry Gozman 4be1e479ea
fix(artifacts): only attach screenshot when it succeeds (#24406)
Fixes #24378.
2023-07-26 15:22:04 -07:00
Pavel Feldman 4949cef09c
chore: save chrome trace on the client side (#24414) 2023-07-26 14:11:26 -07:00
Dmitry Gozman ed99ac7395
fix(sigint): make sure we do not add handler twice (#24413)
In the following scenario, we were adding SIGINT handler twice, but
removing it just once:
- Task runner starts testing, creates SigIntWatcher, installs SIGINT
handler.
- Press Ctrl+C, task runner interrupts, disarms SigIntWatcher, SIGINT
handler is not removed due to 1000ms cooldown.
- Task runner starts cleanup, creates SigIntWatcher, installs another
SIGINT handler.
- Cleanup finishes, SigIntWatcher disarms, could remove or not remove
SIGINT handler based on timing (same 1000ms cooldown). In any case, we
have one or two SIGINT handlers still on.
- HTML reporter hangs in onExit, while we still have SIGINT handler up,
so Ctrl+C does not exit.

Regressed in #24265.
2023-07-25 18:35:38 -07:00
Pavel Feldman b39fd7283f
chore: skip tests that fail in cross-machine service mode (#24412) 2023-07-25 16:47:04 -07:00
Dmitry Gozman 9d0bba9c99
fix(tracing): do not throw on missing attachments (#24409)
Fixes #24378.
2023-07-25 14:32:56 -07:00
Pavel Feldman 33d62d9a97
chore: do not use relative xpath when querying from document (#24405)
Fixes https://github.com/microsoft/playwright/issues/24399
2023-07-25 12:55:35 -07:00
Playwright Service afd6f7d342
feat(chromium-tip-of-tree): roll to r1135 (#24393)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-25 15:05:56 +02:00
Max Schmitt 5c41c6e799
chore: allow installing Google Chrome on Debian (#24386)
Fixes https://github.com/microsoft/playwright/issues/24357
2023-07-25 00:52:19 +02:00
Dmitry Gozman 4c8912f74e
chore: remove separate process that cleans up directories (#24376)
A separate process is `spawnSync`'ed on process exit to cleanup
temporary directories, introduced in #13769 that followed up after
#13343.

A separate process might stall for various fs-related issues, which
prevents the original process from exiting.

With the recent changes, we always gracefully close and cleanup after
all launched executables before calling `process.exit()`, and so it
should only be possible to leave temp directories when using Playwright
and calling `process.exit()` programmatically without closing browsers.

We can now drop the extra process and rely on `rimraf.sync` for
last-resort cleanup in these rare circumstances.
2023-07-24 15:24:29 -07:00
Sander 1abff78de2
fix(ct): remove json typechecking (#24114) 2023-07-24 15:22:20 -07:00
Marcin Strzyz 78a2b7237e
feat: add screen definitions for ipad gen 5 (#24355) 2023-07-24 14:57:12 -07:00
Pavel Feldman 4ba6d789bc
Revert "chore: refactor timeout manager to use scopes (1) (#24315)" (#24382)
This reverts commit f5df0940c9.
2023-07-24 14:09:20 -07:00
Playwright Service d144c5e6e3
feat(webkit): roll to r1879 (#24380)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-24 22:40:54 +02:00
Andrey Lushnikov fee08a6d3b
fix: properly handle character sets in globs (#24371)
https://github.com/microsoft/playwright/issues/24316
2023-07-24 09:49:05 -07:00
Dmitry Gozman b4c412eb1f
chore: replace process.exit with graceful closure (#24242)
Everywhere we call `process.exit()`, we might actually need to
gracefully close all browsers.
2023-07-24 08:29:29 -07:00
Alex Ravenna b93b2a7155
docs: fix minor grammar and text issues (#24331) 2023-07-24 14:59:15 +02:00
Dmitry Gozman 2cb0622c39
chore: rename ScopedRace to LongStandingScope, preserve Error instance in reject() (#24361) 2023-07-23 21:00:07 -07:00
Marcin Strzyz 2070861807
chore: ensure the file operations are async in the json reporter. (#24356) 2023-07-23 09:26:32 +02:00
Yury Semikhatsky 6a3721eb9c
chore: delete --attachments option from merge-reports command (#24350)
We recommend uploading all resources along with the generated report. If
need be we'll reconsider adding the option later.
2023-07-21 13:15:00 -07:00
Andrey Lushnikov d307c8e63a
fix(ssim-cie94): make sure a single off pixel yields diff in comparator (#24348)
This patch brings in antialiasing tests from `looks-same` project for
our experimental `ssim-cie94` comparator.

One of the new tests found a bug in our implementation.

References https://github.com/microsoft/playwright/issues/24312
2023-07-21 12:27:52 -07:00
Playwright Service aa39f39bda
feat(webkit): roll to r1878 (#24340)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-21 09:55:30 +02:00
Pavel Feldman f5df0940c9
chore: refactor timeout manager to use scopes (1) (#24315) 2023-07-20 17:21:21 -07:00
Dmitry Gozman 767addec8c
chore: make sure to call task's teardown if it has ever started (#24317)
This way things like WebServerPlugin can cleanup after themselves even
if they failed to start or were interrupted mid-way.
2023-07-20 17:16:22 -07:00
Yury Semikhatsky 59d5198d17
fix(fetch): handle negative max-age and expires attributes (#24311)
Fixes #24221
2023-07-20 15:42:52 -07:00
Playwright Service 57305e985e
feat(webkit): roll to r1877 (#24330)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-20 17:47:21 +02:00
Playwright Service 80daf47d44
feat(chromium): roll to r1073 (#24326)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-20 16:15:56 +02:00
Playwright Service 7ba60ca91d
feat(chromium-tip-of-tree): roll to r1134 (#24325)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-20 16:15:40 +02:00
Playwright Service eac47ce913
feat(webkit): roll to r1876 (#24302)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-07-19 18:24:59 +02:00
Playwright Service 20fcd6b272
feat(webkit): roll to r1875 (#24299)
Since
99ff08340f
search event is disabled in cocoa.

---------

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-07-19 18:24:21 +02:00
Max Schmitt 1288519915
fix(ui-mode): run teardown handlers with Command + C (#24267)
Fixes https://github.com/microsoft/playwright/issues/23907
2023-07-19 17:50:25 +02:00
Andrey Lushnikov 1fdd7541e0
chore: add firefox-asan for stress tests (#24049) 2023-07-19 05:53:52 -07:00
Playwright Service fbb384483b
feat(webkit): roll to r1874 (#24297)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-07-19 14:20:19 +02:00
Playwright Service a136763118
feat(webkit): roll to r1873 (#24296)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-19 14:19:05 +02:00
Max Schmitt 9af0c6d822
chore: remove glob dependency from utils bundle (#24291) 2023-07-19 05:17:34 +02:00
Pavel Feldman 879ddb73b0
chore: show last poller error on test timeout (#24292) 2023-07-18 17:03:26 -07:00
Marcin Strzyz d5e7b4f16f
chore: update rimraf package to version 4 to eliminate "promisify" (#24190)
Migrate to version 4 which returns a promise rather than leverages a
callback. -> https://www.npmjs.com/package/rimraf?activeTab=readme

- contains its own types, eliminate "@types/rimraf"
- Parameter `maxBusyTries` changed to `maxRetries`
2023-07-18 19:58:07 +02:00
Marcin Strzyz 0eb94aaa79
chore: refactored minimum Node Major version to variable (#24188) 2023-07-18 19:57:48 +02:00
Max Schmitt d2f581a19c
fix(test-runner): don't double emit SIGINT in long running test (#24265)
https://github.com/microsoft/playwright/issues/23907

This fixes the following scenario. You press Command + C during the
test-execution, then a global teardown will execute, which takes a long
time and before this on macOS did sometimes end up in an unwanted SIGINT
received inside the globalTeardown handler. After this change this won't
happen anymore.
2023-07-18 18:46:18 +02:00
Yury Semikhatsky d0280ec8c7
chore(blob): drop shard number from report name (#24270)
We store shard number in the report metadata event and then sort shard
files by shard number. This guarantees that within each project sharded
events will always go in stable order.
2023-07-18 09:29:25 -07:00
Playwright Service b24ec33aa9
feat(chromium-tip-of-tree): roll to r1133 (#24280)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-18 15:11:01 +02:00
Playwright Service 57da4c200a
feat(chromium): roll to r1072 (#24279)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-18 15:10:30 +02:00
Pavel Feldman 5ff1fadd7b
chore: apply only filtration to deps (#24268) 2023-07-17 16:48:52 -07:00
Yury Semikhatsky f6540f89ea
chore(markdown): do not print details for flaky tests (#24264) 2023-07-17 16:09:59 -07:00
Yury Semikhatsky 15b9e5afdb
fix: print fatal and no snippet errors in markdown report (#24263) 2023-07-17 13:50:00 -07:00
Pavel Feldman 49c1f9eb02
feat(ui): run deps in UI mode if dep projects are checked (#24245) 2023-07-15 15:11:31 -07:00
Yury Semikhatsky 3616023cf6
chore: markdown report details (#24237) 2023-07-14 12:32:25 -07:00
Dmitry Gozman 97d55e275d
fix(locator): locator(locator) method uses internal:chain instead of >> (#24235)
Usually, we can just chain two locators with `>>` to implement
`Locator.locator(locator)`. However, this does not play nicely with more
advanced inner locators like `or` and `and`:

```ts
const child = page.locator('input').or(page.locator('button'));
page.locator('parent').locator(child);
```

One would expect the above to locate "input or button" inside a
"parent". However, currently it locates "input inside a parent" or
"button", because it's translated to `parent >> input >>
internal:or="button"`.

To fix this, we have to wrap inner locator into `internal:chain` and
query it separately from the parent.

Fixes #23724.
2023-07-14 12:21:45 -07:00
Dmitry Gozman 98f3ca05b9
fix(tracing): only access tracing state on the API calls, not inside trace operations (#24212)
References #23387.
2023-07-14 06:19:54 -07:00
Pavel Feldman 5d799606c3
chore: resolve top-level vs dependency after cli filtering (#24216) 2023-07-13 17:54:08 -07:00
Pavel Feldman 33bab3652d
fix(ui): bump min sidebar size (#24193) 2023-07-13 15:14:49 -07:00
Max Schmitt 57cca1d96e
Revert "fix: do not collide with other tests when test names have special chars (#23414)" (#24213)
This reverts commit 4b1b4dc23b.

https://github.com/microsoft/playwright/issues/24184

Reopens https://github.com/microsoft/playwright/issues/23386
2023-07-13 20:03:02 +02:00
Max Schmitt b483bf9fcc
feat: add support for Debian 12 for Firefox/WebKit (#24206)
https://github.com/microsoft/playwright/issues/23532

---------

Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-07-13 12:56:44 +02:00
Andrey Lushnikov 615f5afb2b
feat(firefox): roll Firefox to 1420 (#24205)
Fixes https://github.com/microsoft/playwright/issues/22753
2023-07-13 03:54:47 -07:00
Playwright Service 7787988043
feat(webkit): roll to r1872 (#24201)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-07-13 11:07:33 +02:00
Playwright Service 04be72213b
feat(chromium-tip-of-tree): roll to r1132 (#24204)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-13 10:58:13 +02:00
Dmitry Gozman 53feeaf270
fix(tracing): avoid trace file name collisions (#24191)
We have been optionally adding `-<number>` in multiple places, and these
might collide in various circumstances, for example: two contexts at the
same time, one of them has the second trace chunk.

References #23387.
2023-07-12 17:20:25 -07:00
Pavel Feldman 53bf1995db
chore: do not leak internal page handles after closing page (#24169)
Partial fix for https://github.com/microsoft/playwright/issues/6319

After this fix, the following scenario won't leak and the context state
(cookies, storage, etc) can be reused by the new page sessions:

```js
  for (let i = 0; i < 1000; ++i) {
    const page = await context.newPage();
    await page.goto('...');
    await page.close('...');
  }
```
2023-07-12 14:51:13 -07:00
Max Schmitt a0b0752662
fix: encode launch options correctly when reusing browser (#24174)
Fixes https://github.com/microsoft/playwright/issues/24157
2023-07-12 16:40:55 +02:00
Playwright Service 6e02fda2a0
feat(firefox-beta): roll to r1419 (#24165)
Fixes https://github.com/microsoft/playwright/issues/24081

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-12 03:28:20 -07:00
Dmitry Gozman 76d85c55cf
chore: remove unused code (#24167) 2023-07-11 15:08:05 -07:00
Pavel Feldman 067faa50d7
chore: migrate Promise.race to scopes to prevent leaks (#24160) 2023-07-11 10:38:08 -07:00
Dmitry Gozman aeba083da0
fix(snapshots): match resources by method (#24145)
Fixes #24144.

Previously, we only matched by url, which confuses GET and HEAD requests
where the latter is usually zero-sized.

Also make sure that resources are sorted by their monotonicTime, since
that's not always the case in the trace file, where they are sorted by
the "response body retrieved" time.
2023-07-10 20:04:48 -07:00
Pavel Feldman 63915dc07a
feat(trace): render Node console messages in trace (#24139) 2023-07-10 18:36:28 -07:00
dependabot[bot] 36588ba98e
chore(deps): bump semver and @babel/core in /packages/playwright-test/bundles/babel (#24082)
Fixes https://github.com/microsoft/playwright/issues/23903

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-07-10 23:40:28 +02:00
Max Schmitt 1c2313d641
chore: upgrade esbuild to 0.18.11 (#24123) 2023-07-10 22:35:05 +02:00
Pavel Feldman 67ad2c2bf4
feat(ui): render all console / network messages in trace (#24115) 2023-07-10 12:56:56 -07:00
Andrey Lushnikov 94d6b1210b
fix: do not create empty directories for successful snapshot tests (#24127)
Fixes https://github.com/microsoft/playwright/issues/15600
2023-07-10 09:45:24 -07:00
Andrey Lushnikov 19474bef78
chore: update WebKit browser version to 17.0 (#24128) 2023-07-10 08:08:00 -07:00
Playwright Service b4ffb848de
feat(webkit): roll to r1870 (#24119) 2023-07-10 08:09:08 +02:00
Pavel Feldman 50ba25e9a1
fix(trace): do not allow after w/o before (#24106)
Fixes https://github.com/microsoft/playwright/issues/24087,
https://github.com/microsoft/playwright/issues/23802
2023-07-07 17:16:26 -07:00
Andrey Lushnikov a9560253f8
chore: cut 1.36.0 (#24104) 2023-07-07 13:01:17 -07:00
Playwright Service 9bca9f1b4f
feat(chromium): roll to r1071 (#24098)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-07 16:51:03 +02:00
Playwright Service 90c92c5724
feat(firefox): roll to r1419 (#24091)
Fixes https://github.com/microsoft/playwright/issues/24080

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-06 22:43:03 -07:00
Andrey Lushnikov b9e68e22e0
feat: support Chromium installation on Debian 12 (#24090)
This adds Chromium support for both x86 and arm64 versions of Debian 12.

References https://github.com/microsoft/playwright/issues/24028
2023-07-06 22:41:36 -07:00
Andrey Lushnikov 9af2b518f2
fix: exclude tracesDir option from launchOptions fixture (#24086)
Fixes https://github.com/microsoft/playwright/issues/23645
2023-07-06 13:31:44 -07:00
Andrey Lushnikov 11dce8d127
feat(firefox): roll Firefox to 1417 (#24069)
Fixes https://github.com/microsoft/playwright/issues/23280
2023-07-06 12:18:02 -07:00
Pavel Feldman 0409bfca56
chore: ensure module deps in ct-core (#24056)
Fixes https://github.com/microsoft/playwright/issues/23823
2023-07-06 12:01:45 -07:00
Pavel Feldman 608e336dba
fix(error): create a step for raw runtime error (#24057)
Fix https://github.com/microsoft/playwright/issues/23850
2023-07-06 10:48:12 -07:00
Pavel Feldman 566b277ce8
fix(steps): only propagate soft errors up the hierarchy (#24054)
Fixes https://github.com/microsoft/playwright/issues/23979
2023-07-05 15:30:53 -07:00
Andrey Lushnikov ea3a29eacd
feat(firefox): roll Firefox to 1415 (#24046)
Fixes https://github.com/microsoft/playwright/issues/23618
2023-07-05 11:58:38 -07:00
Pavel Feldman df57fb594c
fix(trace): render items under expect.toPass (#24016)
Fixes: https://github.com/microsoft/playwright/issues/23942
2023-07-05 11:20:28 -07:00
Playwright Service 9f1f737acb
feat(chromium): roll to r1070 (#23991)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-03 21:27:07 +00:00
Playwright Service b3c4f45759
feat(webkit): roll to r1869 (#24011)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-03 21:26:46 +00:00
Pavel Feldman 6343ea2795
feat(trace): allow scrolling the filmstrip (#24015)
Fixes https://github.com/microsoft/playwright/issues/23963
2023-07-03 13:03:33 -07:00
Patrick Shaw 6e78dcb7dc
fix: Allow portable bash paths for systems including NixOS (#23889)
Although very common, bash is not guaranteed to be located at
`/bin/bash`. NixOS is an example of this.

More commonly, `/bin/bash` can be quite out of date. An example of this
is MacOS's version of `bash`. This realistically won't affect Playwright
but it's worth noting. You can technically update MacOS's system version
of bash but you need elevated permissions to do so.

By using `/usr/bin/env bash` instead of `/bin/bash` we can execute
Playwright's bash scripts in like NixOS and generally improve the
selection behaviour for bash in other systems too.

Some discussion of why it's worth favouring `/usr/bin/env bash` over
`/bin/bash`:
- Discusses `/bin/bash` missing in NixOS:
https://discourse.nixos.org/t/add-bin-bash-to-avoid-unnecessary-pain/5673
- Some general commentary on why `/usr/bin/env bash` is favoured:
https://askubuntu.com/a/1402721
- Points out how old bash is in MacOS:
https://itnext.io/upgrading-bash-on-macos-7138bd1066ba

Improves situation at #5501
2023-07-03 06:27:06 -07:00
Dmitry Gozman 7e310f79af
chore: migrate builtin reporters to ReporterV2 (#23985)
This allows builtin reporters to handle stdio between onConfigure and
onBegin.

Fixes #23539.
2023-06-30 16:21:31 -07:00
Dmitry Gozman 86c1abd934
chore: introduce ReporterV2 interface (#23983) 2023-06-30 13:36:50 -07:00
Dmitry Gozman 92c738b14a
test: unflake some tests (#23984) 2023-06-30 13:08:18 -07:00
Dmitry Gozman e28312ba63
chore: call onEnd(result) on InternalReporter (#23972)
Drive-by: fix watch mode not running global teardown.
2023-06-29 17:03:10 -07:00
Max Schmitt a07626b804
feat(webkit): roll to r1868 (#23969)
GitHub had an outage so the PR didn't get created automatically.

Closes https://github.com/microsoft/playwright/pull/23931.
2023-06-29 23:27:48 +02:00
Max Schmitt fef029e98e
docs: code snippet alignments (#23959) 2023-06-29 18:26:19 +02:00
Playwright Service c2127595b8
feat(chromium-tip-of-tree): roll to r1128 (#23956)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-29 15:17:16 +02:00
Dmitry Gozman 1d0b48f18b
fix(route): handle escapes in the glob pattern (#23932)
Fixes #23303.
2023-06-28 16:33:04 -07:00
Dmitry Gozman 1ab99fe1b8
feat(electron): support tracesDir option (#23947)
References #23620.
2023-06-28 16:32:16 -07:00
Dmitry Gozman b0b429fed0
feat: support bigint in evaluates (#23930)
Fixes #22719.
2023-06-28 08:55:45 -07:00
Playwright Service 2808f3700a
feat(chromium-tip-of-tree): roll to r1127 (#23923)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-27 15:25:01 +02:00
Max Schmitt 9980f054bc
docs: align Node.js code snippets with ESLint (#23916) 2023-06-27 11:53:53 +02:00
Max Schmitt 4b1b4dc23b
fix: do not collide with other tests when test names have special chars (#23414)
Fixes https://github.com/microsoft/playwright/issues/23386
2023-06-27 10:34:31 +02:00
Max Schmitt dcdf38f119
chore: keep UI Mode running when used with browser mode (#23876)
This will keep UI Mode running in browser mode. When launched in normal
persistent context mode, we know when the persistent context closes, so
we can run the project teardown code.

Fixes https://github.com/microsoft/playwright/issues/23801
2023-06-26 22:21:44 +02:00
Max Schmitt e1c220a37b
fix(trace-viewer): file path contains encoded characters (#23893)
This fixes:

```
npx playwright show-trace %20I%20Love%20Node.zip
```

Extracted from https://github.com/microsoft/playwright/pull/23414.
2023-06-26 18:13:40 +02:00
zhengjitf 6f67f6b52b
fix(chromium): can get correct orientation angle on non-mobile devices (#23796)
Fix #23772
2023-06-23 11:34:09 -07:00
Playwright Service f85480a12e
feat(firefox-beta): roll to r1415 (#23866)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-06-23 07:03:20 -07:00
Dmitry Gozman 5821c547aa
fix(selector generator): use the same label definition as getByLabel (#23846)
This extracts `getElementLabels` helper function to be used both for
generating and querying.
2023-06-22 08:34:08 -07:00
Moritz Horstmann bdac3e28a6
fix: best-effort support for TUXEDO OS (#23813)
TUXEDO OS is an Ubuntu based distribution built by the Linux computer
vendor TUXEDO.
2023-06-22 07:14:18 -07:00
Playwright Service ddc0278d81
feat(chromium-tip-of-tree): roll to r1126 (#23858)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-22 15:55:16 +02:00
Playwright Service f7ecb7094d
feat(chromium): roll to r1069 (#23856)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-22 15:54:56 +02:00
Playwright Service f7ae17db09
feat(webkit): roll to r1865 (#23847)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-22 12:07:49 +02:00
Dmitry Gozman b154ff1190
fix(html reporter): do not print epilogue in list mode (#23822)
References #23817.
2023-06-21 17:53:52 -07:00
Max Schmitt 605dfde2be
chore: rename popout.html to snapshot.html in trace viewer (#23842)
Turns out its caused by a uBlockOrigin EasyList entry which thinks we
are an ad since we call ourselves "popout.html". See this entry:


e7883cfe74/easylist/easylist_general_block_popup.txt (L42)

Fixes https://github.com/microsoft/playwright/issues/23799
2023-06-21 21:10:50 +02:00
Ben Hofferber 752176fd23
feat(goto): better navigation error message (#23609)
While this log message is only a sanity check, it is still beneficial to
have a message that can better inform what is happening when this
occurs.
2023-06-21 11:10:35 -07:00
awatson-scottlogic 3777fc8b0f
docs(class-testoptions): fix launchOptions snippet (#23831) 2023-06-21 14:03:26 +02:00
Yury Semikhatsky 6a6ff9cf6a
feat: markdown report (#23819)
Simple markdown report generator. Can be used when posting updates to
GitHub PRs:

<img width="632" alt="image"
src="https://github.com/microsoft/playwright/assets/9798949/ea7e4bfa-477a-4cad-9cc3-00b1f8a314b1">
2023-06-20 12:11:32 -07:00
Andrey Lushnikov 1736479e41
fix: fix locator picker in Trace (#23820)
- make sure links are not clickable with enabled locator picker
- make sure locator picker state is preserved when switching actions
2023-06-20 11:39:21 -07:00
Playwright Service 270135faaf
feat(chromium-tip-of-tree): roll to r1125 (#23806)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-20 16:15:22 +02:00
Playwright Service 7a060d13f0
feat(webkit): roll to r1864 (#23794)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-20 09:29:15 +02:00
Dmitry Gozman fe5c9dad4d
fix(locators): allow identical frameLocators inside and/or/has (#23740)
So, the following will work:

```
page.frameLocator('iframe').locator('span').or(page.frameLoactor('iframe').locator('div'))
```

The following will not work, because frame locators are not exactly the
same:

```
page.frameLocator('#iframe1').locator('span').or(page.frameLoactor('#iframe2').locator('div'))
```

Also improve the error message to be more readable and include the
locator.

Fixes #23697.
2023-06-19 15:22:26 -07:00
Dmitry Gozman fbb5d48283
feat(expect): roll to v29.5.0 (#23629)
There is a breaking in change in the `MatcherContext` that is passed to
matcher functions, so we now have `!!this.isNot` in a few places. The
same could happen to custom matcher in the wild.

```ts
// Old
{
  isNot: boolean;
  promise: string;
}
```

```ts
// New
{
  isNot?: boolean;
  promise?: string;
}
```

Fixes #23612.
2023-06-19 15:18:59 -07:00
Dmitry Gozman 2c8dd67b0e
fix(test runner): improve error message for non-stable test titles (#23792)
Fixes #23779.
2023-06-19 14:13:11 -07:00
Sander 9d3edb0aa3
fix(ct): vue3 fallthrough events & callbacks (#23649)
closes:
https://github.com/microsoft/playwright/issues/23526#issuecomment-1583074280

closes: https://github.com/microsoft/playwright/issues/23435
2023-06-19 11:20:37 -07:00
vemv 380209af37
chore: log when websockets are proactively closed (#23689)
Closes https://github.com/microsoft/playwright/issues/23566

n.b., while that issue describes a fairly specific "use case", this
logging is simple and generic. It seems very plausible that it can help
diagnose all sorts of issues.

Cheers - V
2023-06-19 11:12:02 -07:00
Max Schmitt 0f9f863183
fix(codegen): generate no Enter keyboard events for textareas (#23775)
Fixes https://github.com/microsoft/playwright/issues/23774
2023-06-19 17:07:37 +02:00
Andrey Lushnikov e171194c86
feat(firefox): roll Firefox to 1414 (#23768)
- roll Firefox stable to 1414
- roll Firefox beta to 1414

Fixes #23138
2023-06-17 12:10:20 -07:00
Dmitry Gozman 132a5a4bf5
fix(trace viewer): prefer latest resource with the same url (#23763)
When rendering snapshot, disregard earlier resources with the same url,
because it's most likely that the latest one was used for rendering.

An example would be reloading the page before the stylesheet has
finished loading. In this case, the stylesheet will be requested twice,
and the second copy that was not aborted should be used for the
snapshot.

Fixes #23709.
2023-06-17 06:58:16 -07:00
Yury Semikhatsky f6d86c20f3
chore: run more reporter tests through blob report, some fixes (#23765) 2023-06-16 21:30:55 -07:00
Dmitry Gozman 09b1e3ffa9
fix(chromium): response.body() for worker requests should work (#23764)
Previously, worker requests used page's session to call
`Network.getResponseBody`.

Fixes #23750.
2023-06-16 20:44:32 -07:00
Max Schmitt b44723708c
chore: move extracting of browser out-of-process (#23739)
https://github.com/microsoft/playwright/issues/23729
2023-06-16 20:40:15 +02:00
Dmitry Gozman de422b5afb
chore: speedup multiple roleUtils calls (#23745)
When generating a selector, we tend to match by role and call various
roleUtils methods multiple times.

Apply the usual pattern for "nested operations counter" and aggressively
cache the results.
2023-06-16 11:39:39 -07:00
Yury Semikhatsky 11770156eb
feat(html): show number of filtered tests, update total time (#23743) 2023-06-16 09:22:57 -07:00
Machiel-B 0358f6c434
fix: make trace viewer not use 301 to redirect (#23757) 2023-06-16 18:16:01 +02:00
Playwright Service d92a648284
feat(chromium): roll to r1068 (#23756) 2023-06-16 17:57:45 +02:00
Max Schmitt 4d02aa1e52
chore: render locator in trace viewer timeline label (#23754) 2023-06-16 17:56:11 +02:00
Dmitriy Dudkevich fc8f0101c8
fix(selenium): send additional headers to delete session method (#23719)
In the process of completing the task -
https://github.com/microsoft/playwright/pull/23348, I didn't notice the
need to pass headers to the session deletion method. So I fixed it here.
And support headers for selenium@3.
2023-06-16 11:44:04 +02:00
Dmitry Gozman d11bc88784
chore(codegen): do not use accessible name for non-text selectors (#23717)
Accessible name usually includes text, so we don't want it for non-text
selectors, e.g. for `expect()` selectors.
2023-06-15 12:30:18 -07:00
Max Schmitt 8ed956e496
chore: move pw-core utilsBundleImpl into own directory (#23706)
https://github.com/microsoft/playwright/issues/23666
2023-06-15 20:16:47 +02:00
Playwright Service bad09acb87
feat(webkit): roll to r1863 (#23734)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-15 20:10:54 +02:00
Playwright Service 8602981d87
feat(chromium-tip-of-tree): roll to r1124 (#23733)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-15 17:08:53 +02:00
Yury Semikhatsky 77d322028c
feat(blob): zip .jsonl report files (#23720)
For linux tests without tracing blob-report-1.zip takes 19M, while
unpacked size is 228 MB. That size is counted for GitHub artifact
billing:

<img width="434" alt="image"
src="https://github.com/microsoft/playwright/assets/9798949/5bc32511-6686-4581-a348-acb6a54cd99b">

We zip individual .jsonl reports so that they still have unique names
and can be easily uploaded into the same artifacts directory without
name collisions.
2023-06-14 17:10:39 -07:00
Max Schmitt 60de8308a8
chore: bundle open's xdg-open script (#23710) 2023-06-14 20:49:26 +02:00
Andrey Lushnikov dc81cfaf81
Revert "fix: scroll timeline with multiple pages in context (#23493)" (#23711)
This reverts commit a4d361379f.

Reason for revert: this breaks screencast preview (the image
that is shown when you hover over the screencast).
2023-06-14 11:41:42 -07:00
Andrey Lushnikov 3c0fab489b
chore: miscellaneous trace viewer fixes (#23695)
- properly annotate continued requests
- nest `attach` steps inside the related `expect` step
- fix primary-id-to-non-primary-id mapping
- make sure images in trace are not draggable

Fixes #23693

---------

Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-06-14 09:37:19 -07:00
Max Schmitt 9e636687ea
chore: add more logging for browser install process (#23675) 2023-06-14 15:33:06 +02:00
Dmitry Gozman 5b2e8a6a7a
chore: optional root for generateSelector (#23692) 2023-06-13 21:25:39 -07:00
Dmitry Gozman c80a23842b
fix(css): relative-to-scope selectors work (#23665)
Chained selectors where the second part starts with a scope did not work
before:

```ts
page.locator('div').locator(':scope + span')
page.locator('div >> +span')
```
2023-06-13 10:27:25 -07:00
Playwright Service 76532160d3
feat(chromium-tip-of-tree): roll to r1123 (#23682) 2023-06-13 19:17:57 +02:00
Playwright Service 769b449d86
feat(webkit): roll to r1862 (#23678) 2023-06-13 14:55:22 +02:00
Andrey Lushnikov 2bc8cf2fc7
fix: drop expect.configure({ poll }) from types (#23661)
`poll` option is not actually supported as of June 12, 2023.

Fixes https://github.com/microsoft/playwright/issues/23622
2023-06-12 11:07:39 -07:00
Dmitry Gozman dd417d83d9
fix(locators): escape >> inside a regular expression (#23631)
To avoid selector being parsed as a chain.

Fixes #23540.
2023-06-12 10:34:37 -07:00
Yury Semikhatsky abdfe264fa
chore: run html reporter tests with merged report (#23626) 2023-06-09 15:41:15 -07:00
Yury Semikhatsky 400c7cd529
fix: serialize attachment to base64 in tele reporter (#23590) 2023-06-09 11:52:18 -07:00
Tyler Gould a4d361379f
fix: scroll timeline with multiple pages in context (#23493)
Fixes #23490 

Before:
<img width="500" alt="image"
src="https://github.com/microsoft/playwright/assets/4130722/faa1f7c3-9aeb-4e0c-aca3-0d9c24609628">

After:
<img width="500" alt="image"
src="https://github.com/microsoft/playwright/assets/4130722/6dfbc204-8ff2-49cb-a374-734750c6a385">

---------

Signed-off-by: Tyler Gould <4130722+scitech@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-06-09 09:07:14 -07:00
Dmitry Gozman 734705e9b3
chore: elementHandle getters implemented through Frame (#23557)
This is a step towards not using handles for locator operations.
2023-06-09 07:18:13 -07:00
Yury Michurin 7513993c7a
docs: fix a comment typo (#23592)
Hi,
Just a small meaningless comment typo 🙃 

Have a great day!

Signed-off-by: Yury Michurin <yury.michurin@gmail.com>
2023-06-08 21:35:04 -07:00
Dmitry Gozman 11659ceb73
fix(role): handle display:contents elements (#23607)
Fixes #23521.
2023-06-08 16:00:48 -07:00
Playwright Service befd188763
feat(chromium-tip-of-tree): roll to r1122 (#23594)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-08 20:35:04 +02:00
Dmitriy Dudkevich 187cfdc328
feat: ability to pass additional headers to selenium (#23348) 2023-06-08 10:41:36 -07:00
Dmitry Gozman 5cfd6d9fe9
fix(cr network): emit sw-handled requests when routing is enabled (#23589)
Previously, such requests were skipped because they never receive
`Fetch.requestPaused` as there was no real network.

Also cleanup some redundant tests and move them from chromium-only file.

Fixes #23424.
2023-06-08 10:33:28 -07:00
Playwright Service 54a35dd108
feat(chromium): roll to r1067 (#23593)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-08 19:03:48 +02:00
Playwright Service a40fa1d86c
feat(webkit): roll to r1861 (#23530)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-08 09:49:07 +02:00
Playwright Service fa3dd76cf8
feat(chromium-tip-of-tree): roll to r1121 (#23584) 2023-06-08 08:19:12 +02:00
Yury Semikhatsky ded4a294f4
fix(merge): populate TestResult.stdout/stderr when merging (#23587) 2023-06-07 23:00:57 -07:00
Pavel Feldman 83cf6cc1e8
chore: do not show select item when Show trace (#23583) 2023-06-07 16:11:57 -07:00
Andrey Lushnikov c3bc8e0620
chore: cut 1.35.0 (#23579) 2023-06-07 12:41:56 -07:00
Dmitry Gozman 4f8680f7a3
fix(pause): revert timeouts after pause (#23578)
Fixes #23523.
2023-06-07 12:30:10 -07:00
Pavel Feldman 0b30f2017c
chore: make trace server work over http (#23561) 2023-06-06 18:36:05 -07:00
Andrey Lushnikov 2e327c9d0c
fix: miscellaneous improvements for tracing UI (#23558)
- feat(tracing): mark API requests with "API" label
- feat(tracing): do not attribute any resources to `route.` API calls;
  otherwise, network traffic might get inside the `route.` actions.
- fix(tracing): map actionIds from primary contexts to actionIds from
  non-primary contexts
- fix(tracing): show leading `/` in URL path in network panel

This is a result of a pair-programming session with @pavelfeldman
2023-06-06 17:38:44 -07:00
Andrey Lushnikov 0f4090472c
feat: add maskColor option to the toHaveScreenshot method (#23555) 2023-06-06 17:15:55 -07:00
Pavel Feldman 7579572688
chore: unflake the network status test (#23551) 2023-06-06 16:55:53 -07:00
Pavel Feldman 1cd8f7543b
docs: fix the transpiler docs (#23550) 2023-06-06 16:16:06 -07:00
Pavel Feldman 037da65d83
chore: fix ui mode tests on windows (#23553) 2023-06-06 14:24:42 -07:00
Max Schmitt 85be65b07b
chore: update npx playwright uninstall docs (#23552) 2023-06-06 22:09:15 +02:00
Max Schmitt 8bc26a2b44
chore: wait for downloads getting removed on context.close() (#23500)
Before there was a race, that we ran into this code:


9cd49d5dd5/packages/playwright-core/src/server/browserContext.ts (L236-L237)

and then into this code:


9cd49d5dd5/packages/playwright-core/src/server/browserContext.ts (L429-L431)

which had the side effect, that the first call did not wait. Then
immediately clears the downloads Set and then the second call is a NOOP.
This ends up that the the removal of the downloads can happen after the
context is closed, hence the test is flaky.

Relates to https://github.com/microsoft/playwright/pull/6151 where it
got introduced. So something for @yury-s.

Fixes https://github.com/microsoft/playwright/issues/22525
2023-06-06 20:38:36 +02:00
Max Schmitt ce2f902c1f
chore: fix UI Mode on Codespaces (#23549) 2023-06-06 20:09:39 +02:00
Pavel Feldman 6351630af2
chore: do not show the open error (#23547) 2023-06-06 11:09:08 -07:00
Pavel Feldman d4349e5d6f
chore: print listening on message in terminal for web trace modes (#23546) 2023-06-06 09:36:49 -07:00
Pavel Feldman 699ac3a0f2
chore: allow opening ui mode over http (#23536) 2023-06-06 08:31:52 -07:00
dependabot[bot] 0feef340c9
chore(deps): bump vite from 4.3.3 to 4.3.9 (#23537) 2023-06-06 11:12:07 +02:00
Yury Semikhatsky 874f4525b4
fix(merger): total time is sum of shard total times (#23534) 2023-06-05 19:10:41 -07:00
Yury Semikhatsky ceaa29cec1
chore: clear message for no reports (#23492) 2023-06-05 17:20:54 -07:00
Andrey Lushnikov 3a00fc4edf
fix: call focus() twice to workaround firefox not focusing element (#23535)
When focus is moved from one tab to another, it might require calling
`focus()` twice to actually focus an element in Firefox.

Fixes https://github.com/microsoft/playwright/issues/23117
2023-06-05 16:46:52 -07:00
Pavel Feldman eacfff8127
chore: make trace viewer work over http (#23531) 2023-06-05 16:30:30 -07:00
Dmitry Gozman 6b687b6d69
fix(toHaveScreenshot): attach newly created missing expectations (#23528)
Fixes #23090.
2023-06-05 14:57:06 -07:00
Max Schmitt 0e12831a02
chore: hide 'Open in VSCode' for folders in UI Mode (#23499) 2023-06-05 22:09:45 +02:00
KotlinIsland afa531ef60
feat: Allow multiple trace uploads in the trace viewer (#23517) 2023-06-05 12:34:54 -07:00
Pavel Feldman def24c0a14
chore: propagate client-side instrumentation across connect (#23524)
Fixes https://github.com/microsoft/playwright/issues/23504
2023-06-05 12:28:20 -07:00
Playwright Service d95b6f40a4
feat(webkit): roll to r1860 (#23494)
Fixes https://github.com/microsoft/playwright/issues/20489
2023-06-05 09:51:39 -07:00
Dmitry Gozman b518d1f6da
chore: update error message when using wrong cli (#23512)
Now recommends uninstalling other packages. Fixes #23314.

Example messages:

```
Please install @playwright/test package before running "npx playwright show-report"
  npm uninstall playwright playwright-firefox
  npm install -D @playwright/test
```

```
Please install @playwright/test package before running "yarn playwright show-report"
  yarn remove playwright playwright-chromium playwright-firefox playwright-webkit
  yarn add -D @playwright/test
```

```
Please install @playwright/test package before running "pnpm exec playwright show-report"
  pnpm remove playwright
  pnpm add -D @playwright/test
```
2023-06-05 09:51:08 -07:00
Max Schmitt 80fe9748eb
chore: render plain class links in types (#23508) 2023-06-05 18:50:44 +02:00
Max Schmitt 75971af55b
feat(cli): introduce npx playwright uninstall (#23128)
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-06-05 18:50:21 +02:00
Kristo Jorgenson d5d155df1f
fix(typescript): allow directory imports (#23254)
This updates previous work in #22887 to align more fully with
`--moduleResolution=bundler`, allowing index files to be imported with
the /index extension

---------

Signed-off-by: Kristo Jorgenson <kristojorg@users.noreply.github.com>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-06-05 08:58:25 -07:00
Max Schmitt 24ac25212b
chore: enable no-floating-promises on playwright-test (#23484) 2023-06-05 17:45:56 +02:00
Max Schmitt dcc998d58c
chore: fix broken ct-core require (#23507)
This broke after https://github.com/microsoft/playwright/pull/23449.
2023-06-04 18:07:42 +02:00
Gary McDonald 718ee69cb8
docs: fix various spelling mistakes in the docs project directory. (#23510)
Signed-off-by: Gary McDonald <mcdonagj@dukes.jmu.edu>
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-06-04 18:04:42 +02:00
Max Schmitt 00f662531e
Revert "fix(tracing): workaround chromium scrollTop slowness" (#23486)
This commit reverts f6712ec43a

I manually ran
https://github.com/microsoft/playwright/issues/14037#issuecomment-1122256514
and made sure that the performance did not regress. ~same.

Fixes https://github.com/microsoft/playwright/issues/23455
2023-06-02 23:25:55 +02:00
Yury Semikhatsky 401fc4cb9e
fix(tracing): record available response headers without waiting for extra info (#23483)
Fixes #23115
2023-06-02 14:15:20 -07:00
Sander e47b23e5d4
chore(ct): internal types (#23332) 2023-06-02 14:11:03 -07:00
Ivaylo Pavlov e3f91bbabf
Fix header to pass Selenium Grid Capabilities (#23346)
Fixes: #23345
2023-06-02 13:28:23 -07:00
Dmitriy Dudkevich 7ab754f5d5
fix: render actions in ui mode with browsers from selenium (#23382) 2023-06-02 13:24:21 -07:00
Pavel Feldman 5a14619bab
chore: render route markers in the trace network panel (#23476)
Fixes https://github.com/microsoft/playwright/issues/23040


![net](https://github.com/microsoft/playwright/assets/883973/5191163e-63f9-4999-9197-d10dcd09a665)
2023-06-02 13:00:27 -07:00
Max Schmitt af893a1019
chore: inherit apiRequestContext timeout from actionTimeout (#23481)
Fixes https://github.com/microsoft/playwright/issues/23344
2023-06-02 21:36:09 +02:00
Max Schmitt b21c81d344
devops: add bot for Chromium --headless=new (#23440)
https://github.com/microsoft/playwright/issues/23389
2023-06-02 20:40:12 +02:00
Dmitry Gozman 835f14d7c9
fix(pause): ignore page.pause on the server (#23417)
Fixes #23051.
2023-06-02 08:32:30 -07:00
Playwright Service 82ecd692d1
feat(webkit): roll to r1859 (#23467)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-02 15:05:03 +02:00
Kristo Jorgenson a4a363f4f4
chore: upgrade @types/node to 16.x (#23429)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-06-02 10:04:41 +02:00
Pavel Feldman d1666d2dde
chore: include test-end-screenshot in a trace (#23457)
Fixes https://github.com/microsoft/playwright/issues/23222
2023-06-01 20:29:32 -07:00
Pavel Feldman 96b2247e28
chore: allow marking scripts as external for transform (#23449)
Fixes https://github.com/microsoft/playwright/issues/22874
2023-06-01 20:28:49 -07:00
Dmitry Gozman 14a1eaa474
chore: add Playwright to attribution (#23447)
This makes it easier to plumb all kinds of options around.
2023-06-01 17:54:43 -07:00
Pavel Feldman b99c214b29
chore(trace): render drawer as a sidebar in the tv mode (#23451)
Fixes: https://github.com/microsoft/playwright/issues/23227
2023-06-01 15:49:48 -07:00
Pavel Feldman 84942aa992
chore: render successful toPass as such (#23411)
Fixes https://github.com/microsoft/playwright/issues/23302
2023-06-01 13:22:08 -07:00
Playwright Service 3e73906027
feat(chromium): roll to r1066 (#23433)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-01 16:03:49 +02:00
Playwright Service fff4e048a8
feat(chromium-tip-of-tree): roll to r1120 (#23431)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-01 16:03:33 +02:00
Max Schmitt 5701ff1e9b
chore: do not always return 200 on component testing network requests (#23408)
Fixes https://github.com/microsoft/playwright/issues/23364

See here about their AppTypes:
https://vitejs.dev/config/shared-options.html#apptype
2023-06-01 01:33:48 +02:00
Playwright Service 2c700b71ff
feat(webkit): roll to r1858 (#23403) 2023-05-31 23:28:19 +02:00
Dmitry Gozman 6bb5c0a549
fix: make evaluate not wait for scheduled navigations (#23402)
Fixes #23141.
2023-05-31 14:08:44 -07:00
Max Schmitt 4eeb4655e9
chore: add comment about async imports in babel (#23374)
https://github.com/microsoft/playwright/issues/23255
2023-05-31 18:32:09 +02:00
Pavel Feldman 658b1dfea3
chore: trace viewer server for vscode (#23383) 2023-05-30 18:31:15 -07:00
Andrey Lushnikov 5cd271a2a7
docs: add option clarifications (#23384)
Fixes https://github.com/microsoft/playwright/issues/23355
2023-05-30 17:19:48 -07:00
João Neves 7e6e5f0706
feat: Support React forwards refs and memo (#23262)
This PR fixes the react selector behavior to support components that are
wrapped by the memo or forwardRef React builtin functions.

Previously these components couldn't be selected. This PR fixes that
behavior, enabling selecting those components.

Current behavior:
```
const Foo = memo(() => <div id="foo_component" />);
Foo.displayName = "Foo";
...
playwright.$("_react=Foo") -> undefined
```

Fixed behavior:
```
const Foo = memo(() => <div id="foo_component" />);
Foo.displayName = "Foo";
...
playwright.$("_react=Foo") -> <div id ="foo_component" />
```
2023-05-30 17:14:47 -07:00
Pavel Feldman 7ad03027fb
chore: remove output dir before each test (#23380) 2023-05-30 16:03:50 -07:00
Dmitry Gozman 6db6498565
chore: replace sigint handler per browser with a single one (#23317)
Otherwise, multiple sigint handlers (one from each browser) would try to
`process.exit(130)` each.
2023-05-30 13:54:04 -07:00
Max Schmitt 13f70b6d89
chore: have type modifiers directly on file import (#23337) 2023-05-30 21:11:35 +02:00
Max Schmitt 2710fd8d6f
fix: should be able to upload multiple large files (#23360)
Fixes https://github.com/microsoft/playwright/issues/23258
2023-05-30 18:41:09 +02:00
Max Schmitt d6e24fafe8
docs: specify assertion timeout type (#23333)
Fixes https://github.com/microsoft/playwright-dotnet/issues/2589
2023-05-30 18:13:14 +02:00
Max Schmitt f819b1c72d
fix: trace viewer with global applied background-color (#23362)
Fixes https://github.com/microsoft/playwright/issues/23275
2023-05-30 17:58:29 +02:00
Max Schmitt 9e75b95153
fix: display testId as regex in trace-viewer (#23361)
Fixes https://github.com/microsoft/playwright/issues/23298
2023-05-30 17:45:48 +02:00
Playwright Service fda57978e8
feat(webkit): roll to r1857 (#23353)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-29 22:56:38 +02:00
Pavel Feldman ec972fb7c1
chore: make trace viewer self-desctruct on input disconnect (#23291) 2023-05-26 14:54:54 -07:00
Playwright Service 4f3d4c41af
feat(webkit): roll to r1856 (#23310)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-26 09:47:03 -07:00
Dmitry Gozman fa86f2aee0
chore: createHttpServer that destroys sockets upon close (#23294)
This avoids the server hanging on close.
2023-05-26 07:03:41 -07:00
Yury Semikhatsky 0ef8832f56
fix: patch project names and ids when merging reports (#23295)
Project name is used in testId calculation, so patching it in the
reporter is too late. Instead we now save project suffix to the blob
report file and patch all project and test ids as well as project names
in the report merger
2023-05-25 23:02:23 -07:00
Pavel Feldman 1e95b6d906
chore: allow sending trace URLs over stdin (#23288) 2023-05-25 15:38:47 -07:00
Pavel Feldman f879ac7e44
chore: report output dir as a part of the list files (#23283) 2023-05-25 15:38:35 -07:00
Tomáš Hübelbauer e550df060e
Enhance the forbidOnly mode message to guide the user towards the configuration option (#23146)
Hi, I am putting this PR out as a feeler to see if there's interested in
improving this error message, but the copy is by no means final and I am
open to improvement suggestions.

My intention here is to:
- Explain what a "focused item" is - that we're talking about a test and
it being focused is most likely down it using `only`
  
Are there other types of "items"? Are there other ways to make them
focused other than `only`?

- Explain why we're even in focused mode and how to control it

The default scaffolded Playwright config file includes a forbidMode
expression driven by whether `CI=1` is set.
I ran into this when trying to reproduce a CI issue locally so I had it
set and unknowingly entered focus only mode.
I wasn't aware this mode was a thing because I was using the default
configuration from `npm init` and did not familiarize myself with all
the options in it.

Is there a way to tell if we're in a TypeScript or JavaScript project in
this function? I would use that to display the configuration file name
with the right extension.

---------

Signed-off-by: Tomáš Hübelbauer <tomas@hubelbauer.net>
2023-05-25 13:32:49 -07:00
Playwright Service c5c0b9a78b
feat(chromium): roll to r1065 (#23281)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-25 13:04:36 -07:00
Playwright Service af423d1bba
feat(chromium-tip-of-tree): roll to r1118 (#23284)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-25 13:04:21 -07:00
Yury Semikhatsky dce730c3be
fix: consider project suffix when computing id (#23270) 2023-05-25 10:36:34 -07:00
Pavel Feldman 342bae6c59
chore: support esm loader on Node 20 (#23269) 2023-05-24 20:17:44 -07:00
Yury Semikhatsky bcc711145e
feat(webkit): roll to r1855 (#23267) 2023-05-24 16:09:58 -07:00
Pavel Feldman 64dde29788
chore: move to npx playwright-core install when using core (#23260) 2023-05-24 12:16:59 -07:00
Pavel Feldman 76b4b9dbaf
chore: move transform to its own folder (for loader worker) (#23247) 2023-05-23 21:05:33 -07:00
Pavel Feldman 5926c67703
chore: keep @playwright/test/cli exposed (#23241)
Fixes https://github.com/microsoft/playwright/issues/23225
2023-05-23 12:32:44 -07:00
Dmitry Gozman 848f1dff3f
feat(trace): instantiate consoleAPI in popout with correct testIdAttribute (#23238) 2023-05-23 12:17:26 -07:00
Pavel Feldman 6cce93b697
chore: explicit server mode control (#23215) 2023-05-23 10:56:37 -07:00
Pavel Feldman b814e8a5f1
chore: bring back per test artifacts (#23153) 2023-05-23 09:36:35 -07:00
Jasiel Guillén 700062c836
feat(screenshot): Add customizable color option for masked elements (#23185)
I added a new option to the screenshot method to customize the color of
the box when we want to mask some elements for the screenshot.

The default color is pink `#FF00FF`, but with this new option you can
specify the color you like the most, like a nice green `#00FF00`:

```js
await page.screenshot({
  mask: [page.locator('div').nth(5)],
  maskColor: "#00FF00",
})
```


![ss](https://github.com/microsoft/playwright/assets/23271049/05f754de-0ba6-47a3-ae3e-769720d3da3b)

---------

Signed-off-by: Jasiel Guillén <darkensses@gmail.com>
2023-05-22 18:44:44 -07:00
Yury Semikhatsky 10b7cb3979
chore: blob report project suffix (#23212) 2023-05-22 17:54:37 -07:00
Andrey Lushnikov 5f36a2946e
fix: add missing webkit deps on ubuntu 20.04 (#23209)
Fixes https://github.com/microsoft/playwright/issues/23186
2023-05-22 15:43:09 -07:00
Pavel Feldman b9e7a91368
fix(html): fix the filter to respect status (#23208) 2023-05-22 15:35:19 -07:00
Pavel Feldman ee3864913a
chore: allow stub JSX instances in type module (#23211)
Fixes https://github.com/microsoft/playwright/issues/23207
2023-05-22 15:34:50 -07:00
Sander bb84d42d67
feat(ct): svelte partial update (#23193) 2023-05-22 13:18:56 -07:00
Pavel Feldman 144f8b1495
chore: fix playwright-core cli (#23203)
Fixes https://github.com/microsoft/playwright/issues/23206
2023-05-22 12:37:08 -07:00
Pavel Feldman 631edc9744
chore(internal): generate code in jsonl (#23124) 2023-05-20 10:15:33 -07:00
Pavel Feldman 0e1aeaaecf
chore: do not show stale source in the trace (#23163) 2023-05-19 15:18:18 -07:00
Pavel Feldman bd090e67df
lint: prevent object string concatenation (#23172) 2023-05-19 15:17:43 -07:00
Dmitry Gozman bd33e5f8c0
fix(tracing): when zipping remotely, use correct file name (#23171)
Fixes #23108.
2023-05-19 14:42:01 -07:00
Pavel Feldman 49370cb6fd
chore: fix file view padding (#23166) 2023-05-19 11:07:49 -07:00
Pavel Feldman 2697e93663
chore: do not annotate actions after failed ones as timed out (#23148) 2023-05-18 15:52:44 -07:00
Max Schmitt 9b4f9b1136
docs: add dialog/consoleMessage helper methods for language bindings (#23140)
https://github.com/microsoft/playwright-dotnet/issues/2565

---------

Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2023-05-18 23:47:28 +02:00
Dmitry Gozman 422b65eeae
feat(connect): pw:server:channel and pw:socks debug logs (#23144)
Fixes #23081.
2023-05-18 13:44:48 -07:00
Dmitry Gozman ab7e794bf7
feat(shard): introduce mode: 'default' (#23023)
This mode allows a suite to opt-out from parallelism. Useful to setup
multiple suites running in parallel, with each suite not being sharded.

References #22891.
2023-05-18 13:07:22 -07:00
Pavel Feldman 969e5ff1aa
test: add attachment tests (#23143) 2023-05-18 11:48:53 -07:00
Pavel Feldman 3395a28181
chore: opt out of trace attachments (#23139)
Fixes: https://github.com/microsoft/playwright/issues/23137
2023-05-18 11:27:45 -07:00
Yury Semikhatsky a1fc8ff07d
fix: preserve steps in merged report (#23120) 2023-05-18 09:38:49 -07:00
Max Schmitt acdb71878e
test: unskip selenium driver test (#23129)
Issue is that [when `stop()` is
called](28504f6dc7/tests/library/browsertype-launch-selenium.spec.ts (L202)),
`onExit()` gets called and then it throws an unhandled rejection.

This regressed in https://github.com/microsoft/playwright/pull/23028.

I didn't find a reason to keep onExit, so removed it for now since
transport should handle these scenarios.

Fixes https://github.com/microsoft/playwright/issues/23110
2023-05-18 18:33:11 +02:00
Max Schmitt 0c032eb7be
chore: do not read browserslist file (#23127)
Fixes https://github.com/microsoft/playwright/issues/23125
2023-05-18 18:11:08 +02:00
Playwright Service 595c4cb855
feat(chromium-tip-of-tree): roll to r1116 (#23131)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-18 16:31:08 +02:00
Playwright Service 5957d8f306
feat(chromium): roll to r1064 (#23130)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-18 15:52:45 +02:00
Playwright Service 28504f6dc7
feat(chromium-tip-of-tree): roll to r1115 (#23109)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-05-18 11:49:35 +02:00
Andrey Lushnikov b31511e0c9
chore: cut v1.34.0 (#23121) 2023-05-17 19:05:38 -07:00
Dmitry Gozman be7984bdc9
fix(unroute): do not compare regexp instances (#23101)
References #23092.
2023-05-17 16:27:32 -07:00
Playwright Service f1e0aed03c
feat(chromium): roll to r1063 (#23104)
Fixes https://github.com/microsoft/playwright/issues/22967

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-18 00:49:13 +02:00
Max Schmitt e80ff0df77
chore: don't install gstreamer for WebKit Ubuntu 20 (#23062) 2023-05-17 18:31:24 +02:00
Pavel Feldman 04070a59e1
chore: remove expect.configure({poll}) (#23060) 2023-05-16 18:45:03 -07:00
Pavel Feldman fbc461ede0
chore(trace): do not flush console events (#23073)
Fixes https://github.com/microsoft/playwright/issues/20626
2023-05-16 18:44:27 -07:00
Dmitry Gozman fc2e0e76bd
feat(teardown): allow the same project to be a teardown for multiple (#23074) 2023-05-16 18:26:06 -07:00
Dmitry Gozman fec5059fee
feat(connect): print debug log when remote connection failed (#23069) 2023-05-16 16:46:02 -07:00
Max Schmitt 3cd21cb6d4
chore: ignore SIGINT inside driver process (#23028)
https://github.com/microsoft/playwright-python/issues/1843

Almost reverts https://github.com/microsoft/playwright/pull/11826 since
this is not used by VSCode anymore and was legacy.
2023-05-17 01:44:17 +02:00
Max Schmitt 89f1940509
chore: be able to hide webServer stderr (#23063)
Follow-up to https://github.com/microsoft/playwright/pull/22564.
2023-05-17 00:46:59 +02:00
Yury Semikhatsky ed19e5403b
feat: merge config properties (#23071) 2023-05-16 15:15:11 -07:00
Pavel Feldman 37b2853b7b
chore: fix the test view mobile layout (#23061)
Fixes https://github.com/microsoft/playwright/issues/23036
2023-05-16 12:47:37 -07:00
Dmitry Gozman 62146b946c
fix(codegen): ignore previously hovered detached nodes (#23057)
Fixes #23043.
2023-05-16 11:13:19 -07:00
Playwright Service aa6eb41466
feat(webkit): roll to r1848 (#23032)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-05-16 12:13:58 +02:00
Dmitry Gozman 73f9f81db4
feat(locators): allow ambiguous locators when parsing (#23034)
This supports locators like `nth(0)` and `locator('div', { hasText:
'foo' })` that are not canonical, but still work.

Fixes #22990, #22965.
2023-05-15 19:42:51 -07:00
Dmitry Gozman f469e4b1eb
fix(expect): mark step as failed when async custom matcher throws (#23035)
Fixes #23021.
2023-05-15 19:37:12 -07:00
Pavel Feldman bf1df9678f
chore: do not load code for babeling twice (#23025) 2023-05-15 15:12:10 -07:00
Max Schmitt edd003c230
chore: validate expected image buffer when comparing images (#23030)
Fixes https://github.com/microsoft/playwright/issues/23012
2023-05-15 23:32:16 +02:00
Yury Semikhatsky 6c75095896
chore: blob report does not print to console (#23027) 2023-05-15 12:46:17 -07:00
Max Schmitt 17ab777db5
chore: set min viewport for WK on Win to 250x240 (#22969)
Follow-up for https://github.com/microsoft/playwright/pull/22956.
2023-05-14 16:59:15 +02:00
Pavel Feldman c9d5b05440
docs: document subdomain cookie matching (#23007)
Fixes https://github.com/microsoft/playwright/issues/22977
2023-05-12 19:15:51 -07:00
Pavel Feldman 4c4085e105
chore: partially hide built-in fixture steps (#23005) 2023-05-12 19:15:31 -07:00
Yury Semikhatsky 576d91fe80
fix: unique resource names between shards (#23004) 2023-05-12 18:21:43 -07:00
Pavel Feldman 083d13a13d
chore: surface syntax error in ui mode (#22982)
Fixes https://github.com/microsoft/playwright/issues/22863
2023-05-12 14:23:22 -07:00
Dmitry Gozman 9472f79d32
fix(reuse): reset mouse position in Firefox (#22973)
Otherwise, Firefox sometimes keeps the current position and triggers
unexpected hover effects.

Fixes #22432.
2023-05-12 13:21:49 -07:00
Andrey Lushnikov bf1aba885b chore: fix lint 2023-05-12 13:04:11 -07:00
Andrey Lushnikov eea7a8e638
browser(firefox): roll Firefoxes (#22998)
Fixes https://github.com/microsoft/playwright/issues/15405
Fixes https://github.com/microsoft/playwright/issues/22618
2023-05-12 11:27:19 -07:00
Playwright Service ba0c4951c3
feat(firefox-beta): roll to r1408 (#22978)
Fixes https://github.com/microsoft/playwright/issues/21760

---------

Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-05-12 09:27:08 -07:00
Yury Semikhatsky 3ccec7eae5
feat(merge): generate html report with links to remote resources (#22968) 2023-05-12 09:26:04 -07:00
Playwright Service f96309776c
feat(firefox-beta): roll to r1407 (#22976)
Fixes https://github.com/microsoft/playwright/issues/22581

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-12 07:39:42 -07:00
Pavel Feldman e6d8cf9693
chore: include plugin list into the cache digest (#22946)
Fixes https://github.com/microsoft/playwright/issues/22931
2023-05-11 21:09:15 -07:00
Dmitry Gozman 9ffe33fae8
feat(test runner): support tsconfig.extends array (#22975)
Fixes #22151.
2023-05-11 19:18:13 -07:00
Pavel Feldman 59b9a39740
chore: add string attachments to trace (#22921) 2023-05-11 16:32:32 -07:00
Pavel Feldman 49f647ca57
chore: opt out from the compact mode in babel (#22974) 2023-05-11 16:31:28 -07:00
Dmitry Gozman 44a934c160
feat(test runner): support .cjs and .cts files (#22971)
Fixes #22579.
2023-05-11 15:41:50 -07:00
Andrey Lushnikov d7f5f1f5fe
feat: default screenshot jpeg quality to 80 (#22966)
Fixes https://github.com/microsoft/playwright/issues/22436
2023-05-11 11:09:19 -07:00
Pavel Feldman e41b21dc7b
chore: update navigation and timers docs (#22941) 2023-05-11 09:56:48 -07:00
Andrey Lushnikov 4d41535081
feat(ff-beta): roll Firefox beta to 1406 (#22963) 2023-05-11 09:37:08 -07:00
Max Schmitt 00187172f2
chore: introduce minimal viewport for WebKit/Windows/headed (#22956)
Fixes https://github.com/microsoft/playwright/issues/22616
2023-05-11 17:54:05 +02:00
Playwright Service d17d43c4fa
feat(firefox): roll to r1406 (#22962)
Fixes https://github.com/microsoft/playwright/issues/22580

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-11 08:18:51 -07:00
Dmitry Gozman f2ad5bbfbb
fix(isVisible): return false during navigation (#22943)
Instead of throwing "Execution context was destroyed" error.

Drive-by: improve internal error messages for `ScopedRace` errors.

Fixes #22925.
2023-05-10 16:56:59 -07:00
Yury Semikhatsky c9dad439cd
chore: write uncompressed blob report (#22945) 2023-05-10 15:08:53 -07:00
Playwright Service 7e2a35ead4
feat(webkit): roll to r1847 (#22920) 2023-05-10 12:11:42 -07:00
Dmitry Gozman 80f46892cd
fix(getByLabel): ignore empty aria-label (#22935)
Accessible name computation ignores empty aria-label, and so should
getByLabel.

Fixes #22915.
2023-05-10 10:38:46 -07:00
Debbie O'Brien 7a8eb15820
docs: add titles to config snippets (#22910)
Docs PR: https://github.com/microsoft/playwright.dev/pull/1039

---------

Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-05-10 18:38:12 +02:00
Ruben f9eeaa2b75
docs: update import in code example (#22591) 2023-05-10 15:18:20 +02:00
Alexander Sorokin cbf4f39957
fix: React selectors should work after unmount (#22750)
Fixes #22729
2023-05-10 06:18:01 -07:00
Andrey Lushnikov 3b2d247c74
fix: avoid using os.userInfo() (#22826)
The `os.userInfo()` call might throw on POSIX if there is no
user info for the current `uid`. This might happen, if the docker
is launched like this:

```
docker run --rm -u 1234:1234  -it mcr.microsoft.com/playwright:v1.32.0 node -e 'console.log(os.userInfo().username)'
```

So instead of using `os.userInfo()`, rely on effective user id.

Fixes https://github.com/microsoft/playwright/issues/22721
2023-05-10 05:13:04 -07:00
Max Schmitt 1541206482
test: use custom browser binary for connnect tests (#22900)
Fixes https://github.com/microsoft/playwright/issues/22898
2023-05-10 09:30:56 +02:00
Pavel Feldman 5e0574dc44
chore: list attachments in the trace (#22919)
Fixes https://github.com/microsoft/playwright/issues/22736
2023-05-09 17:53:01 -07:00
Dmitry Gozman cd49f5c466
feat(typescript): align with --moduleResolution=bundler (#22887)
This relaxes import requirements and allows importing `.ts` files
without an extension in CJS and ESM modes.

Fixes #22169.
2023-05-09 16:26:29 -07:00
Yury Semikhatsky 75e106745f
fix(fetch): support proxy.bypass (#22914)
Fixes #21916
2023-05-09 14:51:49 -07:00
Pavel Feldman 0bf297f523
fix(trace): merge step hierarchies (#22916) 2023-05-09 14:50:28 -07:00
Playwright Service 2704601d0c
feat(webkit): roll to r1845 (#22895)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-09 10:47:17 +02:00
Alex Neo 5bd5cea705
feat(html): describe labels (#22870) 2023-05-08 18:59:01 -07:00
Pavel Feldman b10cc03314
chore: render parse errors in the UI mode (#22888)
Fixes: https://github.com/microsoft/playwright/issues/22863
2023-05-08 18:51:27 -07:00
Pavel Feldman 5fb426e7db
fix(webkit): do not update console counter on unhandled rejections (#22890)
Fixes https://github.com/microsoft/playwright/issues/22886
2023-05-08 18:50:40 -07:00
Pavel Feldman 9771b1ee74
chore: show steps for fixtures (#22860)
Fixes https://github.com/microsoft/playwright/issues/22565
2023-05-06 10:25:32 -07:00
Dmitry Gozman 03616e976e
fix(deps): --repeat-each should not apply to dependencies (#22858)
Fixes #21778.
2023-05-05 16:59:39 -07:00
Pavel Feldman efad19b332
chore: render test steps in the trace (#22837) 2023-05-05 15:12:18 -07:00
Dmitry Gozman 641e223ca8
fix(server): explicit allowlist for launch options (#22855)
Some options, usually paths, do not make sense when running remotely.

Fixes #22844.
2023-05-05 13:07:06 -07:00
Yury Semikhatsky 02a1a2e6a9
fix(webkit): define window.GestureEvent (#22768)
Polyfill GestureEvent so that Safari detection works.

Fixes #22735
2023-05-05 11:37:28 -07:00
Dmitry Gozman 160888df99
feat(locators): reland locator.and(locator) (#22850)
Removed in #22223.
Fixes #22585.
2023-05-05 11:14:01 -07:00
Dmitry Gozman 42328478ea
feat: make console/dialog events based on subscription (#22835)
This way we do not send events from the server unless the client is
interested.

Fixes #22621.
2023-05-05 11:12:33 -07:00
Dmitry Gozman 2393602e8c
fix(reuse): ignore late bindings after dispatchers were disposed (#22838)
When reusing the context, we first dispose all dispatchers, and then
reset the page/context. If bindings are triggered during the reset, they
try to send messages on disposed dispatchers.

Since there is no way to unregister bindings, just ignore them after
disposal.

Fixes #22803.
2023-05-05 11:10:53 -07:00
Dmitry Gozman 236c329ea9
feat: browserContext.on('dialog'/'console') (#22805)
Relanding #22033 and #21943.
2023-05-04 15:11:46 -07:00
Playwright Service ae3398d404
feat(webkit): roll to r1843 (#22831)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-04 23:14:38 +02:00
Pavel Feldman 9c25a04267
chore: use custom JSX runtime to stub-out erroneous JSX usage (#22827)
Fixes https://github.com/microsoft/playwright/issues/22789
2023-05-04 11:44:59 -07:00
Playwright Service 7e3f011824
feat(webkit): roll to r1842 (#22825)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-04 20:02:39 +02:00
Playwright Service 600bcc223f
feat(chromium-tip-of-tree): roll to r1111 (#22821)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-04 17:07:08 +02:00
Pavel Feldman 78203bf48d
chore: ensure error location is present (#22804)
Partial fix for https://github.com/microsoft/playwright/issues/22782
2023-05-03 18:45:33 -07:00
Dmitry Gozman ca3629186c
fix(role): fix native controls text alternative when aria-labelledby is present (#22800)
Fixes #22779.
2023-05-03 16:09:08 -07:00
Dmitry Gozman 4edd023644
fix(tsconfig): fallback to default *:* path mapping when baseUrl is present (#22802)
According to
https://www.typescriptlang.org/docs/handbook/module-resolution.html#base-url,
`baseUrl` affects all non-relative imports. Additional `paths` mapping
can be specified for more control. However, if none of the `paths`
matches, it still falls back to the default `*:*` mapping. Confirmed by
invoking `tsc` with different configs.

Fixes #22663.
2023-05-03 16:08:06 -07:00
Pavel Feldman 9a61a55ea1
chore: nest api steps by time (#22801)
Fixes https://github.com/microsoft/playwright/issues/22786
2023-05-03 16:04:20 -07:00
Pavel Feldman b868f3a9d0
chore: extend raw stack (#22794) 2023-05-03 13:53:02 -07:00
Yury Semikhatsky 2233b352b6
fix(merger): pass onError to the reporter (#22775) 2023-05-03 09:08:09 -07:00
Dmitry Gozman 10ce7af411
fix(steps): step should not get an unrelated error (#22773)
Previously, we would use any error that was added during the step
execution as an error for this particular step.

This produces false positives, for example failing `page.click` call
that happened during `context` teardown was producing an error and
marking teardown is failed. However, in reality, the test itself has
failed, while teardown has not.

New approach uses test step hierarchy to inherit errors from child steps
to the parent step. This does not regress the original fix where
`expect.soft` errors are surfaced in the parent step.

See also #19973 that introduced the original logic.
2023-05-02 18:50:00 -07:00
Dmitry Gozman 3c724c2498
fix: do not crash upon download in unknown page (#22774)
Fixes #22551.
2023-05-02 18:49:04 -07:00
Dmitry Gozman 8f09935e81
fix(test runner): separate test fixture scope for beforeAll/afterAll hooks (#22746)
There was a single test fixture scope that covers all hooks, modifiers
and test function. Now beforeAll-like modifiers, beforeAll and afterAll
hooks get a scope each.

Fixes #22256.
2023-05-02 11:04:51 -07:00
Playwright Service 57db2a0734
feat(chromium-tip-of-tree): roll to r1110 (#22757)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-02 17:11:06 +02:00
Sander 5b69c4cf52
chore: bump vite to 4.3.3 (#22711) 2023-05-01 15:19:49 -07:00
Yury Semikhatsky a4e90f20dc
fix(runner): do not hang on worker exit before tests (#22742) 2023-05-01 14:54:48 -07:00
Dmitry Gozman fcd966c4e5
chore: make _setupArtifacts a worker-scoped fixture (#22739)
This should unblock having separate test-fixture scopes for hooks and
test.
2023-05-01 13:53:15 -07:00
Yury Semikhatsky 59079d94ca
fix: call onExit when merging reports (#22718) 2023-05-01 12:58:40 -07:00
Pavel Feldman 297fea0826
chore: purify the junit reporter (#22624) 2023-05-01 09:15:08 -07:00
Alex Neo 26cad0b31f
feat(html): matching labels with dash&spec symbol (#22709)
Fixes #22700
2023-05-01 09:13:30 -07:00
Playwright Service 1168525c07
feat(chromium-tip-of-tree): roll to r1109 (#22725)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-30 14:17:30 +02:00
Dmitry Gozman a1842cc708
chore: extract ArtifactsRecorder from built-in fixtures (#22717) 2023-04-29 14:34:45 -07:00
Pavel Feldman 116fb349ce
chore: allow configuring test id attribute for codegen (#22716)
Fixes: https://github.com/microsoft/playwright/issues/22653
2023-04-29 12:04:33 -07:00
Pavel Feldman a01df2ff5b
chore: render live trace for the serial mode (#22715)
Fixes https://github.com/microsoft/playwright/issues/22655
2023-04-28 17:47:57 -07:00
Pavel Feldman 9c29f24c65
chore: poll test result along with the live trace (#22714)
Fixes: https://github.com/microsoft/playwright/issues/22656
2023-04-28 16:56:28 -07:00
Dmitry Gozman ffc00566b9
chore: separate options fixture vs artifacts fixture (#22713)
Later on, artifacts fixture can be made worker-scoped.
2023-04-28 16:54:52 -07:00
Dmitry Gozman dbb218a9d5
feat: project.teardown that runs after all dependents have finished (#22696)
This replicates globalTeardown in the deps world.

Fixes #21914.
2023-04-28 14:27:08 -07:00
Pavel Feldman e9373dfb6e
chore: make client-side instrumentation non-nullable (#22694) 2023-04-28 08:57:43 -07:00
Sander 66edffff85
chore(ct): optional framework plugin factory (#22685) 2023-04-27 20:26:02 -07:00
Alex Neo 7937699b28
fix(html): label not matched if first with describe (#22680) 2023-04-27 20:04:54 -07:00
Yury Semikhatsky 16f664e22c
chore: write blob report to the config dir by default (#22697) 2023-04-27 17:25:29 -07:00
Yury Semikhatsky f08caea8f2
chore: split merge and blob reporter (#22695) 2023-04-27 16:38:45 -07:00
Yury Semikhatsky f37f5fc61c
chore: comma separated reporter names, reporter arg from config (#22693) 2023-04-27 15:16:18 -07:00
Dmitry Gozman 223baa3393
fix(html): keep tests in the declaration order (#22690)
Fixes #22143.
2023-04-27 13:54:15 -07:00
Yury Semikhatsky 82670147b4
chore: support multiple merged reports (#22672) 2023-04-27 09:15:24 -07:00
Playwright Service e50e2e6bc9
feat(webkit): roll to r1840 (#22686)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-27 17:37:19 +02:00
Playwright Service 5043648762
feat(webkit): roll to r1839 (#22664)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-27 10:40:09 +02:00
Playwright Service 13061a9bba
feat(ffmpeg): roll to r1009 (#22670)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-27 10:37:39 +02:00
Yury Semikhatsky 51aca72c35
chore: split InternalReporter and Multiplexer (#22671)
The multiplexer will be reused in the blob report merger.
2023-04-26 17:55:58 -07:00
Max Schmitt c5880f9994
chore(chromium): remove --disable-sync CLI switch (#22667)
Fixes https://github.com/microsoft/playwright/pull/22583
Fixes https://github.com/microsoft/playwright/issues/22560

Not relevant anymore, it only takes effect when profiles is signed in.

See https://bugs.chromium.org/p/chromium/issues/detail?id=1439737.
2023-04-26 15:34:47 -07:00
Max Schmitt 7b27d70d8a
feat(web-server): add stdout: "pipe"|"ignore" option (#22564)
Fixes https://github.com/microsoft/playwright/issues/22454
2023-04-26 23:39:42 +02:00
Yury Semikhatsky 9ad9b6b316
chore: reuse createReporters in the merger (#22636)
#10437
2023-04-26 11:48:19 -07:00
Pavel Feldman 7fdd7a20fb
chore: fix soft after poll (#22642) 2023-04-26 08:50:10 -07:00
Sander 44e56d2404
feat(ct): code split for better performance and isolation (#22494) 2023-04-25 18:08:34 -07:00
Pavel Feldman d34c4e99f5
chore: add step attachments into the expect trace event (#22543) 2023-04-25 17:38:12 -07:00
Pavel Feldman 6b487ff49d
chore: remove cli from playwright-core (#22612)
Fixes https://github.com/microsoft/playwright/issues/22599
2023-04-25 11:19:37 -07:00
Pavel Feldman a1007bbe2c
chore: introduce expect.configure (#22533) 2023-04-25 10:29:56 -07:00
Yury Semikhatsky 59678fdea7
chore: create list reporter for watch mode directly (#22614) 2023-04-24 18:32:32 -07:00
Yury Semikhatsky 24478be565
feat: preserve attachments in blob reports (#22605)
Attachments with `path` are stored as `resources/sha1.ext` zip entries
and extracted under `report-dir/tmp` when merging. This way normal
fs.readFile keeps working as before even thought the file path is
different. The clients should rely on `attachment.name` instead of
`attachment.path` when deriving user visible titles in the UI. If this
turns out not to be the case we can reconsider later.

#10437
2023-04-24 17:34:09 -07:00
Pavel Feldman 78acb5ef58
chore: do not layer box shadows on top of one another in image diff (#22604) 2023-04-24 15:23:01 -07:00
Pavel Feldman 5120e7d541
chore: fix list-files (#22609) 2023-04-24 15:13:59 -07:00
Andrey Lushnikov 4408738d9c
chore: cut 1.33.0 (#22600) 2023-04-24 12:48:02 -07:00
Playwright Service eed6c33283
feat(webkit): roll to r1837 (#22566)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-24 15:12:54 +02:00
Dmitry Gozman 05b113f050
docs: add warning to locator.all (#22537)
References #22517.
2023-04-23 21:18:46 -07:00
Andrey Lushnikov 62bd41912d
chore: cleanup bandaid firefox pref (#22570)
This patch removes the bandaid preferences that got migrated
to the build.
2023-04-23 19:58:00 -07:00
Andrey Lushnikov 99d4887053
feat(firefox): roll to r1403 (#22540)
Fixes https://github.com/microsoft/playwright/issues/22082
Fixes https://github.com/microsoft/playwright/issues/20993
2023-04-21 21:45:41 -07:00
Pavel Feldman 17df03c043
chore: better zone stack preservation in expect (#22563) 2023-04-21 16:13:35 -07:00
Pavel Feldman becb072703
chore: fix leaking event listeners (#22562)
Fixes https://github.com/microsoft/playwright/issues/22348
2023-04-21 12:38:39 -07:00
Max Schmitt f6aa9f49ce
chore: make evaluate work with busted Array.prototype.map/push (#22528)
Fixes https://github.com/microsoft/playwright/issues/22460

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-04-21 19:52:13 +02:00
Pavel Feldman bbc47ba315
chore: ensure web assertions are merged in trace (#22544) 2023-04-21 10:07:23 -07:00
Andrey Lushnikov a919f5f66f
chore: attempt to fix firefox-beta WebGL tests on MacOS 12.6 (#22548)
Looks like https://phabricator.services.mozilla.com/D164016
disabled software rendering.

If Firefox-beta passes on MacOS, then this bandaid setting will be
migrated to the firefox-beta default settings.
2023-04-21 09:54:25 -07:00
Playwright Service b45e3556e5
feat(chromium-tip-of-tree): roll to r1106 (#22542)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-21 11:08:15 +02:00
Andrey Lushnikov a56f97fcef
Revert "fix(inspector): fix leaking event listeners (#22535)" (#22545)
This reverts commit 58b3c31f3e.

Reason for revert: UI rendering hits an infinite tight loop.
Reproduces locally with `npm run ctest pause.spec:357` (test hangs)
Also observed on dashboard:

<img width="1467" alt="image"
src="https://user-images.githubusercontent.com/746130/233541521-1f30338d-dd83-405c-bb0d-c890611c33e3.png">


https://github.com/microsoft/playwright/issues/22348
2023-04-20 21:35:01 -07:00
Pavel Feldman d95268ffc0
chore: remove refined title (#22541) 2023-04-20 20:34:07 -07:00
Max Schmitt 58b3c31f3e
fix(inspector): fix leaking event listeners (#22535)
Fixes https://github.com/microsoft/playwright/issues/22348
2023-04-20 22:42:34 +02:00
Playwright Service 94b36a3805
feat(chromium): roll to r1060 (#22529)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-20 18:21:29 +02:00
☃ Elliot Shepherd 106fa45f50
feat(route): accept timeout to fetch (#22475)
Fixes: #22474
2023-04-20 08:41:33 -07:00
Pavel Feldman 0c70f6900e
chore: fix ui mode w/ multiple contexts (#22514)
Fixes: https://github.com/microsoft/playwright/issues/21895
2023-04-20 08:19:00 -07:00
Playwright Service 1b9e594b40
feat(webkit): roll to r1835 (#22513)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-20 16:07:15 +02:00
Pavel Feldman 8f14517de2
chore: allow collapsing all (#22512)
Fixes https://github.com/microsoft/playwright/issues/21915
2023-04-19 18:16:18 -07:00
Dmitry Gozman 957ec0067f
chore: separate concerns of testinfo helpers (#22491) 2023-04-19 17:31:07 -07:00
Pavel Feldman a45f04568b
chore: rename watchmode to uimode tsx (#22511) 2023-04-19 16:51:42 -07:00
Yury Semikhatsky b8b929fdea
chore: hide merge-reports command (#22509) 2023-04-19 15:36:17 -07:00
Pavel Feldman ba8aed9dea
chore: move mount implementation to ct-core (#22506) 2023-04-19 15:32:33 -07:00
Pavel Feldman e7b9c08833
chore: should not spill toPass between tests (#22473) 2023-04-19 14:45:58 -07:00
Pavel Feldman 3c495c5590
chore: only transpile tsx for components (#22504) 2023-04-19 14:20:53 -07:00
Dmitry Gozman bf0fab4927
fix(ui mode): ignore repeatEach (#22505)
Fixes #22498.
2023-04-19 14:16:12 -07:00
Pavel Feldman 320b9d5dbb
chore: speculative attempt to unflake ui mode tests (#22476) 2023-04-19 07:29:28 -07:00
Sander 060979ef86
feat(ct): vue2 throw when updating a native html element (#22407)
Related to: https://github.com/microsoft/playwright/issues/22328.
2023-04-19 07:28:21 -07:00
Sander b3b624b0c9
feat(ct): vue throw when updating a native html element (#22392)
Related to: https://github.com/microsoft/playwright/issues/22328.
2023-04-19 07:28:00 -07:00
Max Schmitt 49c9284bc7
Revert "feat(html reporter): render multiple annotations of the same type together (#21580)" (#22466)
Fixes https://github.com/microsoft/playwright/issues/22323
2023-04-18 20:43:07 +02:00
mindaugasm be79ee0450
feat(html-report): add attachmentsBaseURL option (#22212)
Fixes https://github.com/microsoft/playwright/issues/21636
2023-04-18 11:25:11 -07:00
Pavel Feldman d45efe881f
chore: don't leak from waitFor (#22465)
Fixes https://github.com/microsoft/playwright/issues/22458
2023-04-18 11:11:46 -07:00
Playwright Service 4e9faba34d
feat(webkit): roll to r1834 (#22462)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-18 19:41:56 +02:00
Debbie O'Brien 3a0f49acab
docs: add options snippets to api docs (#22098) 2023-04-18 19:04:13 +02:00
Yury Semikhatsky 2ea214d6f0
fix: preserve trace if context if closed manually during test run (#22442)
Reference #22122, #22120
2023-04-18 09:02:33 -07:00
Debbie O'Brien d9e7a4fffd
docs: remove test advanced guide (#22028) 2023-04-18 10:47:32 +02:00
Pavel Feldman 9f661b710a
chore: bump the trace packet size to be 1Mb (#22446) 2023-04-17 18:36:08 -07:00
Pavel Feldman 00df08b3cf
chore: explicitly control actions with slow mo (#22445)
Fixes https://github.com/microsoft/playwright/issues/22273
2023-04-17 16:19:30 -07:00
Pavel Feldman 8d69fbacf7
chore: introduce ct-core to hard-depend on vite (#22437)
Fixes https://github.com/microsoft/playwright/issues/22233
2023-04-17 16:19:21 -07:00
Playwright Service 5b48df36b3
feat(webkit): roll to r1832 (#22420) 2023-04-17 12:58:05 -07:00
Dmitry Gozman bf661535a6
fix(testMatch): do not count test.ts and spec.ts as test files by default (#22440) 2023-04-17 12:57:33 -07:00
Yury Semikhatsky 1fecc20238
feat(webkit): roll to r1830 (#22412)
https://github.com/microsoft/playwright/issues/22411
Fixes https://github.com/microsoft/playwright/issues/21892
2023-04-14 13:32:50 -07:00
Playwright Service 7f856a65c4
feat(firefox): roll to r1399 (#22409)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-14 12:04:14 -07:00
Playwright Service da8672711b
feat(firefox): roll to r1398 (#22397)
Fixes https://github.com/microsoft/playwright/issues/22343

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-14 07:24:54 -07:00
Playwright Service 66972636ad
feat(chromium-tip-of-tree): roll to r1104 (#22380)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-14 12:03:27 +02:00
Playwright Service 53a8fa2743
feat(firefox-beta): roll to r1400 (#22394)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-14 00:42:41 -07:00
Playwright Service b55b3eae00
feat(firefox-beta): roll to r1399 (#22385)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-13 13:37:35 -07:00
Andrey Lushnikov 8bb708be70
test: unflake inspector-cli tests (#22347)
This patch:
- changes the `childProcess` fixture to reliably SIGKILL all descendants
  (children and grand-children, regardless of their process group).
This is achieved using the `ps` command to build the process tree, and
then send
  `SIGKILL` to the descendant process groups.
- changes the `runCLI` fixture to **not** auto-close codegen by default;
  the `childProcess` fixture will clean up all processes. This makes
sure that all `runCLI.waitFor()` commands actually wait until the
necessary
  output.
- for a handful of tests that do actually want to auto-close codegen,
  introduce an optional `autoCloseWhen` flag for the `runCLI` fixture
that makes sure to close the codegen once a certain output was reached.
2023-04-12 09:37:24 -07:00
Playwright Service a5749c033d
feat(firefox): roll to r1396 (#22327)
Fixes https://github.com/microsoft/playwright/issues/21995
2023-04-11 08:49:44 -07:00
Playwright Service b256bd4e4c
feat(chromium-tip-of-tree): roll to r1103 (#22335)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-11 15:31:02 +01:00
Pavel Feldman c5aeab4d7e
revert(20509, 20596): expect.toPass is broken with these (#22254)
Reverts https://github.com/microsoft/playwright/pull/20509 and
https://github.com/microsoft/playwright/pull/20596
Fixes #22215
2023-04-10 17:39:49 -07:00
Yury Semikhatsky 2af3f486c4
fix: do not load trace data for passing tests (#22311)
Fixes #22122
Fixes #22120
2023-04-10 13:29:55 -07:00
Playwright Service 2573dff5e9
feat(webkit): roll to r1827 (#22291) 2023-04-10 13:10:34 -07:00
Sander ec2dc92336
fix(ct): component type import path (#22296) 2023-04-09 15:04:46 -07:00
Yury Semikhatsky 5cd9f83c7b
fix(webkit): properly set user agent in persistent context (#22283)
Fixes https://github.com/microsoft/playwright/issues/22274
2023-04-07 19:50:49 -07:00
Pavel Feldman 635a2dac16
chore: remove FullProjectInternal.from (#22280) 2023-04-07 19:12:20 -07:00
Pavel Feldman 3b94bb6740
chore: simplify full config and full project building (#22278) 2023-04-07 17:46:47 -07:00
Yury Semikhatsky 8d2502ee62
test: make page-leaks tests pass in electron (#22277)
They've been failing
https://devops.playwright.dev/flakiness.html#filter_spec=page%2Fpage-leaks.spec.ts&test_parameter_filters=%5B%5D&timestamp=1680901928195
2023-04-07 17:20:49 -07:00
Playwright Service 26bbf8ca1b
feat(chromium): roll to r1058 (#22264) 2023-04-07 14:11:18 -07:00
Valentín Costa 93e020d483
docs(class-test.md): add missing R in the word returned (#22252) 2023-04-07 13:57:28 -07:00
Playwright Service 12da068249
feat(webkit): roll to r1825 (#22258) 2023-04-07 13:56:22 -07:00
任跃兵 2b1a121133
Update class-consolemessage.md (#22261) 2023-04-07 13:51:46 -07:00
Pavel Feldman eed5b4c83b
chore: process stdio buffers (#22270)
Fixes https://github.com/microsoft/playwright/issues/22265
2023-04-07 13:50:15 -07:00
Yury Semikhatsky d59e0e10ce
feat: blob reporter (#22244)
#10437
2023-04-07 13:47:52 -07:00
Pavel Feldman a42567d549
chore: inside out the config & project internal (#22260) 2023-04-07 09:54:01 -07:00
Pavel Feldman 02ca63b381
chore: use separator when printing titles in the list mode (#22269)
Fixes https://github.com/microsoft/playwright/issues/22267
2023-04-07 09:52:04 -07:00
Yury Semikhatsky 1ea9f02944
chore: add configDir to reporter options (#22250) 2023-04-06 14:23:47 -07:00
Playwright Service c36b96fd8c
feat(webkit): roll to r1824 (#22251)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-06 22:46:26 +02:00
Pavel Feldman 3400d62a7a
chore: discourage networkidle (#22247) 2023-04-06 13:00:34 -07:00
Pavel Feldman 09f072de09
chore: introduce the concept of a test run (#22243) 2023-04-06 11:20:24 -07:00
Pavel Feldman 9ced1e278d
chore: remove the legacy webServer accessor from the config (#22245) 2023-04-06 11:20:11 -07:00
Sander cea382015f
chore(ct): rename component.d.ts (#22234) 2023-04-06 08:40:49 -07:00
Yury Semikhatsky fc23d35697
chore: clear previous test results optionally (#22224) 2023-04-06 08:33:17 -07:00
Playwright Service 13c7ddb883
feat(chromium-tip-of-tree): roll to r1102 (#22235)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-06 15:33:11 +02:00
Playwright Service f610577a18
feat(webkit): roll to r1823 (#22227)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-06 11:52:48 +02:00
Dmitry Gozman 08cef43e82
feat(locator): remove locator.and and locator.not (#22223)
Not shipping for now, after API review.
2023-04-05 16:28:13 -07:00
Yury Semikhatsky b5195122d9
chore: return promise from tele receiver dispatch (#22218) 2023-04-05 14:23:06 -07:00
Dmitry Gozman 35afb056ea
feat(locator): filter({ hasNotText }) (#22222)
The opposite of `filter({ hasText })`.
2023-04-05 14:13:28 -07:00
Dmitry Gozman 5734f11a69
docs: update Locator.or example (#22220) 2023-04-05 13:13:10 -07:00
Sébastien Richert 88544d537b
docs(class-request.md): rephrase definition of request timing responseStart (#22170) 2023-04-05 13:11:38 -07:00
Sander 789d8b24c0
chore(ct): dedupe json object (#22138) 2023-04-05 13:10:00 -07:00
Pavel Feldman 159e71982e
chore: render failed steps in the basic reporters (#22200)
Fixes #20532
2023-04-05 13:03:42 -07:00
Pavel Feldman 0d31d69d65
chore(trace): improve loading progress bar (#22201)
Fixes: https://github.com/microsoft/playwright/issues/22118
2023-04-05 13:03:25 -07:00
Dmitry Gozman bc1de5f28d
feat(locator): filter({ hasNot }) (#22219)
This is the opposite of `filter({ has })`.
2023-04-05 12:45:46 -07:00
Playwright Service 8dd431745d
feat(firefox): roll to r1394 (#22199)
Fixes https://github.com/microsoft/playwright/issues/21621

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-04-05 11:39:23 -07:00
Playwright Service 3f7eeafc90
feat(firefox-beta): roll to r1396 (#22198)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-05 09:33:57 -07:00
Johannes Loher bd698efaef
fix(webServer): follow relative redirects when checking the url (#22035)
Fixes https://github.com/microsoft/playwright/issues/22144
2023-04-05 10:39:35 +02:00
Dmitry Gozman d7b3836752
chore: revert console and dialog events on BrowserContext (#22195)
This reverts #22033 and #21943, since there will be no immediate
benefits in v1.33.
2023-04-04 13:13:52 -07:00
Pavel Feldman 3608425d57
chore: allow reusing browser between the tests (#22191) 2023-04-04 12:31:42 -07:00
Pavel Feldman f8f9ee6a25
chore: introduce Reporter.onExit (#22176)
Fixes https://github.com/microsoft/playwright/issues/22173
2023-04-04 10:50:40 -07:00
Playwright Service 464196f9e9
feat(chromium-tip-of-tree): roll to r1101 (#22187)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-04 15:43:19 +02:00
Pavel Feldman 87acda74ff
chore: respect source map sources when filtering in CLI (#22180)
Fixes #22123
2023-04-03 19:49:01 -07:00
Dmitry Gozman ab85b23e67
fix(expect): report expect "Timed out" when it actually does (#22174)
Previously, it would say "Timed out" when page was closed at test
timeout, or not say "Timed out" when at least one element matched.

Fixes #21664.
2023-04-03 15:06:13 -07:00
Dmitry Gozman 26c00a97a5
fix(expect): do not produce logs twice (#22171) 2023-04-03 15:05:40 -07:00
Max Schmitt 590013e27b
docs(python): fix WebSocket types (#22155)
Fixes https://github.com/microsoft/playwright-python/issues/1841
2023-04-03 13:21:33 -07:00
Playwright Service babb2bc3ee
feat(webkit): roll to r1821 (#22141)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-03 10:32:51 +02:00
Playwright Service 41e4ca0257
feat(firefox-beta): roll to r1395 (#22137)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-01 01:21:06 -07:00
Playwright Service cebcb062b2
feat(firefox): roll to r1393 (#22135)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-04-01 01:20:14 -07:00
Pavel Feldman ee39af260d
chore: discourage waitForSelector (#22133) 2023-03-31 20:24:08 -07:00
Dmitry Gozman 82e52004c9
fix(ui mode): preserve manually selected action in live trace (#22131) 2023-03-31 18:34:51 -07:00
Pavel Feldman 3b9e62432d
chore: do not leak on clicks (#22129)
Fixes #22115
2023-03-31 18:18:45 -07:00
Dmitry Gozman 41e3e6d13f
fix(tracing): avoid clashing network file names (#22126)
With two contexts in the same test, we can get:
- `<testId>.network` and `<testId>-1.network` files;
- for export, we can copy `<testId>.network` into `<testId>-1.network`
and try to copy into a file when another trace is reading from it.

Fixes #22089.
2023-03-31 17:29:39 -07:00
Pavel Feldman 0d9ec60dc7
chore: implement jsHandle._objectCount in chromium (#22127) 2023-03-31 15:52:01 -07:00
Andrey Lushnikov 5223c1ba39
feat: add timeout to electron.firstWindow() method (#21863)
Fixes https://github.com/microsoft/playwright/issues/21846
2023-03-31 15:35:54 -07:00
Dmitry Gozman 1fbefa694f
fix(role): update accessible name calculation for native buttons (#22124)
There is a new section in the spec:

https://w3c.github.io/html-aam/#button-element-accessible-name-computation

Fixes #21808.
2023-03-31 14:17:18 -07:00
MarcNum fbdafc5fe3
feat: Adding trace option 'on-all-retries' (#21985)
Fixes: #21860
2023-03-31 13:04:24 -07:00
Dmitry Gozman a95ced0fef
fix(waitFor): when frameLocator does not match, resolve hidden/detached states (#22119)
Fixes #21879.
2023-03-31 10:54:07 -07:00
Dmitry Gozman 37d1659508
feat(connect): support special headers for debug/attachments (#22106)
`x-playwright-debug-log: value` headers are printed to `pw:browser`
debug log.
`x-playwright-attachment: name=value` headers are attached to each test.

Fixes #21619.
2023-03-31 08:57:07 -07:00
Sander b9f7cca0aa
fix(ct): optional hooks config type (#22100) 2023-03-30 21:09:05 -07:00
Pavel Feldman b1fdf0bcb6
chore: nest test steps based on zones (#22108)
Fixes: #21423
2023-03-30 21:05:07 -07:00
Pavel Feldman eacaf5fc89
chore(ui): update expected state on test end (#22104)
Fixes https://github.com/microsoft/playwright/issues/22096
2023-03-30 16:17:34 -07:00
Dmitry Gozman 539d9873c2
feat: rename Locator.filter(locator) to Locator.and (#22101) 2023-03-30 14:41:30 -07:00
Sander 98051c7db2
fix(ct): solid type checking (#22102) 2023-03-30 12:31:39 -07:00
Dmitry Gozman e6148bb725
feat: Locator.not(locator) (#22066) 2023-03-30 08:52:30 -07:00
Playwright Service 9aaf2b028e
feat(chromium-tip-of-tree): roll to r1100 (#22095)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-30 16:13:03 +02:00
Playwright Service da3f2c042e
feat(chromium): roll to r1057 (#22093)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-30 15:36:15 +02:00
Debbie O'Brien 2c9d65b5ed
docs: change port to url (#22029) 2023-03-30 15:18:59 +02:00
Playwright Service 896a03e776
feat(webkit): roll to r1820 (#22083) 2023-03-30 10:03:16 +02:00
Playwright Service f96b24b2c5
feat(webkit): roll to r1819 (#22081)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-30 09:31:37 +02:00
Pavel Feldman 968abd27d5
chore: do not use attributes for trace target annotation (#22075)
Fixes: https://github.com/microsoft/playwright/issues/22004
2023-03-29 23:17:17 -07:00
Pavel Feldman a4f67c64e3
chore: allow ts decorators (#22080) 2023-03-29 20:43:08 -07:00
Dmitry Gozman 548e4a0c0f
fix(role): account for unslotted elements being hidden for aria (#22070)
When element is not assigned to any slot in the shadow root, it is not
rendered and is considered hidden for ARIA in all browsers.

In Chromium/Firefox we use `Element.checkVisibility` that already
handles this, but in WebKit we have to check it manually.

Fixes #21487.
2023-03-29 17:08:05 -07:00
Yury Semikhatsky 026e49b076
chore: add snippet to the error message (#21991) 2023-03-29 14:07:14 -07:00
Sander 8d6f7ad521
fix(ct): viteConfig commonjsOptions doesn't work (#22063) 2023-03-29 14:00:38 -07:00
Sander 2428ff8b8b
chore: bump vite to 4.2.1 (#22061) 2023-03-29 14:00:00 -07:00
Sander 9c0c5d6e2a
chore(ct): throw error when props are not json serializable (#22025) 2023-03-29 13:59:27 -07:00
Pavel Feldman 8b7dc2cf7a
test: add a ui teardown test (#22010) 2023-03-29 13:57:19 -07:00
Dmitry Gozman f7244a7e34
fix(tracing): allow disabling tracing through env (#22050)
We point `tracesDir` inside `test-results`, so it is removed between
test runs, while reused context is still writing there.
    To fix the issue, we can now pass `env.PW_TEST_REUSE_CONTEXT`.

References #21993.
2023-03-29 13:35:31 -07:00
Dmitry Gozman 6929214dbf
feat(expect): expect(locator).toBeAttached() (#22067)
Fixes #13467.
2023-03-29 11:09:17 -07:00
Andrey Lushnikov bb6b4425f7
fix: per-user cache folders (#22046)
Fixes https://github.com/microsoft/playwright/issues/21859
2023-03-29 10:49:52 -07:00
Playwright Service 4f4a63096e
feat(firefox): roll to r1392 (#22056)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-29 10:48:16 -07:00
Playwright Service d8f5a3f2ce
feat(firefox-beta): roll to r1394 (#22052)
References https://github.com/microsoft/playwright/issues/21760

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-03-29 10:47:31 -07:00
Playwright Service 7f1de6568c
feat(webkit): roll to r1818, freeze webkit version on macos 11 (#21996) 2023-03-28 17:34:39 -07:00
Dmitry Gozman 6a2b4ed142
fix(role): use <title> for elements inside svg (#22043)
Follows svg-aam mapping:
https://www.w3.org/TR/svg-aam-1.0/#mapping_additional_nd

Fixes #21486.
2023-03-28 15:52:16 -07:00
Playwright Service 1ba07bcd81
feat(chromium-tip-of-tree): roll to r1099 (#22024)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-29 00:34:55 +02:00
Dmitry Gozman 3b359e27b7
feat: BrowserContext.on('dialog') (#22033)
Dialogs created early during page initialization are only reported on
the context, with `page()` being `null`.
2023-03-28 13:15:55 -07:00
Nathan Power 02db6882ec
fix(ct): update regex to cater for minified JS files (#22017) 2023-03-28 11:15:11 -07:00
Sander bfea952eef
fix(ct): vue revert json object as prop (#22005) 2023-03-27 17:44:40 -07:00
Dmitry Gozman f502c72f2b
feat: browserContext.on('console') (#21943) 2023-03-27 16:35:05 -07:00
Dmitry Gozman 525097d465
feat: Locator.filter(locator) (#21975)
Produces a locator that matches both locators.
Implemented through `internal:and` selector.

Fixes #19551.
2023-03-27 14:29:30 -07:00
Dmitry Gozman 47e5c02a21
fix(test runner): update default testMatch (#22006)
The intent of default test match is allowing `example.spec.ts` and
`example.test.ts` files. However, it was also matching `test.example.ts`
that should not be considered a test by default.

Fixes #21979.
2023-03-27 14:28:44 -07:00
Sébastien Richert 591e4ea976
feat: Restrain sending http credentials on a specific origin (#20374)
For security purpose, we would like to restrain sending HTTP credentials
to only the specified server. The idea is to give the ability to specify
a origin (scheme://host:port) additionally to current pair
username/password. When an authorization response is received from
servers, the credentials are sent only if the server origin in the
request matches case insensitive the specified origin.
2023-03-27 08:52:00 -07:00
Pavel Feldman c3d7ffb773
chore(ui): do not print global setup epilogue (#21976) 2023-03-24 20:56:45 -07:00
Pavel Feldman add948cdd0
chore: allow sibling describes with the same name (#21967)
Fixes https://github.com/microsoft/playwright/issues/21953
2023-03-24 17:09:11 -07:00
Pavel Feldman 79d55b959b
Revert "chore: remove legacy watch mode (#21944)" (#21973)
This reverts commit 86af908fa7.
2023-03-24 16:41:20 -07:00
Dmitry Gozman 120aaa777e
fix(test runner): do not show TimeoutError for unhandled rejection (#21971)
Unhandled error/rejection interrupts current test and produces a
TimeoutError for it that should be ignored.
2023-03-24 15:03:49 -07:00
Playwright Service 60ebea1e80
feat(chromium): roll to r1056 (#21956)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-24 15:07:37 +01:00
Pavel Feldman 86af908fa7
chore: remove legacy watch mode (#21944) 2023-03-23 16:30:42 -07:00
Pavel Feldman 5ff8c5f782
chore: show global setup errors in ui mode (#21942)
Fixes: [21941](https://github.com/microsoft/playwright/issues/21941)
2023-03-23 15:46:24 -07:00
Yury Semikhatsky 900f9deb4f
chore: pass parent step id in tele reporter (#21934) 2023-03-23 15:15:58 -07:00
Pavel Feldman d4e0ef7f1a
chore: explicitly send route's requestUrl for tracing (#21940) 2023-03-23 14:57:03 -07:00
Pavel Feldman 31e70c17be
chore: filter skipped tests (#21938)
Fixes https://github.com/microsoft/playwright/issues/21918
2023-03-23 13:29:52 -07:00
Pavel Feldman 6b83631f24
chore: fix trace viewer backwards compat (#21935) 2023-03-23 12:49:53 -07:00
Pavel Feldman f5bd236c7b
chore: install global watch late (#21927) 2023-03-23 11:30:28 -07:00
Max Schmitt e621e52f89
chore: support TypeScript 5 in TS transformer (#21925)
Fixes https://github.com/microsoft/playwright/issues/21900
2023-03-23 18:07:02 +01:00
Playwright Service 667ee45c32
feat(chromium-tip-of-tree): roll to r1098 (#21924)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-23 17:01:56 +01:00
Andrey Lushnikov 3477c89f20
fix(trace-viewer): survive broken selectors (#21866)
Fixes https://github.com/microsoft/playwright/issues/21832
2023-03-22 18:52:04 -07:00
Dmitry Gozman d10fac4f6a
feat: Locator.or(locator) (#21884) 2023-03-22 15:28:59 -07:00
Alex Neo 6947f47f05
feat(html): added labels to test cases and test files (#21468) 2023-03-22 14:35:58 -07:00
Yury Semikhatsky a2a2b78cc8
chore: relative paths in telereporter (#21887) 2023-03-22 13:59:57 -07:00
Dmitry Gozman a01fd04d63
chore: remove hierarchy of SnapshotStorage (#21853) 2023-03-22 09:32:21 -07:00
Dmitry Gozman 295a8ec92b
chore(tracing): remove extra fs.access call (#21855) 2023-03-21 19:01:09 -07:00
Pavel Feldman d9a9bb5a8c
chore: pack codemirror on resize (#21856) 2023-03-21 18:20:48 -07:00
Playwright Service 45b675d7a0
feat(webkit): roll to r1816 (#21842)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-22 00:35:53 +01:00
Dmitry Gozman 80a37ec171
fix(socks): use happy-eyeballs to create a connection (#21847) 2023-03-21 14:12:24 -07:00
Dmitry Gozman 21e1c50bcd
fix(run-server): do not engage socks when not requested (#21848)
Fixes #21762.
2023-03-21 14:06:55 -07:00
Pavel Feldman 1cf53da82a
chore: lower the input name (#21850) 2023-03-21 13:48:59 -07:00
Yury Semikhatsky 1004e762aa
chore(fetch): host does not include port (#21845) 2023-03-21 13:14:50 -07:00
Pavel Feldman 1bbe2b4b6a
chore: update test locations when merging (#21844) 2023-03-21 12:13:20 -07:00
Pavel Feldman 7ce2b36489
chore(ui): show load errors (#21843) 2023-03-21 12:03:26 -07:00
Pavel Feldman 0bf406c8aa
chore: sort tracing actions by wall time (#21839) 2023-03-21 10:03:49 -07:00
Playwright Service 5cad7bbaab
feat(chromium-tip-of-tree): roll to r1097 (#21834)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-21 16:38:43 +01:00
Dmitry Gozman bea6fa15b2
feat(snapshots): use double-buffer to avoid white flash on hover (#21828) 2023-03-21 07:40:54 -07:00
Playwright Service 04fd5435db
feat(webkit): roll to r1814 (#21829)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-21 09:06:30 +01:00
Pavel Feldman 13acbbd0a7
chore(ui): use test backlog when chaining (#21830) 2023-03-20 21:25:55 -07:00
Pavel Feldman 48eea13259
chore: update margins to align (#21826) 2023-03-20 20:45:32 -07:00
Pavel Feldman 6015dad9db
chore: remove npx playwright ui (#21823) 2023-03-20 17:12:17 -07:00
Pavel Feldman a33cf10696
chore(ui): decorate pending, add time spent (#21821) 2023-03-20 17:12:02 -07:00
Playwright Service 2dee3c4fc7
feat(webkit): roll to r1813 (#21819)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-03-20 23:56:03 +01:00
Pavel Feldman 543c812d2f
chore(ui): queue watch runs (#21809) 2023-03-20 13:45:35 -07:00
Max Schmitt d641caeb6a
Revert "feat(typescript): allow declare for class properties (#21281)" (#21805)
This reverts commit a1ba6757e0.

https://github.com/microsoft/playwright/issues/21794
2023-03-20 16:37:20 +01:00
Pavel Feldman 001df3a495
chore(ui): follow up to watch, fix win (#21792) 2023-03-19 22:52:48 -07:00
Pavel Feldman 754e6edb95
chore: show folders in the tree (#21789) 2023-03-19 18:51:09 -07:00
Pavel Feldman 294baaeb44
chore: allow watching all tests (#21787) 2023-03-19 14:50:09 -07:00
Pavel Feldman f151c45c91
chore: do not pass chromium args when running carlo-alike apps (#21782) 2023-03-19 12:04:45 -07:00
Pavel Feldman 8a65cf9aac
chore(ui): ui polish / nits (#21781) 2023-03-19 12:04:19 -07:00
Pavel Feldman 0728d0f7fb
chore(ui): show test source before running (#21776) 2023-03-17 21:34:40 -07:00
Pavel Feldman 22e11a12ab
chore: show snapshots for sync assertions (#21775) 2023-03-17 20:20:35 -07:00
Andrey Lushnikov 32d33cb8d5
chore: cut 1.32 (#21773) 2023-03-17 19:36:43 -07:00
Pavel Feldman d806c98009
chore(ct): do not clash internals with userland (#21774) 2023-03-17 18:08:28 -07:00
Pavel Feldman 50dd04ae61
chore(ui): bump xterm scrollback (#21772) 2023-03-17 16:14:21 -07:00
Dmitry Gozman 2a2d6c25a4
feat(deps): inherit environment changes from dependencies (#21771) 2023-03-17 15:46:52 -07:00
Pavel Feldman 6efb383433
chore: fix and test ui mode stop (#21769) 2023-03-17 14:10:25 -07:00
Dmitry Gozman f484b833ae
docs: update getByLabel docs to mention aria attributes (#21765)
References #21624.
2023-03-17 12:48:07 -07:00
Yury Semikhatsky 95e7d3aabc
chore: hide store from public (#21763) 2023-03-17 11:50:44 -07:00
Dmitry Gozman 3a80d119e0
chore: update routeFromHAR options for release (#21764) 2023-03-17 11:49:45 -07:00
Pavel Feldman b0bda92f9e
chore(ui): store selected projects in settings (#21737) 2023-03-17 09:41:23 -07:00
Playwright Service 403a194ac7
feat(chromium-tip-of-tree): roll to r1096 (#21756)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-17 17:11:44 +01:00
Max Schmitt 4a0dec6807
chore: do not leak recorder event registrations (#21751) 2023-03-17 16:16:08 +01:00
Max Schmitt 53d341be01
test: do not pollute stderr with trace-viewer wsEndpoint (#21748) 2023-03-17 16:15:20 +01:00
Pavel Feldman e066ca0713
chore: use test project output dir when showing live trace (#21735) 2023-03-16 20:09:09 -07:00
Playwright Service eac910db82
feat(firefox): roll to r1391 (#21732)
Fixes https://github.com/microsoft/playwright/issues/21668

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-16 18:49:01 -07:00
Pavel Feldman ecd0f927f4
chore: make stacks rendering live in ui mode (#21728)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-03-16 18:17:07 -07:00
Dmitry Gozman f37f38e553
chore: decouple test groups from root suite as much as possible (#21731) 2023-03-16 17:11:15 -07:00
Pavel Feldman f47a8a677c
chore: verify chromium builds (#21730) 2023-03-16 16:56:25 -07:00
Dmitry Gozman 7879cf30f0
fix(reuse): serial mode with tracing should not throw (#21726)
Regressed in #19733.
Fixes #21113.
2023-03-16 14:32:12 -07:00
Dmitry Gozman 2074a51299
docs: fix details about WorkerInfo vs TestInfo availability (#21699)
Fixes #21695.
2023-03-16 12:36:34 -07:00
Playwright Service 03a0f479d2
feat(chromium): roll to r1055 (#21721)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-16 19:25:59 +01:00
Dmitry Gozman 2518bfa8d3
Revert "feat(tracing): throttle trace event writes (#21694)" (#21718)
This reverts commit 3f20602735.
2023-03-16 11:15:57 -07:00
Max Schmitt 3ceac4bf53
docs: drop duplicate JS code snippets from test-api (#21466)
https://github.com/microsoft/playwright/issues/21385
2023-03-16 19:01:15 +01:00
Pavel Feldman 1ffe01b027
chore: render errors from all actions inline the source (#21702) 2023-03-16 10:01:17 -07:00
Dmitry Gozman 3f20602735
feat(tracing): throttle trace event writes (#21694) 2023-03-16 07:04:05 -07:00
Dmitry Gozman ea85242941
chore: improve client-side options plumbing (#21697) 2023-03-16 07:03:33 -07:00
Pavel Feldman c45d8749b0
chore: split trace events into phases (#21696) 2023-03-15 22:33:40 -07:00
Dmitry Gozman 40a6eff8f2
feat: support name option in tracing.startChunk() (#21692) 2023-03-15 17:34:56 -07:00
Dmitry Gozman bde2e90973
fix(selector generator): do not produce has-text="foo"s (#21679)
There is no locator counterpart for it. Instead, produce a regex.

Also fix locator generator to not produce incorrect locator in this
case.

Fixes #21649.
2023-03-15 13:43:42 -07:00
Dmitry Gozman b149d132a6
chore(test runner): split loadAllTests into parts (#21674) 2023-03-15 13:40:58 -07:00
Pavel Feldman 99d8f6e7de
chore(ui): show live trace (#21677) 2023-03-15 11:17:03 -07:00
Dmitry Gozman 69a94ed044
docs: update default timeouts in js to be zero and mention config (#21675)
Fixes #19018.
2023-03-14 16:34:30 -07:00
Pavel Feldman 27048adebe
chore: introduce testInfo.testId (#21670) 2023-03-14 15:58:55 -07:00
Pavel Feldman 7666894d77
chore(ui): minor trace viewer improvements (#21672) 2023-03-14 15:24:48 -07:00
Dmitry Gozman 455e11c1d9
fix(shards): shard test groups instead of files (#21638)
Fixes #21497.
2023-03-14 10:41:37 -07:00
Max Schmitt a2c96494e0
chore: throw pretty error if rest parameters is used inside fixtures (#21659)
Fixes https://github.com/microsoft/playwright/issues/21566
2023-03-14 17:35:52 +01:00
Playwright Service 7965a8f0bc
feat(chromium-tip-of-tree): roll to r1094 (#21658)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-14 15:04:08 +01:00
Pavel ec10308c1b chore: follow up to ui-mode style change, fix image style 2023-03-13 22:22:52 -07:00
Pavel Feldman f5fa18a279
chore: reimplement filters (#21647) 2023-03-13 22:19:31 -07:00
Dmitry Gozman ccd5d7fd10
fix(hit target): workaround webkit elementsFromPoint bug (#21642)
Fixes #21596.
2023-03-13 19:33:56 -07:00
Dmitry Gozman c9837dfcc7
docs: add flakiness note to locator.all (#21645) 2023-03-13 19:33:36 -07:00
Dmitry Gozman 809725e114
fix(reuse): only reuse the default browser, not explicitly launched ones (#21631)
Fixes #20399.
2023-03-13 16:50:51 -07:00
Playwright Service 4e807f9824
feat(firefox): roll to r1390 (#21591) 2023-03-13 16:43:49 -07:00
Playwright Service e6d13f1f2c
feat(webkit): roll to r1811 (#21637)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-13 22:34:34 +01:00
Alex Neo 9c8d0822d6
fix(html-reporter): annotations.size rendered 0 on UI (#21635)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-03-13 21:23:17 +01:00
Dmitry Gozman 8e7ec88462
fix(electron): do not use loader for packaged apps (#21577)
References #21387, #21512.
2023-03-13 12:52:52 -07:00
Pavel Feldman 1d870ac407
chore(ui): start adding ui mode tests (2) (#21608) 2023-03-13 12:14:51 -07:00
Pavel Feldman a12e909a40
chore(ui): start adding ui mode tests (#21601) 2023-03-12 15:18:47 -07:00
Pavel Feldman 493171cb6b
chore: select files to watch explicitly (#21599) 2023-03-12 10:50:21 -07:00
Pavel Feldman 08a5922c4d
chore: select first failure (#21593) 2023-03-12 10:42:02 -07:00
Pavel Feldman b85d670491
chore(ui): show output on demand (#21592) 2023-03-11 11:43:33 -08:00
Pavel Feldman 428ea66578
chore: hide timeline bars and stack from ui mode (#21590) 2023-03-10 22:52:31 -08:00
Dmitry Gozman ea8aa63f1a
feat: support PWTEST_PROFILE_DIR in run-server (#21582)
This creates one profile per connection in the specified directory.
2023-03-10 19:07:40 -08:00
Andrey Lushnikov fa9edcbbc1
feat(firefox): roll Firefox to 1389 (#21584)
Fixes #20824
2023-03-10 17:43:59 -08:00
Pavel Feldman 0b9c037f36
chore(ui): do not add sources into the zip file (#21588) 2023-03-10 17:01:30 -08:00
Pavel Feldman 34efbea4c5
chore(ui): throttle tree updates (#21578) 2023-03-10 17:01:19 -08:00
Pavel Feldman e45a496850
chore(tv): render error in-line (#21586) 2023-03-10 16:22:19 -08:00
Dmitry Gozman 21950bc8ce
feat(html reporter): render multiple annotations of the same type together (#21580)
Multiple annotations are rendered as comma-separated lists. Fixes
#21253.

![IMAGE 2023-03-10
14:24:10](https://user-images.githubusercontent.com/9881434/224439435-3bf8e4f4-d874-4595-931d-ea5ff33ea374.jpg)
2023-03-10 15:26:02 -08:00
Dmitry Gozman 46f9fa005e
fix(tracing): do not double-zip entries in remote mode (#21579)
Fixes #21435.
2023-03-10 14:54:32 -08:00
Dmitry Gozman 6d27d2c029
fix(test runner): improved fixture teardown timeout error message (#21572)
The new message looks like this:

```
Test finished within timeout of 500ms, but tearing down "playwright configuration" ran out of time.
Please allow more time for the test, since teardown is attributed towards the test timeout budget.·
```

References #21259.
2023-03-10 13:45:47 -08:00
Pavel Feldman 1073e42686
chore: allow running failing (#21569) 2023-03-10 12:41:00 -08:00
Andrey Lushnikov e202091ca3
feat(firefox): roll Firefox to 1388 (#21570)
Fixes #21393
2023-03-10 10:20:56 -08:00
Andrey Lushnikov 870edd1aae
feat(firefox): roll Firefox to 1387 (#21542)
Fixes #21109
Fixes #21430
2023-03-10 09:25:54 -08:00
Dmitry Gozman 58a23bc7a0
fix(test runner): allow worker-only dynamic imports (#21545)
Fixes #21409.
2023-03-10 08:58:26 -08:00
Dmitry Gozman 0794cb1486
fix(fetch): preserve case in header names (#21543)
Fixes #21492.
2023-03-10 08:58:12 -08:00
Playwright Service dab61df451
feat(chromium): roll to r1054 (#21559)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-10 15:09:36 +01:00
Pavel Feldman c3b4820f1e
chore: animate the running progress (#21554)
https://github.com/microsoft/playwright/issues/21541
2023-03-09 21:45:57 -08:00
Pavel Feldman 0106a54e6e
chore: ui mode fixes (#21546)
For https://github.com/microsoft/playwright/issues/21541
2023-03-09 20:02:42 -08:00
Pavel Feldman e737ff83b4
chore: migrate to useRef take 2 (#21552) 2023-03-09 19:34:05 -08:00
Pavel a619ea4d68 Revert "chore: replace createRef with useRef in most of the places (#21536)"
This reverts commit 908c0462d5.
2023-03-09 16:46:31 -08:00
Pavel Feldman 908c0462d5
chore: replace createRef with useRef in most of the places (#21536) 2023-03-09 13:31:21 -08:00
Pavel Feldman e7b21425f7
chore: support both test --ui and ui clis (#21537) 2023-03-09 13:03:01 -08:00
Yury Semikhatsky c30d88a63a
test: setContent with disabled javascript (#21399)
Fixes https://github.com/microsoft/playwright/issues/21379
2023-03-09 10:45:19 -08:00
Pavel Feldman 47a71731f4
chore: add explicit command for gui runner (#21509) 2023-03-09 08:04:02 -08:00
Playwright Service 45a97bb4f7
feat(chromium-tip-of-tree): roll to r1093 (#21526)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-09 16:18:01 +01:00
Pavel Feldman 5ef2edb9f7
chore: support suites in the tree (#21508) 2023-03-08 19:50:32 -08:00
Pavel Feldman 72c41db668
chore: propagate status along the tree (#21507) 2023-03-08 18:24:45 -08:00
Pavel Feldman adc895d31f
chore: introduce tree control (#21505) 2023-03-08 17:33:27 -08:00
Pavel Feldman a2490a8fc8
chore(ui): maintain test order when updating (#21478) 2023-03-07 20:34:57 -08:00
Pavel Feldman f5894ed089
chore: open location in vscode (#21472) 2023-03-07 17:20:41 -08:00
Pavel Feldman de0b66c888
chore: allow opt out from watch (#21471) 2023-03-07 15:07:52 -08:00
Pavel Feldman e9f94f0346
chore: add ui mode terminal (#21470) 2023-03-07 14:24:50 -08:00
Pavel Feldman 9e7abb2a76
chore: rearrange settings (#21467) 2023-03-07 12:43:16 -08:00
Max Schmitt c9eac69f2b
fix(types): accept string in expect().toMatch() (#21454)
Fixes https://github.com/microsoft/playwright/issues/21453
2023-03-07 17:53:50 +01:00
Playwright Service 90d1f74dbf
feat(webkit): roll to r1808 (#21460)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-07 16:53:44 +01:00
Playwright Service 55df9e0029
feat(chromium-tip-of-tree): roll to r1092 (#21458)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-07 15:25:04 +01:00
Playwright Service 2b0a663dc2
feat(chromium): roll to r1053 (#21459)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-07 15:24:24 +01:00
Pavel Feldman 041d0ab0d6
chore: create trace model off steps for progress (#21448) 2023-03-06 22:35:57 -08:00
Pavel Feldman 9e477a183e
chore: various trace viewer ui fixes (#21447) 2023-03-06 21:37:39 -08:00
Pavel Feldman 65117702e7
chore: consistent xterm naming (#21446) 2023-03-06 20:39:52 -08:00
Pavel Feldman cffb6ac269
chore: move sever/isomorphic to utils/ to use it in client (#21445) 2023-03-06 18:49:14 -08:00
Pavel Feldman 04b35089be
chore: extract shared trace viewer components (#21433) 2023-03-06 12:25:00 -08:00
Pavel Feldman b6ff3bad98
chore: split code mirror and xterm modules (#21415) 2023-03-06 10:40:45 -08:00
Sander 99e736afc8
fix(ct): react17 primitive as slot (#21396) 2023-03-06 08:59:35 -08:00
Sander 872b8ddbdd
chore(ct): vue prop type of JsonObject (#21400) 2023-03-06 08:58:56 -08:00
Pavel Feldman 86ca7e3949
chore: introduce manual promise race (#21358)
Fixes https://github.com/microsoft/playwright/issues/21345
2023-03-06 08:50:03 -08:00
Pavel Feldman 47427e87ec
chore: do not use module.exports in the injected esm files (#21412)
Follow up to #17145
2023-03-05 20:01:35 -08:00
Pavel Feldman 5735752c65
chore: use xterm for test output in the ui mode (#21411) 2023-03-05 14:28:59 -08:00
Pavel Feldman bae9173208
chore: split ui mode toolbar into lines, show progress (#21403) 2023-03-05 13:46:21 -08:00
Pavel Feldman d8d410db6e
chore: implement project filter (#21402) 2023-03-04 19:39:55 -08:00
Pavel Feldman ec056a6312
chore: merge projects in the tree (#21401) 2023-03-04 16:28:30 -08:00
Pavel Feldman f0cd123a45
chore(ui): make ui-side drive things (#21398) 2023-03-04 15:05:41 -08:00
Yury Semikhatsky 0ebe090b8c
fix(har): do not hang on chunked response in har recorder (#21397)
Fixes #21182
2023-03-03 17:27:34 -08:00
Dmitry Gozman 0c5d46bb94
feat: allow chaining locators with Locator.locator(anotherLocator) (#21391) 2023-03-03 14:50:53 -08:00
Dmitry Gozman d904a6129f
chore: run check-deps for all packages (#21395) 2023-03-03 14:50:43 -08:00
Sebastian Silbermann fbaf56a13f
feat(ct-react): Support React 18 only (#19814)
BREAKING CHANGE: Drop support for React 17 and earlier
Support for React 17 an earlier is provided by
`@playwright/experimental-ct-react-17`

Closes #19923
2023-03-03 14:28:33 -08:00
Yury Semikhatsky be259dac7c
fix: expose window.safari in webkit (#21361)
The actual API of the object is not implemented because those who want
to test it will likely need their own mock and for the browser detection
logic (as described in the bug) just having the property on window
should be sufficient.

Fixes #21037
2023-03-03 13:38:13 -08:00
Playwright Service 0af8c0169e
feat(webkit): roll to r1807 (#21389) 2023-03-03 11:28:05 -08:00
Pavel Feldman fc91e6086b
chore: minor trace viewer ui fixes (#21368) 2023-03-03 09:17:40 -08:00
Pavel Feldman c17eea7a3c
chore: fix xpath-in-iframe (#21367)
Fixes https://github.com/microsoft/playwright/issues/21364
2023-03-03 09:13:25 -08:00
Dmitry Gozman eb3f8bfba8
fix(test runner): do not optimize filtering when sourcemap is present (#21359)
Fixes #21204.
2023-03-03 07:49:19 -08:00
Playwright Service 00c34a83ef
feat(chromium-tip-of-tree): roll to r1091 (#21356)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-03 13:38:32 +01:00
Max Schmitt 778f8e65d2
chore: do not cache between reused context (#20052)
Fixes https://github.com/microsoft/playwright/issues/19926
2023-03-03 12:37:44 +01:00
Dmitry Gozman 6769a311ed
feat(test runner): error out when one test file imports another (#21357)
This situation is not supported, and we can now detect it by looking at
collected file dependencies.

Fixes #21270.
2023-03-02 15:09:50 -08:00
Pavel Feldman 09ff7eaaf2
chore: throw on context.close() if it was closed externally (#21347) 2023-03-02 13:46:54 -08:00
Pavel Feldman 57624bc01b
chore: ui mode ui improvements (#21325) 2023-03-02 13:45:15 -08:00
Sander 2cbde9b8ef
chore(ct): vue2 import h from vue (#21035) 2023-03-02 13:43:08 -08:00
Sander d58d833daf
fix(ct): solid and react JS as child (#20125) 2023-03-02 13:40:51 -08:00
Dmitry Gozman 0b300f455c
fix(test runner): empty dependency should not skip other projects (#21354)
References #21270.
2023-03-02 13:32:23 -08:00
Playwright Service b7dd226edd
feat(chromium): roll to r1052 (#21353)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-02 22:07:20 +01:00
Playwright Service 0ce5651975
feat(webkit): roll to r1805 (#21349)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-02 22:07:05 +01:00
Max Schmitt e1e69cbbcc
fix(cli): pdf/screenshot did not save artifacts (#21352)
As of today we support CLI argument wise `--save-storage` and
`--save-har` in pdf/screenshot CLI command. But they are not working,
since we just close the browser rather than the context where we take
care of saving the artifacts.

`launchContext` has 4 usages:

- open/codegen there closing the browser / `SIGINT` will close it
gracefully
- pdf/screenshot there we will now close the page which will then
[here](b00579edb7/packages/playwright-core/src/cli/cli.ts?q=cli.ts#L503)
close the browser.

I did not find any tests except the [installation
test](3e84ab4701/tests/installation/playwright-cli-screenshot-should-work.spec.ts),
I'm happy to add one for both command if requested.

Fixes https://github.com/microsoft/playwright/issues/20718
2023-03-02 22:05:39 +01:00
Yury Semikhatsky b00579edb7
fix(trace): do not show duration tooltip for events (#21342)
Fixes https://github.com/microsoft/playwright/issues/21255
2023-03-02 11:31:10 -08:00
Andrey Lushnikov bfc895787f
fix(firefox): fix reload with hash URLs (#21322)
Fixes #21145
2023-03-01 18:56:30 -08:00
Pavel Feldman e64d0ae556
chore: update trace every time it is loaded (#21323) 2023-03-01 17:42:50 -08:00
Yury Semikhatsky 3b800344b0
fix(oopif): get response body from adopting frame (#21324)
Fixes https://github.com/microsoft/playwright/issues/20809
2023-03-01 17:18:58 -08:00
Dmitry Gozman a1ba6757e0
feat(typescript): allow declare for class properties (#21281)
This enables `allowDeclareFields` flag that allows code like:

```ts
class Foo {
  declare prop: string;
}
```

Declaring is a workaround for inheritance vs property initialization
issues.
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#the-usedefineforclassfields-flag-and-the-declare-property-modifier

For `allowDeclareFields` to work, we have to run
plugin-transform-typescript before plugin-proposal-class-properties and
few others, so this change migrates from preset-typescript that always
runs last to individual plugin-transform-typescript, and reorders some
plugins.

References #21119.
2023-03-01 16:43:17 -08:00
Max Schmitt 6a7347f134
chore: have pretty error if CT config has no defineConfig (#21318)
Fixes https://github.com/microsoft/playwright/issues/21312
2023-03-02 00:47:05 +01:00
Dmitry Gozman d9b0c58b96
fix(trace viewer): force https requests from https snapshots (#21317)
Set 'Content-Security-Policy: upgrade-insecure-requests' header for
snapshots to force all `http` subresources into `https` and avoid
blocked resources because of mixed-content.

References #21263.
2023-03-01 15:32:39 -08:00
Pavel Feldman e222874445
chore: ui mode first cut (#21291) 2023-03-01 15:27:23 -08:00
Pavel Feldman c42a1205b1
chore: do not generate history entries on snapshot switch (#21283) 2023-03-01 13:44:58 -08:00
Pavel Feldman 2cbafd7adf
chore: mark waitForNavigation as deprecated consistently (#21309) 2023-03-01 12:40:50 -08:00
Pavel Feldman 54dfe5378d
chore: point to pwt cli, a direct dependency (#21311) 2023-03-01 12:17:43 -08:00
Yury Semikhatsky 60e5a93832
fix(store): support text and binary values (#21006) 2023-03-01 08:49:31 -08:00
Playwright Service d12d35f124
feat(firefox): roll to r1384 (#21271)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-01 10:25:43 +01:00
Playwright Service c7df9e6bcb
feat(firefox-beta): roll to r1386 (#21276)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-03-01 00:40:22 -08:00
Dmitry Gozman b343d453bc
fix(trace viewer): allow http/https mismatch when deployed as https (#21289)
References #21263.
2023-02-28 17:08:46 -08:00
Pavel Feldman 933332ad97
chore: fix trace modernizer (#21286) 2023-02-28 16:49:14 -08:00
Pavel Feldman de3a5e2a91
chore(trace): include expect steps in a trace (#21199) 2023-02-28 13:26:23 -08:00
Dmitry Gozman 27027658dc
chore: fix all Proxy() to account for symbol properties (#21272)
Fixes #20940.
2023-02-28 12:45:14 -08:00
Playwright Service 274939eaf8
feat(chromium-tip-of-tree): roll to r1090 (#21257)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-28 14:08:41 +01:00
Playwright Service c5c6d7afad
feat(firefox-beta): roll to r1385 (#21258)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-28 14:05:31 +01:00
Playwright Service f11febd232
feat(firefox): roll to r1383 (#21254)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-28 14:05:21 +01:00
Playwright Service daf914b398
feat(webkit): roll to r1803 (#21241)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-28 08:53:08 +01:00
Pavel Feldman 81bd637d94
chore: merge traces into a single zip file (#21242) 2023-02-27 22:31:47 -08:00
Yury Semikhatsky cfdddcf9ba
fix(runner): finish dispatching if remaining tests were skipped (#21238)
Fixes #21226
2023-02-27 17:20:30 -08:00
Pavel Feldman 22d82b6e1b
chore: flatten metadata in trace events (#21214) 2023-02-27 15:29:20 -08:00
NoamGaash e17e0e40f8
feat(routeFromHAR): add arguments (#21223) 2023-02-27 15:27:38 -08:00
Tarnay Kálmán e28801f6ef
fix(snapshot): render srcdoc iframe snapshots (#21003) 2023-02-27 13:34:39 -08:00
Joel Einbinder eba86fcc53
fix(doc): electron evaluate evaluates in electron not worker (#20892) 2023-02-27 12:49:25 -08:00
Leo Sklyut 6c3d35fa58
fix(junit): use the JUnit schema's specified ISO format for timestamp (#21062)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-02-27 11:04:22 +01:00
Pavel Feldman 4d91248c1e
chore: simplify the trace collection fixtures (#21203) 2023-02-25 21:21:09 -08:00
Playwright Service 4b8f36dbed
feat(webkit): roll to r1802 (#21201)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-25 14:14:29 +01:00
Pavel Feldman 09f77c41dd
chore: migrate to protocol's StackFrame type (#21198) 2023-02-24 18:36:15 -08:00
Pavel Feldman ed41fd0643
chore: use listview to render stack trace (#21197) 2023-02-24 15:31:10 -08:00
Pavel Feldman 3fa19e80ad
chore: wrap expect call in a zone (#21191) 2023-02-24 12:17:03 -08:00
Playwright Service f585d75be7
feat(chromium): roll to r1051 (#21189)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-24 17:34:14 +01:00
Playwright Service 5affd333a7
feat(webkit): roll to r1801 (#21183)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-02-24 15:34:37 +01:00
Gonçalo Basto 7c6630b1a2
docs: add custom reporter options documentation (#21144) 2023-02-24 12:29:08 +01:00
Mateusz Burzyński 03da0609ba
chore: properly use primitive type over wrapper (#21178) 2023-02-24 11:50:06 +01:00
Playwright Service a031cec159
feat(chromium-tip-of-tree): roll to r1089 (#21153) 2023-02-24 07:00:21 +01:00
Pavel Feldman d3e4fc6343
fix(trace): update snapshot on keyboard selection (#21169) 2023-02-23 14:40:07 -08:00
Pavel Feldman 8ccc02a9d3
chore: use client wall time in traces (#21163) 2023-02-23 14:37:53 -08:00
Max Schmitt f3a46f7405
feat(html): render annotations as links if needed (#21165)
Fixes https://github.com/microsoft/playwright/issues/20584
2023-02-23 21:57:02 +01:00
Pavel Feldman 7626267ec5
fix(trace): do not access null content window (#21166) 2023-02-23 11:57:15 -08:00
Pavel Feldman b61036d22a
chore(trace): dedupe filenames, not stack frames (#21160) 2023-02-23 09:10:09 -08:00
Pavel Feldman 0e93f1d511
chore(trace): render error background (#21135) 2023-02-23 09:09:21 -08:00
Playwright Service 46d70266db
feat(firefox): roll to r1382 (#21156)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-23 07:38:40 -08:00
Playwright Service eccf022cea
feat(firefox-beta): roll to r1384 (#21149)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-23 07:36:38 -08:00
Dmitry Gozman 2718123d30
fix(snapshots): define dummy custom elements (#21131)
For all custom elements defined in the page, we preserve their names and
define them in the rendered snapshot.
This makes things like `:defined` css pseudo work.

Fixes #21030.
2023-02-22 21:53:27 -08:00
Pavel Feldman 55c95a4463
chore: do not send stacks as a part of the call metainfo (#21089) 2023-02-22 21:08:47 -08:00
Playwright Service c8f63c04cc
feat(chromium): roll to r1050 (#21118)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-22 19:17:55 -08:00
Playwright Service 2880198ef4
feat(firefox-beta): roll to r1382 (#21125)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-22 19:16:07 -08:00
Playwright Service e437d74589
feat(firefox): roll to r1380 (#21121)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-22 19:15:45 -08:00
Yury Semikhatsky d6dae8ea1f
fix: eval serialization w/ overridden URL/RegExp/Date (#21112)
Fixes #21109
2023-02-22 15:45:42 -08:00
Nowell Strite 000583e048
fix(loader): experimentalLoader with node@18 (#21106)
There is currently a bug when running `node@18.14.2` when running with
experimentalLoader

```
TypeError: The URL must be of scheme file
  at new NodeError (node:internal/errors:399:5)
  at Object.fileURLToPath (node:internal/url:1492:11)
  at resolve (./node_modules/@playwright/test/lib/experimentalLoader.js:39:48)
  at nextResolve (node:internal/modules/esm/loader:163:22)
  at ESMLoader.resolve (node:internal/modules/esm/loader:838:24)
  at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:7)
  at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:79:21)
```

This came from my test `vrt.spec.ts` which had a non package import
inside of it

```ts
import fs from "node:fs/promises"
```

The test run failed due to node imports not returning fileUrls when
resolved.

---------

Co-authored-by: Nowell Strite <nstrite@nvidia.com>
2023-02-22 14:28:03 -08:00
Playwright Service 1dfc4c769d
feat(firefox): roll to r1379 (#21080)
Fixes #20259

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-02-22 09:52:35 -08:00
Max Schmitt ae369144b6
chore: consolidate http/https fetching (#21104)
Fixes https://github.com/microsoft/playwright/issues/20784
Supersedes https://github.com/microsoft/playwright/pull/21076
2023-02-22 17:09:56 +01:00
Pavel Feldman b07637a316
chore: roll chromium back to 1047 (#21092) 2023-02-22 00:08:54 -08:00
Pavel Feldman 3f8f2a0fdd
chore: do not use library stack capturer in test runner (#21075) 2023-02-21 19:24:17 -08:00
Max Schmitt 1432c406ad
docs: fix toMatch code snippet typo (#21077)
Fixes https://github.com/microsoft/playwright/issues/21014
2023-02-22 00:38:30 +01:00
Pavel Feldman 06fc72b6ed
revert(#12706): also fix related bugs it introduced (#21070) 2023-02-21 14:15:11 -08:00
Dmitry Gozman c69a7424b4
chore: split off FrameSelectors helper class (#21042)
This class manages everything related to querying selector for the
frame.
2023-02-21 14:08:51 -08:00
Andrey Lushnikov ce692830b3
fix: filter out comments inside fixture destructuring (#20989)
Fixes #20944
2023-02-21 12:51:40 -08:00
Playwright Service 44eccc0add
feat(chromium): roll to r1049 (#21065)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-21 19:10:00 +01:00
Playwright Service 41904b2f03
feat(chromium-tip-of-tree): roll to r1088 (#21066)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-21 19:09:38 +01:00
Playwright Service cda830645d
feat(webkit): roll to r1799 (#21045) 2023-02-21 08:18:22 +01:00
Playwright Service b3c4750547
feat(webkit): roll to r1798 (#20975)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-20 12:36:01 +01:00
Playwright Service 37323f4e46
feat(chromium-tip-of-tree): roll to r1087 (#20950)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-20 12:34:31 +01:00
Dmitry Gozman 24c8d45c70
chore: enable tsc for ttest sources (#21018) 2023-02-19 11:18:07 -08:00
Dmitry Gozman ae05808f4b
chore: align js routing logic with other langs (#21010)
Mostly reverts #20353. This makes porting easier.
2023-02-18 11:41:24 -08:00
Pavel Feldman a22eaf8672
chore: disable navigating off trace snapshot on hrefs (#21005) 2023-02-17 18:13:45 -08:00
Pavel Feldman 55694a7bc4
chore: translate inspect mode controller to component (#21002) 2023-02-17 17:25:47 -08:00
Dmitry Gozman 55f4b670a9
fix(test runner types): allow sync step functions (#20996) 2023-02-17 14:26:40 -08:00
Andrey Lushnikov 1b441ef4f0
fix: stricter condition for Firefox codegen tests workaround (#20998)
This patch fixes the following tests on WebKit @ Darwin:
- library/inspector/cli-codegen-2.spec.ts:197:7 › cli codegen › should
download files
- library/inspector/cli-codegen-2.spec.ts:428:7 › cli codegen › should
update hover model on action
2023-02-17 12:19:46 -08:00
Pavel Feldman d7a0b3bb4e
chore: implement pick locator in trace viewer (#20965)
Fixes https://github.com/microsoft/playwright/issues/7853
2023-02-17 11:19:53 -08:00
Pavel Feldman 41d7d432c8
chore: fix cli executable bits (#20973) 2023-02-16 19:49:44 -08:00
Yury Semikhatsky 09be9d6425
feat: key value store backed by filesystem (#20932)
Keys are used as a relative file path without any sanitization assuming
that the underlying fs will throw on error.
2023-02-16 16:48:28 -08:00
Dmitry Gozman 0b7f9055a3
chore: fix docs for python and java (#20962) 2023-02-16 11:48:38 -08:00
Andrey Lushnikov 1db04f2839
fix: simplify protocol for toBeInViewport (#20960) 2023-02-16 11:02:19 -08:00
Dmitry Gozman ffc2477a00
chore: 1.31 release notes for js (#20933) 2023-02-16 09:35:01 -08:00
Pavel Feldman c9cc8478b3
chore: minor trace viewer UI tweaks (#20937) 2023-02-16 07:59:21 -08:00
Pavel Feldman 96050a260e
chore(junit): render project as an agent name / hostname (#20927) 2023-02-16 07:59:05 -08:00
Dmitry Gozman e77e2d8c7f
chore: mark 1.32.0-next (#20929) 2023-02-15 16:15:42 -08:00
Yury Semikhatsky 90c4e6f9b2
chore: revert sharded html report (#20923)
We've decided not to ship it in the current form.

#10437
2023-02-15 12:38:03 -08:00
Andrey Lushnikov 4feb7c9e3b
fix: best-effort support for KDE Neon (#20920)
This is a yet-another linux distribution based on Ubuntu.

Fixes #20838
2023-02-15 09:13:14 -08:00
Andrey Lushnikov 5f9e2f3db9
chore: fix inspector cli firefox tests flakiness (#20919) 2023-02-15 09:12:37 -08:00
Pavel Feldman 08be39a80e
fix(watch): fix the tests on win (#20844) 2023-02-14 14:55:49 -08:00
Playwright Service 550fefaa6f
feat(firefox-beta): roll to r1380 (#20894)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-14 14:17:47 -08:00
Playwright Service 6546f1d082
feat(firefox): roll to r1378 (#20891)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-14 14:16:38 -08:00
Pavel Feldman 7f0763d789
chore: hide watch mode, it is not ready (#20905) 2023-02-14 13:22:44 -08:00
Pavel Feldman 798696a18a
chore: fix context reuse disposal (#20876)
Fixes: https://github.com/microsoft/playwright/issues/20409
2023-02-14 12:56:47 -08:00
Andrey Lushnikov 72942e81d5
chore: fixes to toBeInViewport (#20870) 2023-02-13 15:21:40 -08:00
Andrey Lushnikov 94b859f471
feat: roll Firefox and Firefox Beta (#20878)
Fixes #20791
2023-02-13 15:21:05 -08:00
Sander ec17a1ac75
chore(ct): bump packages (#20724) 2023-02-13 13:19:59 -08:00
Andrey Lushnikov 3a685ecae4
fix: hide highlight in recorder before toHaveScreenshot command (#20874)
Fixes #20866
2023-02-13 13:15:55 -08:00
Dmitry Gozman 6d03211439
fix(test runner): --list should ignore '.only' annotations (#20868) 2023-02-13 11:13:30 -08:00
Andrey Lushnikov fdcd7b549d
chore: mark comparator option back as experimental (#20816)
This reverts commit 303c5998f8.

Reason for revert: I tried enabling `ssim-cie94` by default on
ionic-framework test suite, and it proves to be overly strict for their
usecase.
2023-02-13 11:11:44 -08:00
Joel Einbinder 997dfa9274
fix(reporter): properly indent multiline attachments (#20847)
Text attachments were only indented on the first line.
2023-02-13 10:28:34 -08:00
Pavel Feldman e9ca483666
chore: dim watch separator (#20836) 2023-02-12 10:00:40 -08:00
Dmitry Gozman 6b69d23f44
fix(actions): ignore indeterminate for isChecked api (#20834)
Fixes #20190.
2023-02-10 18:56:45 -08:00
Dmitry Gozman 789b1c75e6
fix(expect): report received when timedOut during oneShot (#20806) 2023-02-10 14:59:21 -08:00
Dmitry Gozman 8a1612ceec
fix(reporters): preserve the order between deferred errors and stdio (#20830) 2023-02-10 14:58:44 -08:00
Pavel Feldman 1ba768bf60
chore: make watch + ct happy (#20804) 2023-02-10 08:33:25 -08:00
Playwright Service e03f0ea309
feat(chromium): roll to r1048 (#20815)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-10 17:27:55 +01:00
Andrey Lushnikov 68e170ef89
feat: implement expect(locator).toBeInViewport() (#20668)
The method accepts a `ratio` option to assert the ratio
of the element in viewport. `ratio` defaults to `Number.MIN_VALUE`.

NOTE: this reverts commit d950f5b6ee and
adds `ratio` option support + does the rename.

Fixes #8740
2023-02-10 04:33:22 -08:00
Dmitry Gozman 778dd20403
chore(docs): beautify generated types, put options always last (#20805) 2023-02-09 20:46:33 -08:00
Dmitry Gozman ab4cd83e44
chore: move testInfo and timeoutManager to worker/ (#20803) 2023-02-09 19:22:17 -08:00
Pavel Feldman 4469e57695
chore: always grow component bundle (#20799)
Fixes https://github.com/microsoft/playwright/issues/20581
2023-02-09 18:39:20 -08:00
Pavel Feldman e1f287f255
chore: more watch tests (#20797) 2023-02-09 16:03:54 -08:00
Dmitry Gozman 8002baf44f
chore: move option overrides logic to FixturePool (#20795) 2023-02-09 14:50:40 -08:00
Andrey Lushnikov bcb2d67c5d
chore: remove experimental dockerfile.remote (#20790)
We didn't find a compelling-enough use case to release this.
2023-02-09 12:18:02 -08:00
Dmitry Gozman 4d37491e9b
chore: split FixtureRunner from fixtures (#20787)
It is only used in worker process.
2023-02-09 11:31:54 -08:00
Sander 4a3d79f291
chore(ct): improve internal hook types (#20722) 2023-02-09 08:58:15 -08:00
Max Schmitt 86fa74396f
chore: add missing bin entry for CT packages (#20669)
https://github.com/microsoft/playwright/issues/20639

PNPM does not include nested dependencies into its .bin directory. See
here: https://github.com/pnpm/pnpm/issues/96
2023-02-09 17:50:50 +01:00
Pavel Feldman 5112abc1d2
chore: fix a racy time-based test (#20783) 2023-02-09 08:49:51 -08:00
Dmitry Gozman 190c121e66
chore: bundle chokidar, leave fsevents as an optional dependency (#20762) 2023-02-09 08:40:27 -08:00
Pavel Feldman b247bfe153
test(watch): start adding tests (#20764) 2023-02-09 08:31:02 -08:00
Playwright Service 3be6772fa5
feat(chromium-tip-of-tree): roll to r1085 (#20782)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-09 17:06:39 +01:00
Pavel Feldman 6b0a7003c4
chore(watch): run by default again (#20763) 2023-02-08 18:53:07 -08:00
Pavel Feldman 027d6b5239
chore: set filters and run tests separately (#20759) 2023-02-08 14:30:53 -08:00
Dmitry Gozman 6e5964cccd
fix(connect): respect launch options when turning into connect (#20757) 2023-02-08 13:06:05 -08:00
Pavel Feldman 7a093329fa
chore: do not run all on watch (#20758) 2023-02-08 12:44:51 -08:00
Dmitry Gozman 98e2fe184e
chore(docs): sort members instead of validating (#20755) 2023-02-08 09:59:31 -08:00
Pavel Feldman 0678b6575f
chore(watch): allow toggling browser (#20738) 2023-02-08 08:36:02 -08:00
Yury Semikhatsky a93cf767a1
feat: html reporter sharded option (#20737)
Make sharded report feature an opt-in:

```ts
{
   reporter: [['html', { sharded: true }]]
};
```

#10437
2023-02-07 22:21:50 -08:00
Dmitry Gozman edfff8cd8c
test: run more tests in 'service' mode (#20734) 2023-02-07 18:25:33 -08:00
Max Schmitt 161f3f144a
fix(html-reporter): do not show empty project name (#20735) 2023-02-08 01:07:25 +01:00
Pavel Feldman 4259d4e1d6
chore: implement repeat last run (#20727) 2023-02-07 15:56:39 -08:00
Dmitry Gozman 2d3e4027e7
fix(chromium): do not pre-populate non-preflight OPTIONS requests (#20684)
Fixes #20469.
2023-02-07 15:10:44 -08:00
Dmitry Gozman fbccc8ef64
fix(role): closed <details> are considered hidden (#20726)
Fixes #20610.
2023-02-07 15:10:18 -08:00
Yury Semikhatsky f10b29fd5e
feat: show warning when some report shards are missing (#20731)
When some of the report shards are missing still show the report but
display an error in the status line:

![image](https://user-images.githubusercontent.com/9798949/217371112-2317a307-204e-4c11-8d01-42e91fe6ca7a.png)

#10437
2023-02-07 14:22:10 -08:00
Dmitry Gozman bc74383480
test: remove service2 mode and experimental-grid (#20730) 2023-02-07 14:19:37 -08:00
Pavel Feldman 96f0674e41
chore: calcular pool digests on the loader process side (#20728) 2023-02-07 14:08:17 -08:00
Andrey Lushnikov b67cef2c4d
feat: introduce Dockerfile.remote image (#20691)
When this image is launched, it exposes a single endpoint
that can be used to connect to and to launch browsers.
2023-02-07 10:50:44 -08:00
Yury Semikhatsky 8f53bf7b41
feat: sharded html report (#20700)
This implementation is based on the [original
PR](https://github.com/microsoft/playwright/pull/19691) by @kevin940726.
It makes the reporter produce single file when there is no sharding and
multiple out-of-line report-x-of-y.zip reports which are automatically
merged together when put in one folder.

References https://github.com/microsoft/playwright/issues/10437

Co-authored-by: Kai Hao <kevin830726@gmail.com>
2023-02-07 10:21:26 -08:00
Pavel Feldman 98e348d16a
chore(watch): print current filters (#20696) 2023-02-07 09:48:46 -08:00
Andrey Lushnikov 303c5998f8
feat: release "comparator" option from experiment (#20720)
The option defines a comparator to be used to compare images.
Possible values are `"pixelmatch"` and `"ssim-cie94"`.

Note: This reverts commit 8167f8bf54.
2023-02-07 08:51:48 -08:00
Playwright Service 740bd228aa
feat(chromium-tip-of-tree): roll to r1084 (#20712)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-07 14:20:15 +01:00
Andrey Lushnikov d3c5430080
fix: reset SNAP* env variables when launching Firefox (#20692)
Our builds never come from Snap, so Playwright's Firefox should
never consider that it's been installed via SNAP.

Fixes #20555

---------

Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-02-07 01:41:12 -08:00
Playwright Service 439d3cefcf
feat(webkit): roll to r1792 (#20694)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-07 09:03:09 +01:00
Pavel Feldman 361ea949aa
chore: respect deps when watching files (#20695) 2023-02-06 17:09:16 -08:00
Pavel Feldman 430d08f4fb
chore: watch mode first cut (#20647) 2023-02-06 15:52:14 -08:00
Pavel Feldman b6df48758d
chore: collect test dependencies (#20645) 2023-02-06 14:52:40 -08:00
Dmitry Gozman 33a05446d2
fix(expect): update docs to point to GenericAssertions instead of expect library (#20688)
Closes #20432.
2023-02-06 14:51:24 -08:00
Andrey Lushnikov 1120b82ba2
feat(firefox): roll Firefox & Firefox Beta (#20670)
Fixes #19685 
Fixes #20093
2023-02-06 14:08:32 -08:00
Yury Semikhatsky 86dd29a15e
docs: custom selectors registration (#20687)
https://github.com/microsoft/playwright/issues/20424
2023-02-06 13:32:00 -08:00
Andrey Lushnikov 0a752f3fd6
chore(docker): remove experimental docker integration (#20676)
This removes everything related to docker integration experiments that
we conducted over the last 6 months.

I'll send a follow-up with an alternative suggestion that was demo'ed on
a team meeting in the end of December.
2023-02-06 10:50:45 -08:00
Playwright Service 73b07610c3
feat(webkit): roll to r1791 (#20630) 2023-02-04 10:33:48 -08:00
Dmitry Gozman e64c623e61
feat(expect): strip down Expect types (#20601)
This only leaves:
- documented assertions;
- asymmetric matchers;
- `resolves`/`rejects`;
- `expect.extend()`;
- `expect.getState()` with selected properties.

References #20432.
2023-02-03 15:56:31 -08:00
Sam Chen 340cacf4fd
feat: show diff tab by default (#19820)
Close https://github.com/microsoft/playwright/issues/19803

I had to manually inject `window.playwrightReportBase64` data into
`playwright/packages/html-reporter/index.html` when developing,
wondering if there's any method I don't know.
2023-02-03 10:32:23 -08:00
Andrey Lushnikov 9c6a1a6ff0
fix: make sure screenshots work when main page context is tampered (#20615)
This patch has 2 fixes:
- screenshot code was accidentally using main page context to fetch
  page layout metrics instead of a utility context
- Avoid usage of `self.eval` inside utility context since it escapes
Firefox sandbox. This turns out to be an upstream bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1814898

Fixes #20434
2023-02-03 10:01:23 -08:00
Andrey Lushnikov f45f20a8c9
fix: handle not.toPass() with expect.soft inside (#20596)
Fixes #20518
2023-02-03 09:14:05 -08:00
Pavel Feldman ffb719385b
chore: fix oop loading, prepare to watch (#20618) 2023-02-03 09:11:02 -08:00
Pavel Feldman b0b9b08167
chore: fix plugin reporting, rearrange steps (#20616) 2023-02-03 08:44:01 -08:00
Pavel Feldman 8b5e55d432
chore: implement compilation cache (#20597) 2023-02-02 16:46:54 -08:00
Dmitry Gozman 3180bc9804
fix(types): make most fixtures non-undefined (#20573)
Fixes #20416.
2023-02-02 13:11:50 -08:00
Andrey Lushnikov 4f61105032
fix: swallow expect.soft errors inside successful toPass matcher (#20509)
Fixes #20437
2023-02-02 10:47:20 -08:00
Playwright Service 3e4d22d04a
feat(webkit): roll to r1790 (#20585) 2023-02-02 08:38:05 -08:00
Dmitry Gozman 190b0ab609
fix(options): do not default navigationTimeout to actionTimeout (#20578)
Fixes #20549.
2023-02-02 07:36:16 -08:00
Playwright Service f56d29709e
feat(firefox-beta): roll to r1377 (#20516)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-02-02 07:14:18 -08:00
Playwright Service c922b5e7de
feat(chromium-tip-of-tree): roll to r1083 (#20591)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-02 15:33:22 +01:00
Dmitry Gozman 5fb430a743
fix(test runner): do not print timeout message upon interrupt (#20574)
We should only print "Test was interrupted."

Regressed in #18321.
2023-02-01 19:39:43 -08:00
Dmitry Gozman f46883e58e
feat(expect): add GenericAssertions documentation (#20564)
References #20432.
2023-02-01 16:55:52 -08:00
Dmitry Gozman 6f699cd346
docs: clarify headers propagation to redirects (#20572)
References #20501.
2023-02-01 16:55:03 -08:00
Pavel Feldman 421dd884a7
chore: implement --no-deps (#20569) 2023-02-01 16:32:13 -08:00
Pavel Feldman cb9ace6035
chore(test): move run options into config (#20568) 2023-02-01 15:25:26 -08:00
Dmitry Gozman 6ad4687f4d
feat(route): add maxRedirects option to Route.fetch (#20567)
References #20501.
2023-02-01 14:43:21 -08:00
Max Schmitt 0edf77fe91
chore: bump json5 dependency (#20560)
Fixes https://github.com/microsoft/playwright/pull/20309
2023-02-01 22:50:50 +01:00
Pavel Feldman a1cdd939f8
chore: load tests file by file (#20557) 2023-02-01 12:33:42 -08:00
Pavel Feldman 635b47025e
chore: expose project dependencies api (#20546) 2023-02-01 08:39:07 -08:00
Playwright Service 59d02e43d9
feat(webkit): roll to r1788 (#20547)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-01 11:39:26 +01:00
Pavel Feldman 08e4b50ff6
chore: project deps (#20514) 2023-01-31 15:59:13 -08:00
Dmitry Gozman 9c6c31a442
fix(types): update PlaywrightTestConfig types (#20540)
This makes errors more focused on the custom properties.

References #20416.
2023-01-31 15:02:01 -08:00
Playwright Service 48ac5b6fad
feat(chromium-tip-of-tree): roll to r1082 (#20526)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-31 15:52:51 +01:00
Dmitry Gozman b39079b51e
feat(trace viewer): popout snapshot in a new tab (#20475) 2023-01-30 19:07:52 -08:00
Yury Semikhatsky a03f3223c4
fix: trim long expect messages (#20517)
Fixes #20324
2023-01-30 17:24:12 -08:00
Pavel Feldman 0dd090aeab
chore: prepare to deps (#20513) 2023-01-30 14:34:48 -08:00
Dmitry Gozman 99353038f0
fix(trace-viewer): center snapshot iframe (#20512) 2023-01-30 14:32:45 -08:00
Dmitry Gozman c27ad35299
fix(locators): properly escape slash inside attributes (#20510)
Fixes #20471.
2023-01-30 13:27:41 -08:00
Playwright Service a1c264c476
feat(firefox): roll to r1375 (#20507)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-30 12:21:35 -08:00
Yury Semikhatsky cffe7b65e3
fix: do not hang on submitting target=_blank form (#20458)
Fixes #18392
2023-01-30 11:13:56 -08:00
Playwright Service e6f83f5b94
feat(webkit): roll to r1785 (#20504)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-30 19:11:08 +01:00
Max Schmitt 92eb8e5090
chore: make connectOverCDP work with localhost (#20396)
This wraps happy eyeballs in two places, the place where we make the
JSON request to Chromium and the actual CDP WebSocket request.

It required changes inside our happy eyeballs implementation since the
[websocket library does not
set](https://github.com/websockets/ws/blob/master/lib/websocket.js#L714)
the `clientRequestOptions.hostname` field, it just sets the `host` field
where we then fall back to when its not set.

This test would pass before Node.js 18 and fail after Node.js 18 without
my changes.

Fixes https://github.com/microsoft/playwright/issues/20364
2023-01-30 17:44:26 +01:00
Playwright Service 5ad635522c
feat(webkit): roll to r1784 (#20466) 2023-01-30 08:36:02 -08:00
Max Schmitt 01790c0e19
fix(test-runner): throw error if no port and url is given (#20497)
https://github.com/microsoft/playwright/issues/20476
2023-01-30 16:28:31 +01:00
chimurai f72d400952
chore: fix typos (#20473) 2023-01-30 09:53:28 +01:00
Adi 32724cd5ce
docs: Added types to custom reporter typescript example (#20191) 2023-01-28 09:38:42 -08:00
Pavel Feldman 2b499bd5d6
chore: create tests groups per project (#20463) 2023-01-28 09:30:42 -08:00
Yury Semikhatsky 532ca3f7b3
fix: throw on tap when hasTouch=false (#20457)
Fixes #20430
2023-01-27 15:51:57 -08:00
Pavel Feldman 2c27bd3b07
chore: remove plugin registration sink (#20460) 2023-01-27 14:36:41 -08:00
Max Schmitt 71752b4b2a
fix(windows): enable socks5 hostname resolution on WebKit (#20435)
Fixes https://github.com/microsoft/playwright/issues/20451
2023-01-27 23:33:06 +01:00
Etienne 252b489a7f
feat(trace-viewer): allow host and port to be specified (#20258) 2023-01-27 14:20:25 -08:00
wopperer dfb53513ea
chore: add type checking (#20280) 2023-01-27 14:18:46 -08:00
Yeison Daza 98a0f98577
chore: ct vite config async (#20288) 2023-01-27 14:13:15 -08:00
Pavel Feldman b91bb1af9a
chore: minimize configLoader use (#20431) 2023-01-27 12:44:15 -08:00
Dmitry Gozman d458e84f5b
feat(route): match pattern on the server side (#20410)
This avoids client-side roundtrip for requests that are not handled by
any route.

Fixes #19607.
2023-01-27 10:43:19 -08:00
Dmitry Gozman ead4989947
fix(api): Response.finished() throws when target closes (#20453) 2023-01-27 10:42:43 -08:00
Andrey Lushnikov 2af31edadd
feat: roll Firefox and Firefox-Beta to latest builds (#20449)
These builds initiate browser-side navigation for `page.goto` command.

Drive-by: add a minimal file URL test.
2023-01-27 09:31:45 -08:00
Andrey Lushnikov 9ca9b08d90
fix: better formatting for sparse arrays (#20379)
Right now arrays preview yields all array elements. In case
of a sparse array with a single element on index 10000000,
this results in a large string that OOM Node.js.

This patch changes pretty-printing. For example:

```ts
// Given this array
const a = [];
a[10] = 1;
// Before this patch, pretty printing will yield:
"[,,,,,,,,1]"
// With this patch, pretty printing yields:
"[empty x 9, 1]"
```

The new array pretty-printing is equal to what Chrome DevTools
do to render sparse arrays.

Fixes #20347
2023-01-27 05:07:55 -08:00
Andrey Lushnikov 5b93c1d2f9
chore: truncate long protocol logs (#20412)
This affects the logs in the `DEBUG=pw:protocol` mode so that they
never span more then 10 lines of 80-character-width terminal.
2023-01-27 04:58:13 -08:00
Playwright Service cf0ca2e662
feat(webkit): roll to r1783 (#20433)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-27 11:50:43 +01:00
Pavel Feldman 7d7e66f450
chore: group test runner files by process (#20425) 2023-01-26 17:26:47 -08:00
Dmitry Gozman 332dbc5bf6
fix(chromium): enable gpu support in mac headless (#20418) 2023-01-26 13:21:25 -08:00
Pavel Feldman 0c84d88127
chore: extract tasks into separate methods (#20413) 2023-01-26 13:20:05 -08:00
Playwright Service ccb53c2c1b
feat(chromium-tip-of-tree): roll to r1081 (#20398)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-26 16:56:07 +01:00
Playwright Service ff302585d9
feat(chromium): roll to r1046 (#20397)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-26 16:55:45 +01:00
Playwright Service 754dd05a8e
feat(webkit): roll to r1780 (#20393)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-26 16:14:55 +01:00
Pavel Feldman 5761a62b1c
docs: clarify the null value for the viewport (#20333)
Fixes https://github.com/microsoft/playwright/issues/20284
2023-01-25 17:48:18 -08:00
Pavel Feldman f7ff252455
chore: remove addFatalError (#20383) 2023-01-25 17:26:30 -08:00
Pavel Feldman fe1dd7818d
chore: extract task runner for global setup (#20345) 2023-01-25 15:38:23 -08:00
Dmitry Gozman cab52cded9
chore: consolidate route handling logic in NetworkRouter (#20353)
References #19607.
2023-01-25 14:11:53 -08:00
Dmitry Gozman d1fb3a2384
fix(test runner): do not send entirely skipped test groups to a worker (#20346)
Move TestCase properties calculation from WorkerMain to suite building
phase.

Fixes #20156.
2023-01-25 12:54:50 -08:00
Playwright Service d7366cfc7c
feat(chromium-tip-of-tree): roll to r1080 (#20323)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-01-25 10:23:12 +01:00
Playwright Service 00edf587d5
feat(webkit): roll to r1773 (#20342)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2023-01-25 10:03:50 +01:00
Dmitry Gozman 1196b4f0f5
chore: do not use docker for "Web Components" tests (#20339) 2023-01-24 14:00:10 -08:00
Dmitry Gozman 1f576ff0bc
chore: simplify static test annotations (#20335) 2023-01-24 12:49:47 -08:00
Dmitry Gozman a9422beecb
Revert "chore: respect headless option when reusing browser (#19980)" (#20336)
This reverts commit e674ea217f.
2023-01-24 11:07:53 -08:00
Dmitry Gozman b971dd3417
fix(test runner): show deep strack traces during imports (#20305)
Fixes #20239.
2023-01-24 08:49:06 -08:00
Playwright Service aedcecb3db
feat(webkit): roll to r1770 (#20308) 2023-01-24 09:33:48 +01:00
Dmitry Gozman 38f260cc51
test: unflake "should respect interval" (#20298) 2023-01-23 17:57:37 -08:00
Pavel Feldman 147bb6b292
chore: run global setup before onBegin (#20285) 2023-01-23 17:44:23 -08:00
Playwright Service 7c5e0eb1cc
feat(firefox): roll to r1373 (#20271)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-23 07:53:29 -08:00
Playwright Service 20c3baf9bf
feat(firefox-beta): roll to r1375 (#20273)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-23 07:49:27 -08:00
Max Schmitt 05843bdfd9
chore: support Debian 11 arm64 (#19676)
https://github.com/microsoft/playwright/issues/18319
2023-01-23 15:54:25 +01:00
Pavel Feldman 9f31bcfbab
chore: refactor graceful close, rename to host/main (#20283) 2023-01-22 15:04:29 -08:00
Dmitry Gozman 71798d658f
chore: remove separate network tethering client connection (#20267) 2023-01-21 18:18:22 -08:00
Dmitry Gozman b700c08dc5
feat(screenshots): when actual and expected have different sizes, pad and produce the diff image (#20208)
Also show sizes in the html report to easier spot the size mismatch
issue.

<img width="1030" alt="diff"
src="https://user-images.githubusercontent.com/9881434/213327632-b8fcd69c-8d08-460c-9de1-b5f4f8c56359.png">

Fixes #15802.
2023-01-20 19:41:43 -08:00
Dmitry Gozman 0cc0d168cd
chore: mark 1.31-next (#20268) 2023-01-20 19:29:14 -08:00
Pavel Feldman 7ff27600b4
chore: experimental oop loader (#20269) 2023-01-20 18:24:15 -08:00
Dmitry Gozman eafa6fda13
fix(expect): poll/toPass should not wait over specified timeout (#20266)
Drive-by: unflake some timeout-dependent tests.
2023-01-20 15:47:24 -08:00
Playwright Service d8e8ddba20
feat(webkit): roll to r1767 (#20265) 2023-01-20 22:28:56 +01:00
Pavel Feldman 3066ffd577
chore: use fake pool on the runner side (#20241) 2023-01-20 08:36:31 -08:00
Playwright Service 1cd90cc8b6
feat(webkit): roll to r1766 (#20244) 2023-01-20 09:39:59 +01:00
Pavel Feldman 411a86512d
chore: roll webkit to 1765 (#20228) 2023-01-19 15:57:04 -08:00
Pavel Feldman fdd62f31f1
chore: extract pool builder, simplify project suite cloning (#20235) 2023-01-19 15:56:57 -08:00
Dmitry Gozman d950f5b6ee
chore: remove toIntersectViewport for the next release (#20232)
Mostly reverts #19901.
2023-01-19 15:04:09 -08:00
Andrey Lushnikov 1b8b20dc25
chore: drop locator.viewportRatio() method (#20131)
As per API review discussion, we'd like to refrain from
exposing this method.
2023-01-19 08:46:45 -08:00
Playwright Service e87b974f97
feat(webkit): roll to r1763 (#20226)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-19 16:59:15 +01:00
Playwright Service b4d63498d2
feat(chromium-tip-of-tree): roll to r1079 (#20224)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-19 15:28:47 +01:00
Playwright Service 4b53b1842f
feat(chromium): roll to r1045 (#20219)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-19 14:40:26 +01:00
Playwright Service e740522069
feat(webkit): roll to r1761 (#20207)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-19 11:22:00 +01:00
Pavel Feldman e08168e16e
chore: temporarily remove project and global setup, store (#20181) 2023-01-18 12:56:03 -08:00
Playwright Service 6d63773965
feat(webkit): roll to r1760 (#20197) 2023-01-18 12:24:12 -08:00
Playwright Service 9edc0ad988
feat(firefox-beta): roll to r1374 (#20117)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-18 11:27:18 -08:00
Playwright Service c9873cd16d
feat(firefox): roll to r1372 (#20118)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-18 11:26:04 -08:00
Pavel Feldman 3fd0530076
chore: remove worker isolation options (#20176) 2023-01-17 17:38:44 -08:00
Pavel Feldman d9d4070520
chore: split config and test loaders (#20175) 2023-01-17 17:16:36 -08:00
Pavel Feldman 020dcd89fa
chore: prepare to load scripts in subprocess (#20174) 2023-01-17 14:53:11 -08:00
Ben McCann 9ba5a1be38
fix: remove export for file that doesn't exist (#20120) 2023-01-17 22:43:07 +01:00
Playwright Service d2ec22551e
feat(chromium-tip-of-tree): roll to r1078 (#20161)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-17 22:39:59 +01:00
Max Schmitt df05c00da3
fix: filter out pwt stacks correctly (#20158)
Fixes https://github.com/microsoft/playwright/issues/20155
2023-01-17 22:38:30 +01:00
Pavel Feldman 9a64597d74
chore: extract process and process host (#20166) 2023-01-17 12:43:51 -08:00
Max Schmitt 341b50fd25
chore: return Promise<any> in {page,context}.unroute (#20135) 2023-01-17 19:14:47 +01:00
Andrey Lushnikov 92375f6333
fix: support import assertions (#20009)
Fixes #19928

Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-01-16 08:26:14 -08:00
Playwright Service b740aa04e7
feat(chromium): roll to r1044 (#20137)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-16 13:44:28 +01:00
Playwright Service 8671bfc53f
feat(firefox): roll to r1371 (#20115)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-13 22:37:26 -08:00
Pavel Feldman d1c161ce99
chore: merge the util exports (#20110) 2023-01-13 13:50:38 -08:00
Pavel Feldman 736cf5c585
fix(tsx): resolve .js imports to .tsx as well (#20092)
Fixes: https://github.com/microsoft/playwright/issues/20039
2023-01-13 10:49:10 -08:00
Dmitry Gozman 3a1eb2abda
chore: fix racy emptyOutDir in trace-viewer build (#20090) 2023-01-13 06:42:56 -08:00
Pavel Feldman e065d608b6
chore: introduce defineConfig for easier JS typing (#20061)
Fixes https://github.com/microsoft/playwright/issues/19694
2023-01-12 13:12:02 -08:00
Yury Semikhatsky 730a197c80
feat: config.globalScripts (#20062)
Introduce config.globalScripts. Tests from the matching files will run
before all projects. We'll only allow beforeAll/afterAll instead of
tests in such files (next PR).

Global scripts are executed as part of 'Global Scripts' project which is
not present in FullConfig.projects but may be referenced by
corresponding global setup Suites.

Signed-off-by: Yury Semikhatsky <yurys@chromium.org>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-01-12 13:02:54 -08:00
Alex b984bb9ad6
fix: serviceWorker.register function (#20072) 2023-01-12 10:47:45 -08:00
Playwright Service c111a0c1f7
feat(chromium-tip-of-tree): roll to r1077 (#20077)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-12 19:13:04 +01:00
Max Schmitt 1c1955a6e7
fix: do not write to stdout on cssTokenizer parse error (#20012)
Fixes https://github.com/microsoft/playwright/issues/20074
2023-01-12 19:10:01 +01:00
Playwright Service 1430c5b59c
feat(firefox-beta): roll to r1373 (#20058)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-12 08:59:34 -08:00
Playwright Service cd6221e6c6
feat(firefox): roll to r1370 (#20050)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-12 08:58:23 -08:00
Dmitry Gozman 9a5df720ff
chore: fix build/watch script for bundles and vite-powered packages (#20055) 2023-01-11 18:36:04 -08:00
Max Schmitt a7495c3326
fix: use no internal selectors for frame locators (#19964)
Fixes https://github.com/microsoft/playwright/issues/19406
2023-01-11 21:53:19 +01:00
Dmitry Gozman 4f837690e2
fix(connect): do not log ws query params (#20047) 2023-01-11 12:27:27 -08:00
Dmitry Gozman e674ea217f
chore: respect headless option when reusing browser (#19980)
References #19746.
2023-01-10 10:49:53 -08:00
Max Schmitt 3918e33c91
chore: trace viewer UX (auto scroll to action + timeline duration) (#20001)
Fixes https://github.com/microsoft/playwright/issues/19916
2023-01-10 18:33:20 +01:00
Max Schmitt 0fe327c21b
chore: return Promise<any> in {page,context}.route (#20005)
Fixes https://github.com/microsoft/playwright/issues/19855
Closes https://github.com/microsoft/playwright/pull/19856
2023-01-10 18:07:17 +01:00
Max Schmitt e2a2196e6a
chore(html-reporter): show project name always for the test file (#19905)
Fixes https://github.com/microsoft/playwright/issues/19874
2023-01-10 17:11:38 +01:00
Playwright Service db5087e951
feat(chromium): roll to r1043 (#19991)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-10 14:55:27 +01:00
Playwright Service 394ed6db62
feat(chromium-tip-of-tree): roll to r1075 (#19993)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-10 14:55:10 +01:00
Andrey Lushnikov 9943bcfcd8
fix: do not subscribe to SIGINT signal unless lock is acquired (#19978)
Subscription to SIGINT handler removes default handler.

Fixes #19418
2023-01-09 20:19:28 -08:00
Pavel Feldman 6022a4098f
chore: deprecate page.waitForNavigation, locator.elementHandle (#19977) 2023-01-09 20:04:04 -08:00
Pavel Feldman 3c8bc0b2f9
chore: minor trace viewer ui tweaks (#19979) 2023-01-09 19:51:33 -08:00
Pavel Feldman 3f0adf5dd0
chore: release from pause when the page closes (#19975)
Fixes: https://github.com/microsoft/playwright/issues/19168
2023-01-09 18:49:18 -08:00
Andrey Lushnikov 8f62aa9335
chore: vendor proper-lockfile dependency (#19969)
This patch vendors the
https://github.com/moxystudio/node-proper-lockfile
project we rely to manage Playwright Registry.

The reason to vender is the following upstream issue that
didn't get resolved in almost a month:
https://github.com/moxystudio/node-proper-lockfile/issues/111

Follow-up will apply the fix for the issue to the vendored file.

NOTE: this patch also inlines all code in a single file.

References #19418
2023-01-09 17:13:58 -08:00
Dmitry Gozman 28577afde4
feat(soft expect): mark steps with failed soft expects as failed (#19973)
Fixes #19673.
2023-01-09 16:17:06 -08:00
Dmitry Gozman 7d2cc06355
docs: add usage sections to Locator methods (#19968) 2023-01-09 13:06:25 -08:00
Yury Semikhatsky a39a97f0ee
chore: setup -> test.projectSetup (#19932)
* Changed `setup` to `test.projectSetup`
* Only `test.projectSetup.only` is supported on the new method
* test.* methods except for before/after/Each/All hooks can be called
inside the project setup files
2023-01-09 11:21:48 -08:00
Max Schmitt e3d615e9f2
docs: add Electron troubleshooting note (#19954)
Fixes https://github.com/microsoft/playwright/issues/19854

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Pavel Feldman <pavel.feldman@gmail.com>
2023-01-09 18:39:54 +01:00
Pavel Feldman 6083926111
chore: render readable title separator in errors (#19754) 2023-01-09 09:33:09 -08:00
Dmitry Gozman 830c3c9f0f
fix(reuse): workaround long sw unregister (#19930)
Bogus `importScripts()` sometimes makes `unregister()` hang for long
time. We detect this case and not await it.

Fixes #19789.
2023-01-06 17:02:40 -08:00
Andrey Lushnikov 2a49c5e498
feat(expect): introduce expect(locator).toIntersectViewport() (#19901)
This is a new web-first assertion that should be used like this:

```ts
test('should work', async ({ page }) => {
  const locator = page.locator('body');
  // New web-first assertion.
  await expect(locator).toIntersectViewport();
  // The same functionality.
  await expect.poll(() => locator.viewportRatio()).toBeGreaterThan(0);
});
```

Fixes #8740
2023-01-06 16:56:24 -08:00
Max Schmitt 7bbaf2af21
fix(docker): take language binding version in consideration (#19924) 2023-01-06 19:47:37 +01:00
Dmitry Gozman b376110b77
docs: add proper usage for some test apis (#19925) 2023-01-06 10:26:23 -08:00
Max Schmitt c339e1615b
fix(fetch): handle invalid redirect URL (#19890)
Fixes https://github.com/microsoft/playwright/issues/19879.

This part is then similar to how node-fetch is doing it:
55a4870ae5/src/index.js?q=location#L152-L159

node-fetch also throws as of today with this URL. Before in Python it
was stalling, because the error was written to stdout and on Windows the
stdout wasn't working. On Node.js it ended up in an unhandled exception.
2023-01-06 10:22:17 -08:00
Dmitry Gozman cd698a2258
feat(trace viewer): render selectors as locators (#19907)
Drive-by: fix more places with SerializedValue rendering.

Fixes #19085.
2023-01-05 16:59:50 -08:00
Dmitry Gozman 31a63b5c2a
fix(reuse): make reuse work with tracing (#19733)
Fixes #19059.
2023-01-05 14:50:47 -08:00
Yury Semikhatsky 10ccfa9517
feat(fetch): happy eyeballs (#19902)
Fixes #18790
2023-01-05 14:39:49 -08:00
Yury Semikhatsky 2f3db200f6
chore(cli): filter matches against absolute path (#19900)
#19522
2023-01-05 13:39:39 -08:00
Andrey Lushnikov 1afa38d5a7
chore(expect): extract polling from expect.poll and expect().toPass (#19882)
This extracts & unifies polling machinery from `expect.poll` and
`expect.toPass` methods.
2023-01-05 11:14:37 -08:00
Max Schmitt ddccb59093
chore: fix Java CLI invocation on Windows (#19895)
For reference: https://stackoverflow.com/a/64300409
2023-01-05 10:55:07 -08:00
Andrey Lushnikov 3883799d68
feat: introduce locator.viewportRatio (#19761)
References #8740
2023-01-05 10:49:32 -08:00
Playwright Service abe901d598
feat(chromium-tip-of-tree): roll to r1074 (#19853)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-01-05 19:04:20 +01:00
Dmitry Gozman 388a3e1f37
fix(test runner): make sure to run afterAll after skipped tests (#19878)
Fixes #19745.
2023-01-04 14:13:49 -08:00
Oren 59e1437d7f
fix(serviceworker): network inspection works without options.serviceWorkers set (#19870) 2023-01-04 13:20:47 -08:00
Dmitry Gozman 6193e6d8ea
fix(reuse): reset tracing (#19876)
References #19059.
2023-01-04 13:19:05 -08:00
Playwright Service 2714e728d0
feat(chromium): roll to r1042 (#19799)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-02 14:11:44 +01:00
Grant Colestock a30aac5668
fix: make sure jsx fragments are transformed (#19755)
Fixes: #19142
2022-12-31 11:08:36 -08:00
Michael Glass 13c5019ac9
fix(playwright-test): _removeOutputDirs called without await always returns truthy (#19771) 2022-12-31 11:05:10 -08:00
Andrey Lushnikov caec93ef42
test: enable ssim-cie94 image comparison algorithm for our tests (#19313) 2022-12-29 23:48:28 -08:00
Ross Wollman 359d176ff6
fix(driver): avoid polluting stdout (#19759)
Relates microsoft/playwright-python#1699.
2022-12-28 17:09:11 -08:00
Gosha Krikun 166a729386
feat(trace-viewer): add parameters copy to clip (#19662) 2022-12-28 17:05:52 -08:00
Sander b363902e1b
feat(ct): https (#19697) 2022-12-28 17:04:23 -08:00
Dmitry Gozman 5cdf118a42
fix(reuse): disable trace/video when reusing the context (#19764)
Previously, we disabled reuse when trace/video was on. Component testing
keeps this behavior.

References #19059.
2022-12-28 16:58:34 -08:00
Yury Semikhatsky 137070d889
Revert "chore: hide setup, store, TestProject.setupMatch, storageStat… (#19756)
…eName (#19442)"

This reverts commit 92dd734e04.
2022-12-28 15:39:31 -08:00
Yury Semikhatsky b8f96a9411
fix(generator): FilterOptions in java (#19741)
Fixes #19448
2022-12-28 09:13:06 -08:00
Dmitry Gozman 0fba4d5611
chore: migrate waitForFunction to not use rerunnable task (#19730) 2022-12-27 17:22:44 -08:00
Dmitry Gozman 0b223b9036
fix(hit target): account for iframes with padding (#19732)
Padding on iframes moves the `documentElement` inside the iframe, so we
should account for it when converting coordinates between frames.

Fixes #19613.
2022-12-27 16:59:34 -08:00
Dmitry Gozman 3334d89ad7
fix(socks): support ipv6 (#19727)
Signed-off-by: Dmitry Gozman <dgozman@gmail.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2022-12-27 14:45:35 -08:00
Sander ba393f51a8
feat(ct): before mount hook wrapper (#18616) 2022-12-27 14:26:17 -08:00
Dmitry Gozman c1b9a56079
chore: migrate waitForSelector to not use rerunnable task (#19715) 2022-12-27 13:39:35 -08:00
Dmitry Gozman 24f2ccb4ca
feat(getByLabel): support aria-label (#19726)
References #19284.
2022-12-27 12:43:55 -08:00
Dmitry Gozman 3ad65e7ce8
fix(launchServer): disable socks by default (#19723)
Socks does not support ipV6 yet.

References #19661.
2022-12-27 10:43:36 -08:00
Dmitry Gozman 1bb019ac81
chore: migrate most of rerunnable tasks to element callback (#19713) 2022-12-27 09:22:22 -08:00
Sander c5d9b8d0fb
chore: update to vite 4 (#19690) 2022-12-27 09:14:39 -08:00
Sang Nguyen f88b22d0c0
docs: fix wrong waitForResponse example in Node.js (#19701) 2022-12-27 09:12:43 -08:00
Dmitry Gozman 0087bfac23
fix(role): update allowsNameFromContent to closer align with blink/gecko (#19692) 2022-12-27 09:06:46 -08:00
Dmitry Gozman cce29215f9
chore: make input actions not use rerunnable task (#19638) 2022-12-24 10:40:36 -08:00
Pavel Feldman e61a8c6592
fix(generator): penalize for the selector length (#19672) 2022-12-22 20:54:04 -08:00
Pavel Feldman 233664bd30
chore: report more fatal errors via reporter (#19640) 2022-12-22 17:31:02 -08:00
Pavel Feldman 8b80e22a03
fix(har): recalculate receive time after response ended (#19646)
Fixes https://github.com/microsoft/playwright/issues/19327
2022-12-22 17:30:32 -08:00
Pavel Feldman fe989d95eb
chore(electron): move loader to be preload (#19650)
Fixes https://github.com/microsoft/playwright/issues/19648
2022-12-22 17:28:08 -08:00
Dmitry Gozman 83418aa8ab
fix(socks): cleanup event listeners upon disconnect (#19671)
References #19661.
2022-12-22 17:15:51 -08:00
Ross Wollman 06c7f1fb6c
fix(html): test and fix reporter timing display (#19670)
#19576 introduced a regression where the CLI reporters displayed some
times with way too many decimals. e.g. 7.123456789ms.

Prior to #19576, there were two monotonicTime implementations; that PR
updated the reporters to use the common definition that had existed in
utils.ts. However, that introduced a regression in the base.ts reporters
which used the ms duration humanizing package which did not account for
the more precise decimals used by the shared monotonicTime function.

This fix removes the dependency on the third-party ms package and now
consistently uses Pavel's humanize function which the HTML reporter had
been using and proved to have better defaults for decimals.
Additionally, we add more test coverage to limit future regressions
since this was caught in passing.

Closes #19556.
Relates #19576.
2022-12-22 15:57:55 -08:00
Dmitry Gozman e12cf19012
chore: refactor frame.expect to not use rerunnable task (#19626) 2022-12-21 15:31:08 -08:00
Dmitry Gozman b8848fb499
fix(test runner): make sure undefined options in config result in default values (#19632)
Note: this keeps existing behavior of `undefined` in `test.use()`
reverting to the config value and not to the original default value.

References #19615.
2022-12-21 14:34:43 -08:00
Dmitry Gozman eaae8ebbf3
chore: throw InvalidSelectorError from selector parser, add some tests (#19636) 2022-12-21 14:27:35 -08:00
Dmitry Gozman d12bc0be9a
fix(screenshot): account for screenshot === undefined (#19627) 2022-12-21 10:16:36 -08:00
Max Schmitt 7508c574e1
chore: bring ubuntu bionic back (#19625) 2022-12-21 18:37:42 +01:00
Pavel Feldman 675f0eb4a0
chore: report error location for fatal errors (#19610) 2022-12-21 09:36:59 -08:00
Playwright Service acd3837484
feat(chromium): roll to r1041 (#19617)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-21 14:47:40 +01:00
Dmitry Gozman ae2b1ac5e8
chore: move some injected code to InjectedScript (#19609) 2022-12-20 17:26:54 -08:00
Ross Wollman 0844394270
feat(html): display overall duration (#19576)
<img width="1390" alt="Screenshot 2022-12-19 at 4 15 33 PM"
src="https://user-images.githubusercontent.com/11915034/208552484-c0127615-d2c6-414f-ae3b-e7836553d890.png">

* Adds duration (time ellapsed from `onBegin` to `onEnd`); roughly
equivalent to `time npx playwright test …`.
* Removes cumulative per-file time

Resolves #19566.
2022-12-20 14:13:10 -08:00
Pavel Feldman 95cc5c2a2e
fix(electron): fix the directory app path (#19601) 2022-12-20 12:50:53 -08:00
Pavel Feldman 971e30482a
fix(electron): allow using pre-ready apis (#19599) 2022-12-20 10:40:48 -08:00
Andrey Lushnikov d7e7cab44a
fix: properly handle negated timed-out toPass matcher (#19580) 2022-12-20 08:41:32 -08:00
Max Schmitt bb2a2c7331
fix: render discouraged / deprecated types (#19596)
Fixes https://github.com/microsoft/playwright/issues/19591
2022-12-20 16:19:07 +01:00
Dmitry Gozman 412c11db20
fix(reuse): make sure all dispose and close sequences are executed (#19572)
- When disposing recursively, only the root dispatcher received
`_dispose()` call, while some dispatchers need `_onDispose()` to clean
things up.
- When reusing the context, pages should be notified with `_onClose()`
so that all client-side waiting promises could reject.

Fixes #19216.
2022-12-19 15:54:53 -08:00
Sander f540ce08f2
feat(ct): vue2 plugins (#18596) 2022-12-19 15:33:50 -08:00
Han Yeong-woo 00ffd74727
fix(runner): import export assignment from ts (#19559) 2022-12-19 14:41:29 -08:00
Vladimir Semenov 467d9f37fc
feat(reporter): Add parallelIndex field to TestResult (#19570) 2022-12-19 14:37:04 -08:00
Pavel Feldman 3f333a8ef7
chore: simplify post_data processing (#19490) 2022-12-15 11:57:51 -08:00
Andrey Lushnikov 0be1fc8559
chore: cut version 1.29 (#19489) 2022-12-15 11:22:35 -08:00
Dmitry Gozman 1263bc3edd
feat(console api): first/last/nth (#19485) 2022-12-15 11:17:59 -08:00
Pavel Feldman 3afd83c8cc
chore: withdraw locator.enumerate (#19484) 2022-12-15 10:13:56 -08:00
Debbie O'Brien 7bc184f526
chore: recorder button styling (#19231) 2022-12-15 18:35:24 +01:00
Playwright Service e7088cc685
feat(firefox): roll to r1369 (#19465)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-15 09:01:03 -08:00
Playwright Service 091234e57f
feat(firefox-beta): roll to r1372 (#19466)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-12-15 09:00:50 -08:00
Playwright Service a67fa83ee1
feat(chromium-tip-of-tree): roll to r1069 (#19479)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-15 17:15:07 +01:00
Playwright Service ed196ae9a2
feat(chromium): roll to r1040 (#19477)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-15 15:53:47 +01:00
Max Schmitt 1dcb8f643d
chore: fix Android tests (#19426) 2022-12-15 07:56:57 +01:00
Pavel Feldman 0e2732decf
feat(api): introduce expect().toPass (#19463) 2022-12-14 19:23:13 -08:00
Pavel Feldman 17a0074459
feat(api): introduce Locator.all, enumerate (#19461) 2022-12-14 16:42:50 -08:00
Playwright Service cb4f26b41c
feat(webkit): roll to r1751 (#19391)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-14 14:07:27 -08:00
Dmitry Gozman a27f1f744f
feat(getByLabel): support aria-labelledby (#19456)
Testing library also treats them equally.

Fixes #19284.
2022-12-14 13:51:05 -08:00
Andrey Lushnikov 8167f8bf54
chore: hide "comparator" option from documentation and types (#19441) 2022-12-14 09:58:19 -08:00
Playwright Service 8cc8fca129
feat(firefox-beta): roll to r1370 (#19444)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-14 09:57:17 -08:00
Yury Semikhatsky 92dd734e04
chore: hide setup, store, TestProject.setupMatch, storageStateName (#19442) 2022-12-13 22:48:38 -08:00
Dmitry Gozman ab9602bebf
chore: remove unused PW_TEST_OUT_OF_PROCESS_DRIVER (#19434) 2022-12-13 16:04:44 -08:00
Pavel Feldman d1559a0fcc
chore: route.fetch(postData) (#19436) 2022-12-13 14:01:39 -08:00
Pavel Feldman 6cadc56ea3
feat(api): allow getByTestId(regex) (#19419) 2022-12-13 08:43:13 -08:00
Playwright Service af1783f4a8
feat(chromium-tip-of-tree): roll to r1068 (#19427)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-13 16:26:41 +01:00
Yury Semikhatsky 0cb1e97528
docs: strictSelectors does not affect Locators (#19414)
Fixes https://github.com/microsoft/playwright/issues/19398
2022-12-12 15:09:44 -08:00
Dmitry Gozman 539893402e
feat(socks): support pattern similar to proxy bypass rules (#19387)
- `<loopback>` for local interfaces;
- `123.123.123.123` for IPv4;
- `[1:2:3:4:5:6:7:8]` for IPv6;
- `*.example.com` and `.example.com` for subdomains;
- `example.com` for domains;
- `anything:3000` for port matching.
2022-12-12 12:27:34 -08:00
Pranav Jain 59118b83f9
feat(android): add support for passing CR args & proxy when launching browser (#19212)
Fixes https://github.com/microsoft/playwright/issues/19211
2022-12-12 16:15:19 +01:00
Dmitry Gozman 3c17a2603a
feat(console api): support locator.filter (#19389) 2022-12-09 15:25:12 -08:00
Dmitry Gozman 256e9fd443
feat(connect): allow exposing local network to the remote browser (experimental) (#19372)
`connectOptions: { _exposeNetwork: '*' | 'localhost' }`

References #19287.
2022-12-09 11:16:29 -08:00
Playwright Service 8ea48752db
feat(chromium): roll to r1039 (#19382)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-09 13:23:38 +01:00
Andrey Lushnikov 858c2453b3
feat(containers): implement reverse proxy for novnc and server (#18569)
This patch adds a reverse proxy in front of novnc and playwright
server inside the container.

As a result:
- container exposes a single HTTP port to the host
- all Playwright clients can connect using this exposed port, e.g.
  `http://127.0.0.1:5400`
- navigating to the exposed port in the browser lands on a nice HTML
page
  with a link to view container screen
- users can also manually navigate to `http://127.0.0.1:5400/screen` to
  view screen
2022-12-08 17:17:18 -08:00
Andrey Lushnikov 526bc3f252
fix(ssim-cie94): further tune SSIM-CIE94 to fight wk artifacts (#19370)
This patch adds a grid border around the image so that the SSIM
resolution doesn't drop for the border pixels.

We also add a test with WebKit rendering artifacts to make sure
new approach helps to fight this.
2022-12-08 16:08:41 -08:00
Dmitry Gozman 465278a54f
feat(tether): always enable socks proxy on the server (#19363) 2022-12-08 14:23:14 -08:00
Max Schmitt 92b3995101
chore(recorder): align toolbar buttons correctly (#19357) 2022-12-08 17:33:18 +01:00
Playwright Service 883db90c3e
feat(chromium-tip-of-tree): roll to r1067 (#19358)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-08 17:07:39 +01:00
Dmitry Gozman bdaf11a568
chore: refactor roleEngine to allow alternative representation (#19344) 2022-12-07 16:49:20 -08:00
Andrey Lushnikov 6139b432fd
fix(ssim-cie94): increase SSIM window radius (#19343)
While migrating Playwright tests from pixelmatch comparator to the
ssim-cie94 comparator, we noticed a rendering artifact that happens
on playwright screenshot tests on WebKit Linux.

This PR adds a set of cropped-down examples and tunes the ssim-cie94
comparator to accept these rendering artifacts.
2022-12-07 16:25:16 -08:00
Dmitry Gozman dd58609a0b
chore: fix lint in types.d.ts (#19346) 2022-12-07 15:29:57 -08:00
Pavel Feldman 7aa3935dcc
chore: match selected options by both value and label (#19316) 2022-12-07 09:04:32 -08:00
Dmitry Gozman fd22d8bde1
feat(tether): support hostname pattern in socks proxy (#19302)
For now, only '*' and 'localhost' are supported.

References #19287.
2022-12-07 08:46:35 -08:00
Fernando Garcia Llorente cd4ccdfa29
feat: allow options in automatic screenshots (#19143)
Closes #9983 

Allowing Automatic Screenshots in `PlaywrightTestConfig` to have
`fullPage` & `omitBackground` as optional parameters.
2022-12-07 08:45:33 -08:00
Andrey Lushnikov cac67fb94f
chore: do not use "threshold" option for the ssim-cie94 comparator (#19314) 2022-12-06 17:03:13 -08:00
Dmitry Gozman d294c5da33
chore: roll stable-test-runner to 1.28.1 (#19310)
This required `allowJs: false` in our `tsconfig.json` due to the
following error:

```

Error: Cannot find module './utilsBundleImpl'
Require stack:
- <playwright>/packages/playwright-core/src/utilsBundle.ts
- <playwright>/packages/playwright-test/lib/reporters/html.js
- <playwright>/tests/playwright-test/reporter-html.spec.ts
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/@playwright/test/lib/loader.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/@playwright/test/lib/runner.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/@playwright/test/lib/cli.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/playwright-core/lib/cli/cli.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/playwright-core/cli.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/@playwright/test/cli.js

   at ../../packages/playwright-core/src/utilsBundle.ts:20

  18 | import path from 'path';
  19 |
> 20 | export const colors: typeof import('../bundles/utils/node_modules/colors/safe') = require('./utilsBundleImpl').colors;
     |                                                                                   ^
  21 | export const debug: typeof import('../bundles/utils/node_modules/@types/debug') = require('./utilsBundleImpl').debug;
  22 | export const getProxyForUrl: typeof import('../bundles/utils/node_modules/@types/proxy-from-env').getProxyForUrl = require('./utilsBundleImpl').getProxyForUrl;
  23 | export const HttpsProxyAgent: typeof import('../bundles/utils/node_modules/https-proxy-agent').HttpsProxyAgent = require('./utilsBundleImpl').HttpsProxyAgent;

    at Object.<anonymous> (<playwright>/packages/playwright-core/src/utilsBundle.ts:20:83)
    at Object.<anonymous> (<playwright>/packages/playwright-test/src/reporters/html.ts:17:1)

```
2022-12-06 15:46:19 -08:00
Yury Semikhatsky beb15bb504
chore: rename setup => setupMatch (#19309) 2022-12-06 14:55:22 -08:00
Yury Semikhatsky 1b3e53697b
chore: TestStorage => TestStore (#19308) 2022-12-06 13:33:43 -08:00
Dmitry Gozman 4784dae10f
fix(role): accessibleName computation should walk the flat dom tree (#19301)
- When visiting `<slot>` element, descend into assigned nodes.
- When node has `assignedSlot`, skip it during regular traversal.

Fixes #18989.
2022-12-06 09:31:26 -08:00
Yury Semikhatsky 8660288518
chore: use isProjectSetup instead of set (#19285) 2022-12-06 08:59:28 -08:00
Yury Semikhatsky 3c1b26b9f1
feat: make storage a global variable (#19283) 2022-12-05 21:37:37 -08:00
Yury Semikhatsky f9ef18912d
feat: use setup() instead of test() for project setup (#19281) 2022-12-05 18:15:01 -08:00
Dmitry Gozman 81c8620bfe
chore: upgrade internal types to support TypeScript 4.9.3 (#19280)
Fixes https://github.com/microsoft/TypeScript/issues/51619

Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-12-05 17:22:25 -08:00
Dmitry Gozman 48182a4eb2
chore: refactor code around text selectors (#19278) 2022-12-05 14:08:54 -08:00
Playwright Service 84a0aaaaff
feat(chromium-tip-of-tree): roll to r1065 (#19239)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-12-05 11:22:03 -08:00
Playwright Service e576bd17df
feat(chromium): roll to r1038 (#19237)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-03 13:03:43 -08:00
Dmitry Gozman e55a2bdf16
docs: rework Selectors to Other Locators (#19244)
- Replace links to `selectors.md` with `locators.md`.
- Remove sections that are covered by Locators docs.
- Restructure the rest of selectors doc, update them in terms of
locators.

Fixes #18992.
2022-12-02 21:48:37 -08:00
Pavel Feldman 9b35ef3b8d
docs: introduce the concept of details (#19242) 2022-12-02 17:35:21 -08:00
Dmitry Gozman 0be4fa768a
fix(codegen): do not generate Promise.all (#19182)
Drive-by: fix `download`, `dialog` and `popup` signals to use different
variable names in all languages.
2022-12-02 17:33:01 -08:00
Andrey Lushnikov 6d82460a02
feat: implement a new image comparison function (#19166)
This patch implements a new image comparison function, codenamed
"ssim-cie94". The goal of the new comparison function is to cancel out
browser non-determenistic rendering.

To use the new comparison function:

```ts
await expect(page).toHaveScreenshot({
  comparator: 'ssim-cie94',
});
```

As of Nov 30, 2022, we identified the following sources of
non-determenistic rendering for Chromium:
- Anti-aliasing for certain shapes might be different due to the
  way skia rasterizes certain shapes.
- Color blending might be different on `x86` and `aarch64`
architectures.

The new function employs a few heuristics to fight these
differences.

Consider two non-equal image pixels `(r1, g1, b1)` and `(r2, g2, b2)`:
1. If the [CIE94] metric is less then 1.0, then we consider these pixels
   **EQUAL**. (The value `1.0` is the [just-noticeable difference] for
   [CIE94].). Otherwise, proceed to next step.
1. If all the 8 neighbors of the first pixel match its color, or
   if the 8 neighbors of the second pixel match its color, then these
   pixels are **DIFFERENT**. (In case of anti-aliasing, some of the
   direct neighbors have to be blended up or down.) Otherwise, proceed
   to next step.
1. If SSIM in some locality around the different pixels is more than
   0.99, then consider this pixels to be **EQUAL**. Otherwise, mark them
   as **DIFFERENT**. (Local SSIM for anti-aliased pixels turns out to be
   very close to 1.0).

[CIE94]: https://en.wikipedia.org/wiki/Color_difference#CIE94
[just-noticeable difference]:
https://en.wikipedia.org/wiki/Just-noticeable_difference
2022-12-02 15:22:05 -08:00
Dmitry Gozman 6471e8536e
feat(test runner): support jsconfig.json's baseUrl+paths (#19219)
Fixes #19129.
2022-12-01 16:42:25 -08:00
Andrey Lushnikov 4cb49cb162
fix: remove firefox bandaid preferences (#19217)
These preferences were migrated to those we ship with builds.

Fixes #17442
2022-12-01 12:45:50 -08:00
Max Schmitt 3565d97a36
feat(recorder): make it work with [contenteditable] (#19066)
https://github.com/microsoft/playwright/issues/19029
2022-12-01 12:41:03 -08:00
Max Schmitt 1d3feba578
chore: do not set bypassCSP when inspector is used (#19190)
Fixes https://github.com/microsoft/playwright/issues/19186
2022-12-01 12:39:40 -08:00
Playwright Service b212e99dbb
feat(firefox-beta): roll to r1369 (#19197)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-01 12:26:17 -08:00
Playwright Service 881097a431
feat(firefox): roll to r1367 (#19195)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-01 12:25:55 -08:00
Shubham Kanodia 4679cfaeb9
fix: Fixes #19169 Issue with moving up a directory in snapshotPathTemplate (#19170)
Fixes #19169

Note, I'm not sure why it was done this way before — e.g. Why `testDir`
were considered for resolution, but `testFileDir` wasn't.

Looking for guidance on the approach here, because there are still some
template tokens outside `path.resolve`

Co-authored-by: Shubham Kanodia <skanodia@atlassian.com>
2022-12-01 10:05:15 -08:00
Max Schmitt 62b28c89b4
docs(assertions): fix wrong toHaveText param description (#19213)
Fixes https://github.com/microsoft/playwright/issues/19202
2022-12-01 09:14:06 -08:00
Playwright Service dbe4362b9c
feat(firefox): roll to r1366 (#19185)
Fixes https://github.com/microsoft/playwright/issues/18307.

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-11-30 19:13:11 -08:00
Playwright Service 58c4d1574b
feat(firefox-beta): roll to r1368 (#19191)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-11-30 19:09:41 -08:00
Pavel Feldman f0e8d8f074
feat(api): introduce route.fetch and route.fulfill(json) (#19184) 2022-11-30 17:26:19 -08:00
Dmitry Gozman 499324961a
docs: remove Promise.all from examples (#19154)
Replaced with explicit `popupPromise` variable.
2022-11-30 12:36:35 -08:00
Playwright Service f952e1147b
feat(chromium-tip-of-tree): roll to r1063 (#19070)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-11-30 11:11:54 -08:00
Yury Semikhatsky de1fc170b2
docs: TestProject.setup (#19152) 2022-11-30 09:18:47 -08:00
Dmitry Gozman 307a0b6ea7
fix(dotnet): codegen/docs use Name instead of NameString (#19156) 2022-11-29 20:56:18 -08:00
Pavel Feldman 5ac426b3d5
chore: expose utility script to inner evaluates (#19147) 2022-11-29 16:57:11 -08:00
Pavel Feldman 89bdaf2441
chore: rename ScreenshotAssertions to SnapshotAssertions (#19150) 2022-11-29 16:57:03 -08:00
Yury Semikhatsky c9ec8b3e55
docs: clarify what is passed as Test.grep input (#19153)
Fixes https://github.com/microsoft/playwright/issues/18669
2022-11-29 16:03:30 -08:00
Dmitry Gozman b1b21bdac5
fix(shards): zero-sized shard should not include all tests (#19148)
Fixes #19073.
2022-11-29 16:02:11 -08:00
Zihua Li 0c6a0f40c6
feat(keyboard): support simple cut-pasting using meta+x/v (#18756) 2022-11-29 12:58:14 -08:00
Shubham Kanodia 3d804ff7cd
chore: rewrite error message for missing snapshot (#19104) 2022-11-29 12:51:15 -08:00
Dmitry Gozman 43a6bf4d45
fix(inspector): support custom test id attribute (#18996)
Fixes #18959.
2022-11-29 11:43:47 -08:00
Dmitry Gozman 4f72a895e9
fix(inspector): render expect.not correctly (#19125)
Also fixes the same in expect logs.

References #19083.
2022-11-28 20:50:16 -08:00
Pavel Feldman 85467d1b7d
chore: generate get by title (#19119) 2022-11-28 19:55:34 -08:00
Dmitry Gozman 65b0fb055d
docs: note assertion methods that only work with playwright test runner (#19116)
Fixes #18963.
2022-11-28 10:32:48 -08:00
Dmitry Gozman bd07a63683
docs: highlight printsToStdio in reporter reference (#19118)
Fixes #18945.
2022-11-28 10:32:01 -08:00
Playwright Service e3d7e080b4
feat(webkit): roll to r1747 (#19080) 2022-11-28 09:50:07 -08:00
Playwright Service 2887a2a883
feat(webkit): roll to r1745 (#19063)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-11-24 11:38:12 -10:00
Pavel Feldman be2139f0ac
docs: split assertions list into langs (#19039) 2022-11-24 08:25:24 -08:00
Playwright Service 8ec3de7f41
feat(chromium-tip-of-tree): roll to r1062 (#19037)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-11-23 14:49:58 -10:00
Pavel Feldman f9a32e0927
chore: follow up to deprecation changes (#19025) 2022-11-23 12:32:14 -08:00
Max Schmitt f8355b940e
chore: bump Babel dependencies (#19026) 2022-11-23 09:37:31 -10:00
Playwright Service 0c8d2cf4e0
feat(webkit): roll to r1744 (#19006) 2022-11-23 09:54:47 -08:00
Yury Semikhatsky d3f41eaa47
fix(fetch): cookie with domain=localhost (#18998)
Fixes https://github.com/microsoft/playwright/issues/18362
2022-11-23 09:22:49 -08:00
Pavel Feldman f97dcd4c79
docs: annotate deprecated methods (#19005) 2022-11-23 08:40:47 -08:00
Yury Semikhatsky 31d45ad4dc
chore(runner): add all setup files in separate pass (#18978) 2022-11-22 16:22:48 -08:00
Dmitry Gozman 503f8f51dc
fix(reuse): stop pending operations upon reuse/disconnect (#18997) 2022-11-22 15:21:20 -08:00
Dmitry Gozman 190ed9465f
fix(chromium): detach from shared workers (#18976)
This prevents shared workers from stalling upon restart.

We receive `Inspector.targetCrashed` and
`Inspector.targetReloadedAfterCrash` events that assume
`Runtime.runIfWaitingForDebugger` from any attached client. It is easier
and more stable to just detach from shared workers, because we do not
inspect them.

For service workers, we should actually issue
`Runtime.runIfWaitingForDebugger` in such cases, because we attach to
them.

Fixes #18932.
2022-11-22 15:20:42 -08:00
Pavel Feldman 73e7c0ed3d
fix(electron): tolerate connection closed during quit (#18993) 2022-11-22 11:50:35 -08:00
Pavel Feldman a0ea9b5fba
chore: simplify slowmo implementation (#18990) 2022-11-22 11:06:45 -08:00
Playwright Service a51c48fcb1
feat(chromium): roll to r1035 (#18984)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-11-22 07:48:46 -10:00
Pavel Feldman 228f78c89d
chore: render browser window in trace (#18870) 2022-11-22 08:41:52 -08:00
Yury Semikhatsky 2dc51f6c46
fix(runner): run all setup files when there is test.only (#18967) 2022-11-21 16:33:23 -08:00
Pavel Feldman b5d756686d
fix(electron): consistently emit ready event after app is loaded (#18972)
Fixes: https://github.com/microsoft/playwright/issues/18928
2022-11-21 15:13:53 -08:00
Andrey Lushnikov c0daeaa291
Revert "fix(webserver): do not spawn webserver as a new process group (#18564)" (#18968)
This reverts commit 26044c11c0.

Fixes #18865
2022-11-21 14:40:59 -08:00
Dmitry Gozman 8ad3bc7ff3
fix(role selector): expanded=false does not match elements without aria-expanded (#18929)
Fixes #18920.
2022-11-21 14:13:51 -08:00
Max Schmitt 6a5552ba24
chore: drop Ubuntu 18.04 support (#18924) 2022-11-21 11:23:45 -10:00
Pavel Feldman 620e8547d4
chore: generate usage: sections based on snippets (#18965) 2022-11-21 10:40:21 -08:00
Pavel Feldman 3fb4b3bbf9
chore: normalize api markdown (#18942) 2022-11-21 09:30:32 -08:00
Yury Semikhatsky e1189a96b6
feat(runner): run all setup files if none matched the filter (#18922)
The behavior regarding filters (both in config, command line and .only)
is the following:
- if some of tests match and none of setup match then we'll run all
setup files and all matching tests
- otherwise the filters apply to setup files the same way as to regular
tests
2022-11-21 09:23:28 -08:00
Dmitry Gozman 941090f0c4
fix(click): account for transformed iframes (#18926)
- Properly convert coordinates for iframes with non-zero borders.
- IFrames that have `transform` anywhere in the ancestors skip
`hitPoint`-based check because we cannot reliably translate the viewport
point into frame document's coordinates.

Fixes #18245.
2022-11-18 16:51:39 -08:00
Yury Semikhatsky c0d0f54a12
feat(runner): allow filtering setup and tests (#18900)
Running `npx playwright test file:123` will have the following behavior
- if only test files match then only matching subset of tests will run
but all setup files will run as well
- if only setup files match the filter then only those setup tests will
run
- if both setup and test files match an error will be thrown
2022-11-18 11:35:29 -08:00
Playwright Service 7c5e4241b1
feat(chromium-tip-of-tree): roll to r1061 (#18899)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-11-18 08:01:01 -10:00
Dmitry Gozman 1ec0bb277d
feat(expect): ensure at least one expectation check, no matter the timeout (#18895)
References #18859.
2022-11-17 19:43:10 -08:00
Yury Semikhatsky 0f4b67bc6d
test(cli): setup files are in list-files and test --list output (#18890) 2022-11-17 16:31:04 -08:00
Pavel Feldman b1acc0d0ea
chore: render user-friendly intermediate match values (#18867) 2022-11-16 18:05:36 -08:00
Pavel Feldman 4e58b0c2ea
chore: render timed out error message when expect timeouts (#18863)
Fixes https://github.com/microsoft/playwright/issues/18859
2022-11-16 17:00:42 -08:00
Yury Semikhatsky 05fb3e6de8
Revert "chore: hide TestProject.setup and TestInfo.storage (#18800)" (#18836)
Now that the patch has been cherry-picked to the release branch
reverting it on main.

This reverts commit 6deba5dc21.
2022-11-16 11:23:10 -08:00
Andrey Lushnikov c47c90cc25
chore: update WebKit browser version to 16.4 (#18830) 2022-11-15 12:46:15 -08:00
Pavel Feldman 20d4d4f4b4
fix(vue2): include hooks into the npm package (#18826)
Fixes: https://github.com/microsoft/playwright/issues/18812
2022-11-15 11:02:53 -08:00
Dmitry Gozman f5b4e499fb
fix(locators): frameLocator().nth serialized correctly (#18819)
Fixes #18798.
2022-11-15 10:50:46 -08:00
Pavel Feldman 5c530154f9
chore(electron): filter test args out (#18822) 2022-11-15 10:48:24 -08:00
Pavel Feldman dbf3fc5089
fix(electron): stall node while browser is starting (#18804)
Fixes https://github.com/microsoft/playwright/issues/17765
2022-11-14 22:01:54 -08:00
Yury Semikhatsky 6deba5dc21
chore: hide TestProject.setup and TestInfo.storage (#18800) 2022-11-14 17:03:01 -08:00
Pavel Feldman 6258ed53f0
fix: recorder dark theme and strict explore locator parser (#18801) 2022-11-14 16:49:15 -08:00
Pavel Feldman 59418aa6f3
chore: ignore untrusted clicks when recording (#18796)
Fixes https://github.com/microsoft/playwright/issues/18776
2022-11-14 15:16:25 -08:00
Dmitry Gozman bc6617b4ca
chore: verify tab groups in docs during lint (#18768)
This extracts the logic from playwright.dev so that we get early
warnings.
2022-11-14 13:05:05 -08:00
Playwright Service 1e309f375a
feat(webkit): roll to r1736 (#18475)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-11-14 10:36:52 -08:00
Pavel Feldman 4bbfcef792 Revert "chore: support narrow terminal windows for messages (#18714)"
This reverts commit 23171c5037.
2022-11-14 08:47:17 -08:00
Pavel Feldman 8e882fdd58
chore: make generated report writable (#18750)
Fixes: https://github.com/microsoft/playwright/issues/18747
2022-11-13 12:46:35 -08:00
Playwright Service 1b13519984
feat(chromium): roll to r1034 (#18736) 2022-11-11 17:11:58 -08:00
Playwright Service 49f6a965c6
feat(chromium-tip-of-tree): roll to r1059 (#18753) 2022-11-11 17:11:17 -08:00
Dmitry Gozman a7b2b04588
fix(getByRole): name and exact (#18719)
Following the `getByText()` and other methods:

- By default, matching is substring and case-insensitive. Before, it was
only case-insensitive, but not substring.
- With new option `exact: true`, matching is full string and
case-sensitive.
- Matching always normalizes whitespace.
- Codegen generates `exact: false` by default.
- `internal:role` treats `[name="foo"i]` as non-exact match.

Various fixes:
- Updated `getByRole` docs to match the reality.
- Locator generator edge cases.
2022-11-11 15:58:36 -08:00
Andrey Lushnikov bc78db07df
chore: cut 1.28 branch (#18746) 2022-11-11 15:30:15 -08:00
Andrey Lushnikov 251cc9e229
chore: fix docs (#18751) 2022-11-11 13:44:40 -08:00
Andrey Lushnikov 7685c929bf
chore: use '--disable-component-update' flag to avoid component updates (#18745) 2022-11-11 13:44:09 -08:00
sand4rt 46559a37c1
fix(ct): setting ctTemplateDir does not work (#18152)
closes: https://github.com/microsoft/playwright/issues/18116
2022-11-11 09:52:39 -08:00
Andrey Lushnikov 26044c11c0
fix(webserver): do not spawn webserver as a new process group (#18564)
This patch stops using `processLauncher` to launch web servers. Process
Launcher
will spawn a new process group which is separate from test runner.

This might result in unexpected behavior, e.g. `kill -sigkill
-<testrunnerpid>` will orphan web server process.

Instead, this patch simply spawns web server and sends `SIGTERM` to it
when ready.
2022-11-10 22:30:06 -08:00
Andrey Lushnikov f3a99fdd69
chore: address API review comments for the snapshotPathTemplate (#18716)
This patch:
- updates documentation to lead users from `TestConfig.snapshotDir` and
  `testInfo.snapshotSuffix` to `TestConfig.snapshotPathTemplate` as a
  better and more flexible alternative.
- drops `{snapshotSuffix}` from documentation
- stops using `snapshotSuffix = ''` in our own tests and switches us
  to the `snapshotPathTemplate`.
- adds `{testName}` token.
2022-11-10 17:23:57 -08:00
Pavel Feldman d5eb74fa5d
chore: allow toggling recorder/traceviewer color modes (#18718)
Fixes: https://github.com/microsoft/playwright/issues/18700
2022-11-10 17:20:09 -08:00
Andrey Lushnikov dfb4ad388a
feat: support custom png comparator (#18689)
This way we might experiment with different custom PNG comparators
for VRT.
2022-11-10 16:16:05 -08:00
Pavel Feldman e42583f477
chore: soften selectors and hit target colors (#18709)
Fixes: https://github.com/microsoft/playwright/issues/18618
2022-11-10 16:04:12 -08:00
Chris Alley 1ec614bfc4
docs: fix grammar within class test API documentation (#18627) 2022-11-10 15:53:48 -08:00
Andrey Lushnikov 23171c5037
chore: support narrow terminal windows for messages (#18714)
This patch starts using a message box that's not really a box and thus
is better behaving on a narrow-width terminals.

Before:
<img width="744" alt="image"
src="https://user-images.githubusercontent.com/746130/201216551-abbac0f8-71b4-413f-9f4e-159c7123ef3d.png">

After:
<img width="745" alt="image"
src="https://user-images.githubusercontent.com/746130/201216504-25257727-06c8-4ae9-8557-a2d937b7ca0b.png">

Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2022-11-10 15:50:52 -08:00
Andrey Lushnikov db826c9c8c
chore: drive-by fixes for the snapshotPathTemplate (#18715)
- Use `snapshotPathTemplate` for docker screenshots in html-reporter
- Mark the snapshot path template test as slow since it re-spawns
  worker for each project.
- Fix docker smoke tests
2022-11-10 15:50:13 -08:00
Max Schmitt 56d7d47d43
fix(codegen): make select work with size attribute (#18712)
Fixes https://github.com/microsoft/playwright/issues/18711
2022-11-10 15:06:53 -08:00
Yury Semikhatsky 0765182a4d
fix: conversion to snake case (#18707)
Fixes https://github.com/microsoft/playwright/issues/18695
2022-11-10 14:54:07 -08:00
Dmitry Gozman 194abc35cd
Revert #18561 "feat(test runner): test.reset() to reset options to default/config value" (#18704)
This reverts commit 6fef227f43.

Not shipping in 1.28.
2022-11-10 14:45:05 -08:00
Pavel Feldman ac25fdd74b
chore: fix ff tests with new events mode (#18708) 2022-11-10 12:59:27 -08:00
Dmitry Gozman 6d456d30dc
docs: improve test.describe.configure() (#18705) 2022-11-10 12:29:38 -08:00
Dmitry Gozman 7c80b77c57
feat(clear): remove clear() methods from all classes except Locator (#18703)
The preferred way is to use the locator, so we should not encourage the
use of `ElementHandle` or `Page` in the new APIs.
2022-11-10 12:29:14 -08:00
Pavel Feldman ca2e7ef199
chore: report paused signal to the debug controller clients (#18701) 2022-11-10 12:15:29 -08:00
Andrey Lushnikov f52fa4ceba
chore(snapshotPathTemplate): address review comments (#18702) 2022-11-10 11:37:41 -08:00
Pavel Feldman c25e67a0e7
chore: conditionally dispatch network events (#18687) 2022-11-09 21:10:57 -08:00
Dmitry Gozman cafa558845
fix(codegen): update priorites in selector generator (#18688)
- prefer `role=checkbox` over `input[type=checkbox]`
- prefer `#id` over `input[type=checkbox]` and `role=checkbox`
- prefer `text=foo` over `internal:has-text=foo`
- ignore `none` and `presentation` roles
- remove non-strict support
2022-11-09 17:22:13 -08:00
Andrey Lushnikov 6d491f928d
feat(playwright-test): introduce snapshotPathTemplate configuration (#18568)
This configuration option allows to set a string with template
values for precise control over snapshot path location.

An example of `snapshotPathTemplate` usage:

```ts
// playwright.config.ts
// Notice the `testDir` configuration!
export default {
  testDir: './tests',
  snapshotPathTemplate: './__screenshots__/{platform}/{projectName}/{testFilePath}/{arg}{ext}',
}
```

Currently supported "magic tokens" inside the `snapshotPathTemplate`
are:

- `{testDir}` - project's `testDir`
- `{snapshotDir}` - project's `snapshotDir`
- `{platform}` - `process.platform`
- `{projectName}` - Project's sanitized name
- `{testFileDir}` - Directories in relative path from `testDir` to test
  file path (e.g. `page/` in the example below)
- `{testFileName}` - Test file name (with extension) (e.g.
  `page-click.spec.ts` in the example below)
- `{testFilePath}` - Relative path from `testDir` to test file path
  (e.g. `page/page-click.spec.ts` in the example below)
- `{ext}` - snapshot extension (with dots)
- `{arg}` - joined snapshot name parts, without extension (e.g.
`foo/bar/baz` in the example below)
- `{snapshotSuffix}` - `testInfo.snapshotSuffix` value.

Consider the following file structure:

```
playwright.config.ts
tests/
└── page/
    └── page-click.spec.ts
```

The following `page-click.spec.ts`:

```ts
// page-click.spec.ts
import { test, expect } from '@playwright/test';

test('should work', async ({ page }) => {
  await expect(page).toHaveScreenshot(['foo', 'bar', 'baz.png']);
});
```

Fixes #7792
2022-11-09 15:29:07 -08:00
Andrey Lushnikov 9bcb28f25a
Revert "feat: send SIGTERM to webserver before SIGKILL'ing it. (#18220)" (#18661)
This reverts commit c63a0b536d.

Reason: https://github.com/microsoft/playwright/pull/18564
2022-11-09 09:18:33 -08:00
Dmitry Gozman a7f1c8cb65
fix(codegen): fix csharp options syntax (#18662) 2022-11-08 21:48:01 -08:00
Dmitry Gozman ef1b68a998
feat(locators): support frame locators in asLocator (#18653)
Drive-by: change `true` to `True` in python.

References #18524.
2022-11-08 17:08:08 -08:00
Playwright Service 54a235284a
feat(chromium-tip-of-tree): roll to r1058 (#18658)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-11-08 16:11:42 -08:00
Pavel Feldman b8bd4f7a48
chore: serialize config as a part of list-files (#18649) 2022-11-08 12:05:00 -08:00
Pavel Feldman 0355d8618f
chore: use provided value for the generated test id (#18631) 2022-11-08 12:04:43 -08:00
Dmitry Gozman 05b623e6b0
feat(locators): asLocator supports internal:has= (#18625)
The following snippet:
```js
rowLocator
    .filter({ hasText: 'John' })
    .filter({ has: page.getByRole('button', { name: 'Say hello' }) })

```

is shown in the logs:

```log
pw:api waiting for getByRole('listitem').filter({ hasText: 'John' }).filter({ has: getByRole('button', { name: 'Say hello' }) })
```
2022-11-08 08:47:02 -08:00
Yury Semikhatsky d5494edf71
feat(runner): TestOptions.storageStateName (#18587) 2022-11-07 16:27:38 -08:00
Dmitry Gozman 1cee65722b
fix(inspector): disable highlight during screenshot actions (#18621)
Fixes #18049.
2022-11-07 13:53:15 -08:00
Pavel Feldman 8432d1592f
chore: expose new locator apis on window.playwright (#18595) 2022-11-07 09:06:13 -08:00
Dmitry Gozman 6a65a43e9a
chore: use consistent asLocator() in all logs (#18586)
References #18524.
2022-11-04 15:19:16 -07:00
Yury Semikhatsky 25dc0bfacb
feat(runner): change storage fixture to TestInfo.storage() (#18584) 2022-11-04 14:28:25 -07:00
Dmitry Gozman 6fef227f43
feat(test runner): test.reset() to reset options to default/config value (#18561) 2022-11-04 09:03:29 -07:00
Dmitry Gozman 7a9f1b5ee4
fix(firefox): force fast shutdown after "xpcom-will-shutdown" phase (#18556) 2022-11-04 09:02:13 -07:00
Dmitry Gozman 227f47effb
feat(firefox): roll to 1364 and 1367, rebase page-drag.spec (#18559) 2022-11-04 08:53:50 -07:00
Playwright Service 7e65b1927a
feat(chromium-tip-of-tree): roll to r1057 (#18566) 2022-11-04 08:27:44 -07:00
Playwright Service ad39e7571d
feat(chromium-tip-of-tree): roll to r1056 (#18500)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-11-03 16:54:59 -07:00
Playwright Service ae811774b1
feat(chromium): roll to r1033 (#18558)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-11-03 16:21:39 -07:00
Pavel Feldman 3bc9e07daf
chore: parse locators strictly (#18553) 2022-11-03 15:17:08 -07:00
Yury Semikhatsky c8cd07594c
feat(runner): initialize context.storageState from storage entry (#18549) 2022-11-03 14:20:39 -07:00
Xiaoxing Ye 9338355e47
feat(testinfo): add name to attachment output name (#18440)
Per discussion in #12950, adding sanitized name to the output filename
prefix. This can make debugging easier, and the filename structure more
human friendly.
2022-11-03 13:54:51 -07:00
Andrey Lushnikov 8538f61a72
feat(containers): implement global network tethering for playwright server (#17719)
This patch implements a new mode of network tethering for Playwright
server & its clients.
With this patch:
- playwright server could be launched with the
`--browser-proxy-mode=tether` flag to engage in the new mode
- a new type of client, "Network Tethering Client" can connect to the
server to provide network traffic to the browsers
- all clients that connect to the server with the `x-playwright-proxy:
*` header will get traffic from the "Network Tethering Client"

This patch also adds an environment variable
`PW_OWNED_BY_TETHER_CLIENT`. With this env, playwright server will
auto-close when the network tethering client disconnects. It will also
auto-close if the network client does not connect to the server in the
first 10 seconds of the server existence. This way we can ensure that
`npx playwright docker start` blocks terminal & controls the lifetime of
the started container.
2022-11-03 13:47:51 -07:00
Pavel Feldman eac5cc98df
fix: compare selector when validating highlight (#18530) 2022-11-03 09:55:45 -07:00
Pavel Feldman 17c8554255
chore(recorder): explore using codemirror (#18529) 2022-11-03 09:55:23 -07:00
Yury Semikhatsky 45aa82242d
feat(runner): storage fixture (#18522) 2022-11-02 20:22:35 -07:00
Andrey Lushnikov c3cff485d1
feat(html): add --host and --port to the show-report command (#18517)
This enables serving HTML report from inside docker container.

Drive-by: restore default HTML serving port to 9323. This was
accidentally changed in 1.27 and mentioned in

https://github.com/microsoft/playwright/issues/16667#issuecomment-1269861623
2022-11-02 15:12:48 -07:00
Pavel Feldman 4d34a1a371
chore: do not generate role= selector, use internal (#18519) 2022-11-02 14:57:19 -07:00
Pavel Feldman b2e4f5652e
chore: do not update highlight on focus outside of the recording mode (#18516) 2022-11-02 14:09:02 -07:00
Dmitry Gozman 8292398692
docs: support custom hrefs for api links (#18514) 2022-11-02 13:35:51 -07:00
Yury Semikhatsky 1d2fc1e963
feat(runner): project.setup (#18486) 2022-11-01 23:44:30 -07:00
Pavel Feldman 67c9624924
chore: send structured codegen info to the debug controller (#18491) 2022-11-01 18:02:14 -07:00
Pavel Feldman 2183d9e9a2
chore: use codemirror for editor (#18482) 2022-11-01 15:04:30 -07:00
Dmitry Gozman c56877032d
fix(persistent): close browser instead of pages (#18485)
Previously, we closed pages one by one before closing the browser when
shutting down the persistent context. This logic was introduced in
https://github.com/microsoft/playwright/pull/4040 to properly finish
video recordings in persistent context.

Such a process makes it unnecessary brittle to close the persistent
context. For example, Chromium headless is sometimes unable to close the
last persistent page for unknown reasons.

Instead, we can just stop video recordings manually and close the
browser right away.

Fixes #18229.
2022-11-01 14:26:38 -07:00
sand4rt 4896b22616
chore(ct): bump vue to v2.7.13 (#18428) 2022-11-01 14:17:43 -07:00
Max Schmitt 57c2ed91d9
chore: fix language binding based install message (#18480) 2022-11-01 13:46:17 -07:00
Pavel Feldman 4d53fd9c63
chore: download android driver from the cdn (#18466) 2022-10-31 16:08:26 -07:00
Dmitry Gozman 9cc5ca0cd4
feat(firefox): process.env.PLAYWRIGHT_DISABLE_FIREFOX_CROSS_PROCESS (#18458) 2022-10-31 15:19:10 -07:00
Yury Semikhatsky 7337dd4e28
chore: revert project.{stage,run} (#18462) 2022-10-31 14:04:24 -07:00
sand4rt fbfec18678
fix(ct): vite base url (#17767) 2022-10-31 12:58:07 -07:00
Pavel Feldman 2c3fa1b1ff
chore: add explore locator parser (#18429) 2022-10-31 12:55:35 -07:00
Playwright Service 2d07c10888
feat(webkit): roll to r1735 (#18419) 2022-10-31 12:54:12 -07:00
Pavel Feldman a7f5f2d7a1
chore: allow not overriding media when creating context (#18413) 2022-10-31 09:09:52 -07:00
sand4rt fabe42dc28
chore(ct): bump vite to v3.2.1 (#18427) 2022-10-31 08:58:11 -07:00
sand4rt afca134c9f
feat(ct): vue3 ts api component as slot (#18425) 2022-10-31 08:57:21 -07:00
Playwright Service 2e2698fa9d
feat(chromium): roll to r1032 (#18437)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-30 21:03:06 -07:00
Playwright Service 5072263923
feat(chromium-tip-of-tree): roll to r1055 (#18418) 2022-10-28 19:09:59 -07:00
Pavel Feldman c07f06aa3f
chore: support dark theme in recorder & tv (#18389) 2022-10-27 16:50:41 -07:00
Pavel Feldman a3f30674d3
chore: roll highlightjs (#18382) 2022-10-27 16:49:54 -07:00
Playwright Service ce63a9b206
feat(firefox-beta): roll to r1365 (#18365)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-27 16:00:03 -07:00
Playwright Service 9115cbab18
feat(firefox): roll to r1362 (#18367)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-27 15:59:56 -07:00
Dmitry Gozman 2d3b2a0768
feat(test runner): test.describe.configure({ retries, timeout }) (#18388)
References #10825.
2022-10-27 15:53:27 -07:00
Dmitry Gozman c4404ea98f
docs: add examples and clarifications to getByText (#18380)
Also be more explicit about normalizing whitespace, event with exact
match.

Fixes #17831.
2022-10-27 10:27:18 -07:00
Pavel Feldman 041a98928b
chore: print where the browsers are downloaded from (#18360)
Fixes https://github.com/microsoft/playwright/issues/16926
2022-10-27 09:19:09 -07:00
Playwright Service 6eefe205f7
feat(firefox): roll to r1361 (#18353)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-26 15:27:25 -07:00
Playwright Service a75c23dd9b
feat(firefox-beta): roll to r1364 (#18310)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-26 15:27:13 -07:00
Pavel Feldman db456a020c
chore: do not point to node_modules in code frames (#18358)
Fixes https://github.com/microsoft/playwright/issues/18330
2022-10-26 15:18:31 -07:00
Pavel Feldman 1505a952fe
chore: make handle beforeunload when reusing the context (#18357)
Fixes: https://github.com/microsoft/playwright/issues/17903
2022-10-26 15:17:40 -07:00
Max Schmitt e25537f941
feat(android): add AndroidDevice.close event (#18306) 2022-10-25 18:18:14 -07:00
Yury Semikhatsky 63c41f88cd
chore: remove stale TODOs (#18331) 2022-10-25 15:21:04 -07:00
Max Schmitt ffc47271f2
fix(junit): escape null control character (#18325)
Fixes https://github.com/microsoft/playwright/issues/18322
2022-10-25 14:39:16 -07:00
Dmitry Gozman 0653692a5b
fix(selectors): :scope combined with other css should work (#18324)
Previously, we considered root when selector has `:scope` modifier, but
did not actually match it with other css specifiers, like in
`:scope.selected`.

Fixes #17824.
2022-10-25 14:31:39 -07:00
Max Schmitt 721ae2b3ed
fix: make reoccurring networkidle work (#18323)
Fixes https://github.com/microsoft/playwright/issues/18283

Signed-off-by: Max Schmitt <max@schmitt.mx>
2022-10-25 13:35:18 -07:00
Jean-François Greffier 0fe1998c72
feat(api): add clear() (#18296)
Add `clear()` method as a convenience shortcut for `fill('')`.
Implemented for AndroidDevice, ElementHandle, Frame, Locator and Page.

Fixes https://github.com/microsoft/playwright/issues/14041
2022-10-25 12:56:11 -07:00
Dmitry Gozman caa9c6a597
fix(test runner): make sure soft expect error does not mask a timeout flag (#18321)
We have to reliably know whether test timed out or not, and soft expect
error could have marked it with `status=failed` but it would still time
out. Now we have a separate `_didTimeout` flag for this.

Fixes #18023.
2022-10-25 12:34:15 -07:00
Pavel Feldman 37250cde17
chore: switch to the new debug controller harness (#18308) 2022-10-25 09:55:20 -07:00
Pavel Feldman d8ec7cba47
chore: don't generate new lines in codegen (#18309) 2022-10-25 09:02:06 -07:00
Dmitry Gozman 3cd64e1449
fix(check): support all ARIA roles that could be aria-checked (#18304)
Fixes #18193.
2022-10-25 06:11:11 -07:00
Dmitry Gozman 329b3eadb4
feat: locator.blur() (#18303)
Note this is only available on Locator. Fixes #10724.
2022-10-25 06:10:40 -07:00
Max Schmitt 805312b722
feat(android): add Android.{launchServer,connect} (#18263)
Fixes https://github.com/microsoft/playwright/issues/17538
2022-10-24 17:23:11 -07:00
Pavel Feldman d3948d1308
chore: enable debug controller testing (#18270) 2022-10-24 16:19:58 -07:00
Dmitry Gozman 9a684d39ab
feat(firefox): prepare to fission roll (#18302)
- Handle `Runtime.executionContextsCleared` event.
- Skip one auto-waiting test, because navigations now happen
asynchronously.
2022-10-24 16:03:56 -07:00
Pavel Feldman ab78865a8d
chore: render steps in list reporter (#18269) 2022-10-24 15:54:53 -07:00
Pavel Feldman 3f850d27e9
fix(highlight): fix the testing harness to be real (#18294) 2022-10-24 15:01:48 -07:00
Max Schmitt be67189a54
fix(fetch): throw on unexpected end of file brotli requests (#18223)
https://github.com/microsoft/playwright/issues/18190
2022-10-24 12:51:45 -07:00
Pavel Feldman 3c0832a0d9
chore: brush up the debug controller api (#18262) 2022-10-21 17:57:22 -07:00
Dmitry Gozman 48c44f2c78
fix(selectors): hasText and getByText exact match should consider full text (#18260)
Fixes #18259.
2022-10-21 16:29:45 -07:00
Dmitry Gozman d4053abd29
fix(video): do not produce frames much faster than desired fps (#18228)
Otherwise, we get very long but slow videos.

Fixes #18198.
2022-10-21 14:30:14 -07:00
Playwright Service 96aa42c541
feat(chromium): roll to r1031 (#18258)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-21 14:27:46 -07:00
Playwright Service 7a65e0cbb3
feat(ffmpeg): roll to r1008 (#18251)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-21 09:40:57 -07:00
Andrey Lushnikov c63a0b536d
feat: send SIGTERM to webserver before SIGKILL'ing it. (#18220)
We now will send `SIGTERM` to the webserver and wait for the `timeout`
before sending `SIGKILL` to it.

Fixes #18209
2022-10-21 08:55:06 -07:00
Playwright Service f5bc6ccc66
feat(chromium-tip-of-tree): roll to r1053 (#18232)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-21 08:47:32 -07:00
Pavel Feldman 5b1e4e08a5
chore: detect browser reuse based on the connection headers (#18230) 2022-10-20 18:30:37 -07:00
Sean Killeen 7ae447ea0f
docs: fix typos (#17919) 2022-10-20 13:46:37 -07:00
Pavel Feldman fb643940e5
chore: resolve filename in the resolution hook (#18221) 2022-10-20 13:30:34 -07:00
Pavel Feldman fb9555fb5d
fix(ts): resolve .js to .ts in non-ESM mode too (#18219)
Fixes https://github.com/microsoft/playwright/issues/18077
2022-10-20 12:21:22 -07:00
Pavel Feldman 05678c9986
docs: add custom test id attribute snippet (#18210)
Fixes https://github.com/microsoft/playwright/issues/18203
2022-10-20 10:54:57 -07:00
Max Schmitt c4d417e04a
chore: freeze WebKit on Ubuntu 18 (#18217) 2022-10-20 10:52:34 -07:00
Playwright Service 76cffad023
feat(firefox-beta): roll to r1363 (#18194)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-20 09:01:57 -07:00
Playwright Service e705053a87
feat(firefox): roll to r1360 (#18195)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-20 08:57:41 -07:00
sand4rt 4ed2a01d9c
core(ct): import paths (#18131) 2022-10-19 19:41:21 -07:00
sand4rt d8b037c559
feat(ct): solid update (#18074)
closes: https://github.com/microsoft/playwright/issues/15057
closes: https://github.com/microsoft/playwright/issues/15919

Signed-off-by: sand4rt <info@mesander.com>
2022-10-19 19:39:50 -07:00
Pavel Feldman 84daeafb3a
chore: use internal locator for role (#18187) 2022-10-19 19:38:47 -07:00
Pavel Feldman ad9729f246
chore: respect tsconfig paths in js files (#18191)
Fixes: https://github.com/microsoft/playwright/issues/17804
2022-10-19 19:38:14 -07:00
Max Schmitt af38449f42
fix(pwtest): fix focused line with dirname specified (#18189) 2022-10-19 15:05:59 -07:00
Dmitry Gozman 852a5c234b
feat(install): connection timeout (#18161)
- `PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT` for custom timeout.
- Bumped default timeout from 10s to 30s.
- Inlined `download.ts` to avoid extra plumbing.
- Removed optional arguments - we always pass them.
- Updated installation docs.

Fixes #18156.
2022-10-19 13:06:35 -07:00
Dmitry Gozman 9fe72a1da8
fix(test runner): remove unused type imports during transform (#18157)
Fixes #18117.
2022-10-19 13:06:11 -07:00
Pavel Feldman 909eda2432
chore: explore yield typed locator (#18188)
Fixes https://github.com/microsoft/playwright/issues/18018
2022-10-19 13:05:52 -07:00
Yury Semikhatsky 69092b153a
chore(codegen): do not generate waitForURL (#18167)
Fixes https://github.com/microsoft/playwright/issues/17179
2022-10-19 11:26:19 -07:00
Playwright Service f250ab5d2a
feat(webkit): roll to r1728 (#18169)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-19 08:53:18 -07:00
Playwright Service 60068a3ac8
feat(chromium): roll to r1030 (#18142)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-10-19 08:49:45 -07:00
Playwright Service e325adc42b
feat(firefox): roll to r1359 (#18171)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-19 08:37:52 -07:00
Playwright Service 8833bcba84
feat(firefox-beta): roll to r1362 (#18172)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-19 08:36:20 -07:00
Playwright Service bbb4eefe6f
feat(chromium-tip-of-tree): roll to r1052 (#18159)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-19 08:34:33 -07:00
Pavel Feldman 1b541c9932
chore: render typed locators in the trace viewer (#18166) 2022-10-18 19:23:40 -07:00
Yury Semikhatsky 11eb719d13
feat(runner): project run: "always" (#18160)
Projects marked with `run: 'always'` are non shard-able and run after
failures.
2022-10-18 17:18:45 -07:00
Pavel Feldman 739b64a09a
chore: render typed locators in the recorder (#18162) 2022-10-18 16:39:58 -07:00
Pavel Feldman 304a4ee8ec
chore: migrate to the internal:text selector (#18135) 2022-10-18 13:09:54 -07:00
sand4rt 098de5009e
chore: bump vite to 3.1.8 (#18095) 2022-10-18 13:09:32 -07:00
sand4rt e76adafc5b
feat(ct): vue3 html as slot (#18007) 2022-10-18 13:06:36 -07:00
sand4rt 49901c8ed7
feat(ct): typed hooks config (#18003) 2022-10-18 13:04:54 -07:00
sand4rt e0ce2a9bc1
fix(ct): vue2 do not destroy events on update (#17995) 2022-10-18 13:03:48 -07:00
sand4rt ced3efb688
fix(ct): render attributes (#17991) 2022-10-18 13:02:53 -07:00
Pavel Feldman 7ab4c17519
chore: support jsx/tsx syntax in test files (#18123)
Fixes https://github.com/microsoft/playwright/issues/17964
2022-10-18 12:45:33 -07:00
Pavel Feldman 928f7c8766
chore: port css parser to ts (#18134) 2022-10-18 12:44:48 -07:00
Pavel Feldman 64e80f0460
chore: beautify error message (#18002) 2022-10-18 11:16:47 -07:00
Playwright Service 8ff2eda16a
feat(webkit): roll to r1727 (#18138)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-18 08:23:26 +02:00
Dmitry Gozman 6d363888f2
fix(tracing): do not serialize buffers into the trace file (#18132)
Fixes #18126.
2022-10-17 16:17:25 -07:00
Playwright Service bac6df30e0
feat(webkit): roll to r1725 (#18100)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-17 12:59:57 +02:00
Yury Semikhatsky 7219a68b12
fix: exception in exposeFunction when oopif detaches (#18078)
The test is racy but it was reliably failing several times in 100
iterations.

Fixes https://github.com/microsoft/playwright/issues/18067
2022-10-14 08:37:42 -07:00
Playwright Service ef8268fb89
feat(chromium-tip-of-tree): roll to r1051 (#18084)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-14 15:47:52 +02:00
Max Schmitt 693ed9b19e
chore: wire sourcesChanged event to the ProtocolHandler (#18044)
https://github.com/microsoft/playwright/issues/18043
2022-10-13 19:38:25 +03:00
Max Schmitt a60073d664
fix(generator): .NET getByRole w/ name (#18060) 2022-10-13 08:23:43 -07:00
Yury Semikhatsky 08a3a269cd
feat(runner): project.canShard (#18037) 2022-10-12 14:34:22 -07:00
Max Schmitt e986e88c55
docs: fix wrong getByLabelText example (#18036) 2022-10-12 13:02:45 -07:00
Barbara Lócsi 347544db09
fix: override cookie even if new is expired (#17998) 2022-10-11 23:06:16 -07:00
Playwright Service 5484865583
feat(chromium-tip-of-tree): roll to r1050 (#18008) 2022-10-12 08:40:12 +03:00
Pavel Feldman ec1f8d17f0
fix(generator): generate nice locators for arbitrary selectors (#18010) 2022-10-11 17:50:41 -07:00
Yury Semikhatsky 3b8f63d703
feat(runner): project.stopOnFailure (#18009) 2022-10-11 17:04:01 -07:00
Pavel Feldman d5c4291a89
chore: don't fail on undefined video/trace (#17999)
Fixes #17396
2022-10-11 10:10:43 -07:00
sand4rt 1a43af3fb6
feat(ct): rerender to update (#17972) 2022-10-10 19:56:33 -07:00
Yury Semikhatsky 3592269caf
feat(runner): project.stage (#17971) 2022-10-10 17:56:18 -07:00
Yury Semikhatsky 2d72d0ba03
chore: remove config.groups (#17974) 2022-10-10 16:42:48 -07:00
Playwright Service f2dc1db7b6
feat(chromium-tip-of-tree): roll to r1049 (#17895)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-10 23:23:09 +03:00
Playwright Service b8864bf27a
feat(firefox): roll to r1358 (#17861)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-10 23:09:57 +03:00
Playwright Service 41e9247e44
feat(firefox-beta): roll to r1361 (#17857)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-10 23:08:58 +03:00
sand4rt da9276bd03
feat(ct): vue2 rerender complete (#17929)
Partial fix for https://github.com/microsoft/playwright/issues/15919
2022-10-10 12:49:52 -07:00
sand4rt 410b4447c8
feat(ct): typed hooks (#17935) 2022-10-10 12:46:42 -07:00
sand4rt 3a281364d8
feat(ct): svelte rerender (#17940) 2022-10-10 12:45:48 -07:00
Pavel Feldman 37b04e5391
chore: better integrity error message (#17959)
Fixes https://github.com/microsoft/playwright/issues/17955
2022-10-10 12:34:25 -07:00
Pavel Feldman 35a5e805b3
fix(codegen): use constants when generating C# and Java roles (#17961)
Fixes #[17960](https://github.com/microsoft/playwright/issues/17960)
2022-10-10 12:25:56 -07:00
Oliver Sand 6b01df6d92
fix: fix typo in treeitem role typing (#17952) 2022-10-10 20:57:55 +03:00
Playwright Service afe23ffa73
feat(chromium): roll to r1029 (#17917)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-08 09:02:13 +03:00
Yury Semikhatsky 639b28db3b
fix: noWaitAfter option for hover (#17856)
Fixes https://github.com/microsoft/playwright/issues/17833
2022-10-07 12:43:48 -07:00
Yury Semikhatsky 1b5c2f9aba
fix(trace): show waitForLoadState when event has already fired (#17826)
Fixes https://github.com/microsoft/playwright/issues/17807
2022-10-07 11:27:56 -07:00
Yury Semikhatsky b140b29df0
docs: clarify routeFromHAR.update semantics (#17887) 2022-10-07 11:27:25 -07:00
Dmitry Gozman df4498e7ee
docs: mention that exact option is ignored for regex (#17912) 2022-10-07 10:19:13 -07:00
Dmitry Gozman ca54643f7d
chore: fix docker tests in branch, attempt 2 (#17908) 2022-10-07 09:21:33 -07:00
Dmitry Gozman 51a8807f6b
chore: make local docker build work on branch (#17896)
Branch does not pass `isDevelopmentMode` check because it does not have
a version ending with `-next`. Therefore, `env.PWTEST_DOCKER_BASE_IMAGE`
is ignored which leads to the pull of non-existent image.
2022-10-07 06:55:26 -07:00
Dmitry Gozman b64457d8ce
fix(locators): make regex escape work when multiple spaces are present (#17893) 2022-10-06 16:23:40 -07:00
sand4rt c889b2ad26
feat(ct): vue3 rerender complete (#17069) 2022-10-06 15:07:32 -07:00
Pavel Feldman 8b018f6b41
chore: make role name case-insensitive (#17888) 2022-10-06 14:35:10 -07:00
Pavel Feldman eb4baf76bf
feat(api): make aria roles an enum (#17885) 2022-10-06 11:34:22 -07:00
Dmitry Gozman 9a12ae9890
chore(docker): make sure failed commands exit with non-zero code (#17863) 2022-10-05 21:31:50 -07:00
Pavel Feldman c0e4caa604
fix(esm+tsconfig): allow mapped ts files in esm mode (#17862)
Fixes https://github.com/microsoft/playwright/issues/17840
2022-10-05 18:00:49 -07:00
Pavel Feldman f2685cab95
chore: use api selectors in codegen hover (#17855) 2022-10-05 17:59:34 -07:00
Dmitry Gozman ed6ecbca2a
chore: cut v1.27.0 (#17859) 2022-10-05 15:30:35 -07:00
Dmitry Gozman 6750a02506
fix(api): hide TestConfig.groups (#17853)
Also fix types for `FullConfig.configFile`.
2022-10-05 14:24:14 -07:00
Pavel Feldman 3ecaa36e25
chore: make locators generator isomorphic (#17850) 2022-10-05 13:13:22 -07:00
Dmitry Gozman 30179d4d78
fix(tsconfig): remove TS_NODE envs, update docs (#17847)
References #17469.
2022-10-05 12:51:12 -07:00
Pavel Feldman c168f5494f
chore: generate getByLabel for inputs (#17845) 2022-10-05 12:02:15 -07:00
Pavel Feldman ff15fcf911
chore: hide selector factories (#17844) 2022-10-05 12:00:01 -07:00
Stephen Li 0b1b718afc
feat(core): type addInitScript function arg (#17651)
Allows autocomplete on the arg passed to the init script

```ts
await page.addInitScript((arg) => {
    window.localStorage.setItem('init_user_state', JSON.stringify(arg.initUserState)) // arg was previously 'any'
}, {
    initUserState: { foo: 'bar' },
})
```
2022-10-05 09:08:30 -07:00
Dmitry Gozman 2bcd9ce9ae
chore: internal selectors (#17827)
- Rename internal selectors `has`, `control` and `attr` to
`internal:has`, `internal:control` and `internal:attr`.
- Fix `getByLabel()` to respect strictness, by introducing
`internal:label` selector.
- Move tests essential for ports to `selectors-by.spec`.
2022-10-05 08:45:10 -07:00
Dmitry Gozman a9c02b9753
fix(locators): properly escape various locator methods (#17798)
References #17604.
2022-10-04 13:21:38 -07:00
Pavel Feldman 8810b55504
feat(api): shorted getByLabel, getByPlaceholder (#17816) 2022-10-04 10:29:26 -07:00
Pavel Feldman 1311767f87
chore: generate api calls (#17794) 2022-10-03 17:14:02 -07:00
Playwright Service ade75d66cf
feat(firefox-beta): roll to r1360 (#17793)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-03 17:07:18 -07:00
Playwright Service b364d1c6ac
feat(firefox): roll to r1357 (#17786)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-03 17:04:57 -07:00
Dmitry Gozman b07690f408
docs: use getBy... in documentation (#17795) 2022-10-03 17:02:46 -07:00
Playwright Service 7fb3cb497d
feat(webkit): roll to r1724 (#17753) 2022-10-03 10:28:57 -07:00
Pavel Feldman 42a4d8a829
chore(codegen): prioritize role selectors (#17750) 2022-10-03 08:44:24 -07:00
Max Schmitt 4306b38c2e
chore: download browsers out of process (#17743)
https://github.com/microsoft/playwright/issues/17394
2022-10-01 01:06:36 +02:00
Yury Semikhatsky 9b35a8071f
fix(fetch): support SameSite attribute (#17748)
Fixes https://github.com/microsoft/playwright/issues/17398
2022-09-30 15:01:59 -07:00
Playwright Service 4a32010dbc
feat(chromium): roll to r1028 (#17749)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-30 23:53:16 +02:00
Pavel Feldman 5754fb9c6d
chore: do not emit comments from codegen (#17747) 2022-09-30 12:36:54 -07:00
Yury Semikhatsky ef32cab423
chore: turn RunPhase in a class with helper methods (#17721) 2022-09-30 09:12:06 -07:00
Han Yeong-woo ce2ded1f7e
docs(assertions): fix wrong link (#17733) 2022-09-30 11:07:14 +02:00
Andrey Lushnikov 5b57789c6d
devops: proper error for the Webkit @ MacOS 10.15 (#17731)
The error looks like this:

```
aslushnikov:~/prog/playwright(main)$ npx playwright wk
[object.<anonymous>: Browser closed.
==================== Browser output: ====================
<launching> /Users/andreylushnikov/Library/Caches/ms-playwright/webkit-1616/pw_run.sh --inspector-pipe --no-startup-window
<launched> pid=15076
[pid=15076][out] ****************************************************************
[pid=15076][out] ****************************************************************
[pid=15076][out]
[pid=15076][out] ERROR: MacOS version is too old!
[pid=15076][out]
[pid=15076][out] This version of Playwright does not support running
[pid=15076][out] WebKit on MacOS 10.15. Please either:
[pid=15076][out] - update your operating system to version 11 or higher
[pid=15076][out] - use Playwright v1.25 or older
[pid=15076][out]
[pid=15076][out] ****************************************************************
[pid=15076][out] ****************************************************************
[pid=15076] <process did exit: exitCode=1, signal=null>
[pid=15076] starting temporary directories cleanup
=========================== logs ===========================
```

Fixes #17699
2022-09-30 01:40:17 -07:00
wodyjowski 33bbb15e30
fix: grid connection invalid method (#17706)
This patch fixes invalid method (GET instead of POST) used when
connecting to Selenium Grid by http with proxy.

Fixes #17707
2022-09-30 00:41:03 -07:00
Playwright Service f1f4af2f7d
feat(firefox): roll to r1356 (#17685)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-29 21:47:03 -07:00
Pavel Feldman bfb8a43ece
feat(api): all getByTitle, getByAltText (#17724) 2022-09-29 21:45:44 -07:00
Playwright Service 7d3997e620
feat(firefox-beta): roll to r1359 (#17681)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-29 21:45:21 -07:00
Pavel Feldman 6e839ff404
fix(test): remove component.get usages (#17723) 2022-09-29 20:18:26 -07:00
Pavel Feldman 083fb4401c
feat(api): add getByPlaceholderText (#17722) 2022-09-29 18:12:49 -07:00
Yury Semikhatsky 51966bc045
fix: --grep and --grep-invert should intersect with config (#17716)
Fixes https://github.com/microsoft/playwright/issues/17405
2022-09-29 16:39:21 -07:00
Andrey Lushnikov d897407833
chore: hide docker integration behind the curtain (#17715)
This is not ready for the prime time yet.
2022-09-29 14:22:09 -07:00
Max Schmitt d009500fa1
chore: fix WebKit deps on Ubuntu 18 (#17718) 2022-09-29 23:15:04 +02:00
Pavel Feldman e09945c637
chore: handle unexpected ws response (#17714) 2022-09-29 14:04:19 -07:00
Pavel Feldman a97deb1600
chore: hide reporter project id (#17710) 2022-09-29 12:51:06 -07:00
Pavel Feldman b4ee84fb0c
chore(api): remove locator.get() (#17709) 2022-09-29 12:50:52 -07:00
Max Schmitt d715ad116d
chore: fix WebKit on debian after deps changes (#17712)
Follow-up on https://github.com/microsoft/playwright/pull/17676.
2022-09-29 21:14:33 +02:00
Pavel Feldman e3a2316013
feat(api): add getByLabelText (#17684) 2022-09-29 11:06:58 -07:00
Yury Semikhatsky 43ccd7bc96
chore(runner): remove watch mode (#17682) 2022-09-29 10:20:21 -07:00
Dmitry Gozman a49ea7357a
fix(firefox): remove pref override (#17674)
There is no need for the workaround anymore.

Fixes #17528.
2022-09-29 09:22:39 -07:00
Playwright Service afa9c1528b
feat(webkit): roll to r1722 (#17676) 2022-09-29 09:00:31 -07:00
Yury Semikhatsky 9f17ee6871
feat: group filter (#17646) 2022-09-28 18:45:01 -07:00
Pavel Feldman 2a85806cc0
chore: follow up to getTestById, escape it (#17650) 2022-09-28 09:23:47 -07:00
Playwright Service fbef53ba6c
feat(firefox): roll to r1355 (#17640)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-09-28 07:13:30 -07:00
Playwright Service 1a0c54dd46
feat(firefox-beta): roll to r1358 (#17643)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-28 07:10:09 -07:00
Playwright Service 7896346810
feat(chromium-tip-of-tree): roll to r1046 (#17653)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-09-28 12:13:07 +02:00
Playwright Service 57c4f703a7
feat(chromium): roll to r1027 (#17641)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-09-28 10:53:21 +02:00
Pavel Feldman d8f67eb75d
feat(api): introduce getByTestId (#17645) 2022-09-27 21:06:07 -07:00
Playwright Service 57337e8df8
feat(firefox): roll to r1354 (#17601)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-09-27 17:48:32 -07:00
Pavel Feldman d9a28bd244
feat(api): introduce get/getByText/getByRole (#17577) 2022-09-27 16:13:56 -07:00
Pavel Feldman 8ad201b802
chore: add snippet to the json report (#17567) 2022-09-27 13:23:08 -07:00
Pavel Feldman 06e73b414f
chore: move connect utility into localUtils (#17590) 2022-09-27 13:05:06 -07:00
Dmitry Gozman 3409a37f77
feat: allow opening multiple html reporters and trace viewers (#17636)
This makes `HttpServer` accept `preferredPort` option that will first
try to listen on that port, and if that port is already in use, listen
on some available port instead.

Fixes #17201.
2022-09-27 12:45:42 -07:00
Pavel Feldman bfd38bf7df
chore: introduce md templates (#17632) 2022-09-27 10:29:34 -07:00
Playwright Service c25fb04030
feat(firefox): roll to r1353 (#17598)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-27 10:13:42 -07:00
Playwright Service a3d89e0de3
feat(firefox-beta): roll to r1356 (#17597)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-27 10:11:59 -07:00
Pavel Feldman 3a13a897b9
Revert "fix(pwt): compatibility in CWD with wrong casing (#16636)" (#17599) 2022-09-26 18:53:08 -07:00
Yury Semikhatsky 72a24973f3
fix: ignore timing data when request served from memory cache (#17595)
`Response.timing` contains stale data when the request is served from
memory cache, in that we should ignore it and return -1 where we don't
know the value.

Fixes https://github.com/microsoft/playwright-java/issues/1080
2022-09-26 17:12:47 -07:00
Max Schmitt cf75f8ca20
chore: custom error if HTML report gets uploaded in Trace Viewer (#17558)
Fixes https://github.com/microsoft/playwright/issues/17309
2022-09-26 20:57:05 +02:00
Playwright Service d6dbfe547f
feat(webkit): roll to r1721 (#17591)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-26 20:39:52 +02:00
Ross Wollman e73676d094
fix(reporters): output relative to config (#17518)
Fixes #17412.
Supercedes #17413.

- if configured via playwright.config.ts, relative paths should be
relative to the config.
- if configured via env var, should be relative to `cwd`
2022-09-26 11:01:43 -07:00
Yusuke Iwaki f5d7089819
fix: accept post data params for request.get and request.head (#17566) 2022-09-26 09:28:07 -07:00
Andrey Lushnikov ec40e49978
feat: expose configuration for HTML report serving. (#17560)
Fixes #16667
2022-09-25 20:36:38 -07:00
Yury Semikhatsky 10d7c60abf
feat(runner): project execution schedule (#17548) 2022-09-23 20:01:27 -07:00
Playwright Service 04f77f2319
feat(chromium): roll to r1026 (#17545)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-22 23:24:16 +02:00
Joey Arhar ab323122d8
feat(chromium): use Element.checkVisibility in isElementVisible (#16592)
Element.checkVisibility is a new browser API that was shipped in
chromium 105:
https://bugs.chromium.org/p/chromium/issues/detail?id=1309533

Using checkVisibility accounts for the content-visibility:hidden in the
user-agent ShadowRoot of the details element, which means we can remove
the usage of the AutoExpandDetailsElementFlag (I am trying to remove the
flag in chromium).

This behavior is covered by the existing "isVisible and isHidden should
work with details" test in locator-convenience.spec.ts.
2022-09-22 13:48:58 -07:00
Andrey Lushnikov 4cd2176155
feat(containers): introduce separate container commands (#17541)
This patch introduces hidden commands to control container
lifecycle:
- `npx playwright docker install-server-deps` to install fluxbox,
  vnc, novnc & to configure them.
- `npx playwright docker run-server` to run a server inside the
  container.

Drive-by: remove old version of container image when building a new
version with the same name. This way we won't pile up untagged
container images.
2022-09-22 13:38:54 -07:00
Andrey Lushnikov 6b4afbb8df
chore: support http protocol with browserType.connect() (#17483) 2022-09-22 11:59:58 -07:00
sand4rt 9564306297
feat(ct): solid render children complete (#17417) 2022-09-21 21:16:30 -07:00
sand4rt d85d615846
feat(ct): type-safe hook config (#17232) 2022-09-21 21:14:20 -07:00
Pavel Feldman cb10ef3c71
chore: rename reuseController to debugController (#17520) 2022-09-21 15:35:52 -07:00
Dmitry Gozman f17d345ac9
fix(ct): support empty fragments (#17475)
Currently, we ues `#root` vs `#root > *` selector for component roots
depending on the number of root children. This heuristic detects
fragments that render multiple elements inside the root.

However, this does not work with empty fragments that do not render
anything.

The fix is to make the `#root >> control=component` selector that would
dynamically detect the root. This supports empty fragments and also
allows for dynamic updates of the fragments.
2022-09-21 15:12:18 -07:00
Andrey Lushnikov d431958603
chore: move container integration back to playwright-core (#17487) 2022-09-21 12:45:43 -07:00
Jean-François Greffier a15fe50e7b
feat(test runner): workers as percentage (#17400)
Allows to set workers as a percentage of logical CPUs, for example
"50%".

Examples :
```bash
npx playwright test --workers 3
npx playwright test --workers 50%
```

```js
const config: PlaywrightTestConfig = {
  // ...
  workers: '33%',
}
```
2022-09-21 11:17:36 -07:00
Playwright Service d2300674ef
feat(firefox-beta): roll to r1355 (#17492)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-21 11:13:07 -07:00
Playwright Service 292b3e998e
feat(firefox): roll to r1352 (#17494)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-21 11:12:45 -07:00
Dmitry Gozman da7feb9cc6
fix(esm): silence warning when running with experimental loader (#17493)
Unfortunately, this silences all warnings, not just the experimental
loader warning.
2022-09-21 10:56:17 -07:00
Philip Langer 26150b7064
docs: fix typo persistet -> persisted (#17498) 2022-09-21 13:58:34 +02:00
Jérémy Lal 840a1f6436
chore: replace __proto__ by getPrototypeOf (#17386) 2022-09-20 19:01:12 -07:00
Pavel Feldman df143031e7
chore: move protocol and trace types into the top-level packages (#17486) 2022-09-20 18:41:51 -07:00
Yury Semikhatsky cd9a5946d2
fix(expect): toHaveAttribute with empty value should not match missing attribute (#17477)
Reference #16517
2022-09-20 17:11:12 -07:00
Playwright Service 68f029e047
feat(chromium-tip-of-tree): roll to r1044 (#17474)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-21 00:39:48 +02:00
Pavel Feldman 3abbe0d850
chore: migrate codegen to controller events (#17450) 2022-09-20 14:32:21 -07:00
Bastian 29ff00ead2
docs(cli): typo in --debug flag (#17455) 2022-09-20 14:00:59 +02:00
Playwright Service 426301dc6d
feat(firefox): roll to r1351 (#17391)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-19 08:52:37 -07:00
Playwright Service 57cc54fd96
feat(firefox-beta): roll to r1354 (#17414)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-19 08:50:38 -07:00
Pavel Feldman e9f926e536
fix(docker): do not sync primary selection into clipboard (#17424) 2022-09-19 06:08:40 -07:00
Max Schmitt ffbfacd732
docs: add code snippets for drag'n drop (#17390)
Fixes https://github.com/microsoft/playwright.dev/issues/775
2022-09-19 13:00:46 +02:00
Yury Semikhatsky ee83694372
chore(runner): remove unnecessary traversal (#17415) 2022-09-16 15:45:52 -07:00
Ross Wollman 8d639ae50e
chore: revert toHaveAttribute type sig and overloads (#17406)
Relates #16517.

Revert "docs(python): add missing NotToHaveAttribute overloads (#17371)"

This reverts commit 2e1ea29614.

Revert "docs(release-notes): add 1.26 release notes for language ports
(#17345)"

This reverts commit 4b8a85e69d.

Revert "test: unflake "should support boolean attribute with options"
(#17024)"

This reverts commit 1dc05bd4c6.

Revert "fix: support toHaveAttribute(name, options) (#16941)"

This reverts commit f30ac1d678.

Revert "feat: expect(locator).toHaveAttribute to assert attribute
presence (#16767)"

This reverts commit 622c73cc1e.
2022-09-16 11:17:35 -07:00
Pavel Feldman a6d9aa8708
fix(docker): use config to set up walpaper (#17399) 2022-09-16 09:27:59 -07:00
Playwright Service 1303e3e355
feat(chromium-tip-of-tree): roll to r1043 (#17384)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-16 11:00:27 +02:00
Playwright Service 58b43004d2
feat(chromium): roll to r1025 (#17372)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-16 10:59:17 +02:00
Playwright Service 8d696868c1
feat(webkit): roll to r1719 (#17364)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-16 10:58:22 +02:00
Andrey Lushnikov 7019cc8b97
feat(docker): closeAllBrowsers command for reuseController (#17383) 2022-09-15 20:38:28 -07:00
Dmitry Gozman 43304e980d
feat: show browser.close() stack in "Browser has been closed" error (#17376)
Often times we see "Browser has been closed" error, but it's not
entirely clear why. Showing the close stack might help.

```js
page.goto: Connection closed
    ==== Closed by ====
    at /Users/dgozman/code/playwright/tests/library/browsertype-connect.spec.ts:477:32
```
2022-09-15 17:04:41 -07:00
Andrey Lushnikov 24d3a23a66
fix(docker): handle container name conflict usecase. (#17379)
Drive-by: typo in the JSON docker status field.
2022-09-15 16:59:41 -07:00
Pavel Feldman 872bcc9734
chore: expose driver protocol on the pw object (#17363) 2022-09-15 15:53:18 -07:00
Andrey Lushnikov b09ea69024
chore(docker): address docker offline comments (#17377)
This patch:
- Removes all `process.exit(1)` from `docker.ts` and instead throws
  errors.
- Drops the `npx playwright docker test` command. We agreed to
  engage docker when `PLAYWRIGHT_DOCKER` environment variable
  is set.
- Introduces hidden `npx playwright docker status` command that
  dumps a JSON with docker status:
  ```sh
  aslushnikov:~/prog/playwright$ npx playwright docker status
  {
    "dockerEngineRunning": true,
    "imageName": "playwright:local-1.27.0-next-focal",
    "imageIsPulled": true,
"containerWSEndpoing":
"ws://127.0.0.1:55077/eafeb84c-571b-4d12-ac51-f6a2b43e9155",
"containerVNCEndpoint":
"http://127.0.0.1:55076/?path=fb6d4add-9adf-4c3c-b335-893bdc235cd7&resize=scale&autoconnect=1"
  }
  ```
2022-09-15 15:48:12 -07:00
Pavel Feldman 30ff27843a
chore: rebuild components on new vite (#17367) 2022-09-15 15:24:01 -07:00
Dmitry Gozman e1a2f7a168
fix(socks proxy): destroy sockets on close to avoid hanging (#17349) 2022-09-14 21:15:46 -07:00
Andrey Lushnikov 58873908ba
devops: add docker screenshot expectations for html-reporter tests (#17341) 2022-09-14 15:44:13 -07:00
Andrey Lushnikov 8466c436c9
fix(list reporter): properly count new lines for long stdout (#17339) 2022-09-14 15:25:24 -07:00
Pavel Feldman 854c783019
chore: project.id, configFile in reporter apis (#17346) 2022-09-14 14:56:28 -07:00
Max Schmitt 59c32bf2c6
Revert "chore(generator): use new .NET test attributes (#17172)" (#17344)
This reverts commit 15add13a6a.
2022-09-14 22:44:38 +02:00
Max Schmitt 4b8a85e69d
docs(release-notes): add 1.26 release notes for language ports (#17345) 2022-09-14 22:38:19 +02:00
Andrey Lushnikov e295eea450
fix(ignoreSnapshots): print a notice when ignoreSnapshots option is on (#17317)
<img width="1161" alt="image"
src="https://user-images.githubusercontent.com/746130/190032155-ae454c3e-1a7d-4a64-8cd6-bb27f9075ef3.png">
2022-09-14 09:16:41 -07:00
Andrey Lushnikov 210f7b2203
fix(docker): stop containers started with npx playwright docker start (#17316)
This patch makes `npx playwright docker stop` command to stop
containers that were launched with previous playwright version.
2022-09-13 17:08:01 -07:00
Andrey Lushnikov dfcd2a273d
fix(docker): do not pollute stdout when used with JSON reporter (#17315)
This patch moves parts of docker configuration to a plugin so that
it can rely on repoter for stdout.

Drive-by: provide all plugins with reporter in the `setup` callback.
2022-09-13 17:05:37 -07:00
Andrey Lushnikov 881f3101bd
chore(docker): consolidate docker code (#17314)
This patch consolidates all of docker implementation under the
`docker/` folder.
2022-09-13 16:14:49 -07:00
Yury Semikhatsky 35a86a2d02
docs(fetch): post file examples (#17312) 2022-09-13 16:05:57 -07:00
Andrey Lushnikov 4f11a4d5e7
feat(docker): use the __screenshots__ dir for snapshots by default (#17311)
This patch opts into the `__screnshots__` folder snapshot management
for docker.

With this patch, docker-originating snapshots will be stored in the
following folder:

```
{testDir}/__screenshots__/{projectName}/{testFilePath}/{snapshotName}
```

Where `{testFilePath}` is a test file path relative to `testDir`

Drive-by: introduce and document the `PLAYWRIGHT_DOCKER` environment
variable that enables docker integration.
2022-09-13 15:49:04 -07:00
Andrey Lushnikov 705bc28e92
feat(docker): auto-bind container ports to host ports (#17307)
Drive-by: make sure docker container does not expose ports on `0.0.0.0`
and instead registers to localhost. This way websocket and vnc ports
are not exposed to the public internet.
2022-09-13 13:23:04 -07:00
Andrey Lushnikov ebfefefc8e
chore: refactor docker integration code (#17297)
This patch splits out `dockerApi` namespace that is solely
responsible for docker API manipulation.
2022-09-13 10:55:11 -07:00
Max Schmitt 00a3b1b0a2
fix: make evaluate work with overridden Window/Document/Node (#17288)
Fixes https://github.com/microsoft/playwright/issues/17287
2022-09-13 18:21:07 +02:00
Andrey Lushnikov 8640d29ce4
chore(docker): address review comments (#17279)
Co-authored-by: Ross Wollman <rwoll@users.noreply.github.com>
2022-09-13 05:55:26 -07:00
sand4rt f61d3c9cc4
feat(ct): svelte type-safe hook config (#17237) 2022-09-12 21:00:41 -07:00
sand4rt eb3666328d
feat(ct): vue2 type-safe hook config (#17236) 2022-09-12 21:00:09 -07:00
Andrey Lushnikov bc942ef9ea
chore: cut v1.26.0 (#17265) 2022-09-12 10:45:27 -07:00
sand4rt 344077b04e
feat(ct): svelte mount type (#17228) 2022-09-12 09:30:04 -07:00
Jean-François Greffier 81bcbd284f
docs: migration typos (#17247) 2022-09-12 17:41:49 +02:00
Andrey Lushnikov af042beb13
feat: introduce docker integration (#16382)
This patch introduces the following commands:
- `npx playwright docker build` that builds a VRT docker image
  locally that is based off the `mcr.microsoft.com/playwright:jammy`
- `npx playwright docker start` that launches a docker container with
  browsers.
- `npx playwright docker stop` that stops given docker container.
- `npx playwright docker test` that runs all the tests inside a
  launched docker container.
2022-09-09 15:25:42 -07:00
Dmitry Gozman fa7caf4193
feat(cli): remove -i (#17229) 2022-09-09 15:07:15 -07:00
Yury Semikhatsky 24ee456d43
chore: make maxRedirects available in java, improve docs. tests (#17227) 2022-09-09 13:25:36 -07:00
Vincenzo Gasparo 17b203affb
feat: added follow and redirect arguments to fetch (#17033) 2022-09-09 12:14:42 -07:00
Dmitry Gozman bca13bc35a
feat(assertions): support toBeVisible({ visible }) (#17207) 2022-09-09 08:33:23 -07:00
Playwright Service 9e93913900
feat(chromium): roll to r1024 (#17203)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-09 14:36:55 +02:00
Playwright Service 0c663d9f58
feat(chromium-tip-of-tree): roll to r1041 (#17209)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-09 08:21:52 +02:00
Max Schmitt 5e56bc413a
chore: set default http request timeouts (#17200)
* chore: set default http request timeouts

* Update chromium.ts
2022-09-09 06:18:57 +02:00
Andrey Lushnikov ea7ef328e7
fix: inject caret-hiding style in every shadow tree (#16907)
Style inheritance disregards selector specificity, so we can't
dominate local shadow dom styles.

To mitigate this, we inject the style tag with caret-hiding
style in every shadowDom tree.

Fixes #16732
2022-09-08 09:50:08 -07:00
Andrey Lushnikov b0ff4f58ce
feat: implement --dry-run for npx playwright install (#17158)
* feat: implement `--dry-run` for `npx playwright install`

The `--dry-run` command prints URLs for browsers to be installed.

Demo output:

```
browser: chromium version 106.0.5249.21
  Install location:    /Users/andreylushnikov/Library/Caches/ms-playwright/chromium-1023
  Download url:        https://playwright.azureedge.net/builds/chromium/1023/chromium-mac-arm64.zip
  Download fallback 1: https://playwright-akamai.azureedge.net/builds/chromium/1023/chromium-mac-arm64.zip
  Download fallback 2: https://playwright-verizon.azureedge.net/builds/chromium/1023/chromium-mac-arm64.zip

browser: firefox version 104.0
  Install location:    /Users/andreylushnikov/Library/Caches/ms-playwright/firefox-1350
  Download url:        https://playwright.azureedge.net/builds/firefox/1350/firefox-mac-11-arm64.zip
  Download fallback 1: https://playwright-akamai.azureedge.net/builds/firefox/1350/firefox-mac-11-arm64.zip
  Download fallback 2: https://playwright-verizon.azureedge.net/builds/firefox/1350/firefox-mac-11-arm64.zip

browser: webkit version 16.0
  Install location:    /Users/andreylushnikov/Library/Caches/ms-playwright/webkit-1714
  Download url:        https://playwright.azureedge.net/builds/webkit/1714/webkit-mac-12-arm64.zip
  Download fallback 1: https://playwright-akamai.azureedge.net/builds/webkit/1714/webkit-mac-12-arm64.zip
  Download fallback 2: https://playwright-verizon.azureedge.net/builds/webkit/1714/webkit-mac-12-arm64.zip

browser: ffmpeg
  Install location:    /Users/andreylushnikov/Library/Caches/ms-playwright/ffmpeg-1007
  Download url:        https://playwright.azureedge.net/builds/ffmpeg/1007/ffmpeg-mac-arm64.zip
  Download fallback 1: https://playwright-akamai.azureedge.net/builds/ffmpeg/1007/ffmpeg-mac-arm64.zip
  Download fallback 2: https://playwright-verizon.azureedge.net/builds/ffmpeg/1007/ffmpeg-mac-arm64.zip
```

Fixes #16926
2022-09-08 09:05:09 -07:00
Playwright Service cf8f662f13
feat(webkit): roll to r1715 (#17192)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-08 18:00:55 +02:00
Max Schmitt aad745acab
docs: provide examples for connectOverCDP (#17189) 2022-09-08 18:00:28 +02:00
sand4rt 158408a2af
fix(ct): mount type (#17076) 2022-09-08 08:39:25 -07:00
sand4rt 3f941865a0
fix(ct): svelte slot type (#17074) 2022-09-08 08:39:00 -07:00
sand4rt 69b5104967
fix(ct): vue2 slot type (#17073) 2022-09-08 08:38:40 -07:00
sand4rt 80df84b49e
fix(ct): vue slot type (#17071) 2022-09-08 08:38:20 -07:00
Max Schmitt 1e517731ef
chore: have a socket timeout when downloading browsers (#17187) 2022-09-08 14:40:41 +02:00
Pavel Feldman 80e9c5dc55
fix(reuse): restore storage state (#17175) 2022-09-07 19:15:04 -07:00
Max Schmitt 15add13a6a
chore(generator): use new .NET test attributes (#17172) 2022-09-08 01:44:58 +02:00
Pavel Feldman c91df61ca3
chore: optionally connect instead of launching (#17174) 2022-09-07 15:57:20 -07:00
Cody Kaup 6a54b5ec88
chore: Fix README link (#17148) 2022-09-07 09:05:43 -07:00
Playwright Service 5a5011621b
feat(chromium-tip-of-tree): roll to r1040 (#17136)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-07 14:48:46 +02:00
Dmitry Gozman 6e1c94b5fe
fix(click): allow clicking inside closed shadow root (#16900)
Although Playwright selectors do not pierce closed shadow roots,
one can still obtain a reference to an element inside a closed shadow root:
- through `page.evaluate()`;
- through `handle.$()` where `handle` is inside the shadow root;
- through `frame.locator()` by choosing an iframe that belongs
  to a closed shadow root.

In this case, `click()` action fails during the hit check test,
but it's possible to make it work by going bottom up from the target
rather than top down from the document.
2022-09-06 17:55:15 -07:00
Pavel Feldman 8d25f2ef59
fix(selectors): allow custom engines in out-of-process (#17139) 2022-09-06 14:15:53 -07:00
Dmitry Gozman f0c5810609
feat(assertions): support toBeEditable({ editable }) (#17065) 2022-09-06 12:50:45 -07:00
Pavel Feldman 92f44e34d6
chore: silenсe best effort cleanup errors (#17137) 2022-09-06 12:48:40 -07:00
Dmitry Gozman 306ab34aa3
feat(assertions): support toBeEnabled({ enabled }) (#17058) 2022-09-06 11:40:34 -07:00
Dmitry Gozman b734f36f8b
fix(frameElement): should work for frames inside closed shadow root (#17055) 2022-09-06 08:52:25 -07:00
Pavel Feldman f4b90e5cc8
chore: reparent network back to context (#17023) 2022-09-05 10:19:44 +02:00
Yury Semikhatsky 01d83f1d5e
fix(har): record request overrides to har (#17027) 2022-09-04 10:52:20 -07:00
Ross Wollman c58bfd0552
fix(html-reporter): duplicate attachment name (#16929)
Fixes #16456.

The extra span/name was coming from
077b8a9289/packages/html-reporter/src/links.tsx (L72)
(in conjunction with the line above it).

These two lines assume `path` and `body` are mutally exclusive.

Regression likely introduced by the PR that added the now removed line #10778.
2022-09-03 15:25:56 -07:00
Playwright Service 4dc919fb71
feat(webkit): roll to r1714 (#17053)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-03 11:26:01 +02:00
Playwright Service f051948400
feat(chromium): roll to r1023 (#17061)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-03 11:24:25 +02:00
Dmitry Gozman 1dc2a33896
docs: clarify that toBeHidden works when nothing matches (#17057) 2022-09-02 16:36:19 -07:00
Playwright Service 74187290f1
feat(chromium-tip-of-tree): roll to r1039 (#17044)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-03 00:53:53 +02:00
Dmitry Gozman 54e7f44974
fix(firefox): disable cookie partitioning (#17051) 2022-09-02 15:46:03 -07:00
Dmitry Gozman 3548f3f898
feat(firefox): roll ff to 1350, beta to 1353 (#17006) 2022-09-02 08:35:29 -07:00
Yury Semikhatsky da19219323
fix: throw clear message when requested screenshot is too large (#17025) 2022-09-01 18:15:49 -07:00
Yury Semikhatsky 27ffdcc944
fix: accept post data for GET and HEAD http methods (#17008) 2022-09-01 08:36:08 -07:00
Andrey Lushnikov fafd9837ba
feat: introduce the --ignore-snapshots option (#17004)
This patch introduces `--ignore-snapshots` Playwright Test CLI option,
and `ignoreSnapshots` configuration argument.
2022-09-01 05:34:36 -07:00
Playwright Service 791dcc39f5
feat(webkit): roll to r1713 (#17001)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-01 11:57:25 +02:00
Yury Semikhatsky 5d6253f743
fix: stop har recording when APIRequestContext is disposed (#17007) 2022-08-31 21:51:38 -07:00
Playwright Service 74d52138ff
feat(chromium-tip-of-tree): roll to r1038 (#17000)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-31 22:49:33 +02:00
Yury Semikhatsky aaa28394cd
feat(trace): include url into route.fulfill call params (#16934) 2022-08-31 12:37:49 -07:00
Andrey Lushnikov 38f2a5d5f5
fix: include headlessness as a launch argument to browser (#16898) 2022-08-31 10:26:13 -07:00
Max Schmitt 6533eb2e5b
chore: fix deps for WebKit on ubuntu20 (#16950) 2022-08-31 12:27:09 +02:00
nate-ro 409bab59ea
chore: added starting time of test to the base json reporter (#16885) 2022-08-30 20:03:21 -07:00
Yury Semikhatsky f30ac1d678
fix: support toHaveAttribute(name, options) (#16941) 2022-08-30 17:53:00 -07:00
Playwright Service 77f6b25941
feat(webkit): roll to r1712 (#16933) 2022-08-30 14:24:14 -07:00
DetachHead bcf2a06e53
docs: explain that the Selectors.register script is executed in the page context (#16917) 2022-08-30 09:17:17 -07:00
Yury Semikhatsky 11dfd31dd9
feat: --pass-with-no-tests option (#16902) 2022-08-29 15:46:34 -07:00
sand4rt 3af548604e
feat(ct): svelte default slot (#16869) 2022-08-29 09:11:51 -07:00
sand4rt 3464edf89d
chore(ct): svelte mount options type dedupe (#16868) 2022-08-29 09:10:50 -07:00
sand4rt 996468d4b7
feat(ct): solid default child (#16839) 2022-08-26 15:48:05 -07:00
Dmitry Gozman fea8772d95
fix: emit load/domcontentloaded events as reported by the browser (#16861)
Instead of requiring all frames in the subtree to receive a particular
event, we rely on the browser's definition of load and DOMContentLoaded.

This changes logic in a few edge cases:
- Some browsers do not emit load event upon window.stop() at all.
- DOMContentLoaded does not wait for subframes, so they might not be
  ready when passing `{ waitUntil: 'domcontentloaded' }`.

`networkidle` preserves the old logic.
2022-08-26 13:48:05 -07:00
JJetmar b93668e301
docs: spelling fix (#16842)
Co-authored-by: Ross A. Wollman <ross.wollman@gmail.com>
2022-08-26 12:57:18 -07:00
sand4rt 0972f1469a
feat(ct): solid unmount (#16838) 2022-08-26 11:51:36 -07:00
Pavel Feldman 6319b14069
chore: dispatcher is a scope (#16843) 2022-08-26 09:30:27 -07:00
Playwright Service fa234f4611
feat(chromium-tip-of-tree): roll to r1037 (#16854)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-26 07:34:08 +02:00
Playwright Service 3b1af7d75d
feat(chromium): roll to r1022 (#16844)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-25 21:42:58 +02:00
Pavel Feldman a07a4a25a2
chore: make parent scope explicit (#16819) 2022-08-25 11:58:41 -07:00
sand4rt 8d4a94bfd3
feat(ct): solid set props (#16813) 2022-08-25 08:40:14 -07:00
Andrey Lushnikov 622c73cc1e
feat: expect(locator).toHaveAttribute to assert attribute presence (#16767)
This patch changes `expect(locator).toHaveAttribute()` so that the
`value` argument can be omitted. When done so, the method will
assert attribute existance.

Fixes #16517
2022-08-25 05:28:34 -07:00
Max Schmitt 74ab343e2b
feat(codegen): add NUnit/MSTest (#16803) 2022-08-25 11:58:58 +02:00
Dmitry Gozman 2c1723b6f5
chore: avoid protocol calls on disposed context (#16812)
Otherwise, we always get a failing protocol message when closing a context.
2022-08-24 17:21:01 -07:00
Playwright Service c4e91bded1
feat(firefox): roll to r1347 (#16788) 2022-08-24 08:37:52 -07:00
Max Schmitt 9341bf12c6
docs(dotnet): enable api response assertions (#16799) 2022-08-24 08:30:47 -07:00
Playwright Service 80389c7d47
feat(firefox-beta): roll to r1348 (#16786)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-24 00:11:05 -07:00
Andrey Lushnikov 6ebd3ea61f
chore(electron): put client-provided arguments in front (#16782)
Fixes #16614
2022-08-23 15:08:36 -07:00
Playwright Service b57b30033a
feat(chromium-tip-of-tree): roll to r1036 (#16775)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-23 23:42:17 +02:00
sand4rt ad46e980bc
feat(ct): initial solid (#16703) 2022-08-23 14:08:53 -07:00
Ross Wollman aa23914659
chore: remove invalid device configurations (#16777)
Resolves #16622.

- removes current invalid configurations
- validates future changes
2022-08-23 14:03:41 -07:00
sand4rt e194b2ae6b
feat(ct): vue2 rerender (#16734) 2022-08-23 11:37:55 -07:00
Andrey Lushnikov 1cedd805ed
chore: a nicer message to urge updating docker image with Playwright (#16758)
This will result in the following message:

```
root@docker-desktop:/playwright# node a.mjs
node:internal/process/esm_loader:94
    internalBinding('errors').triggerUncaughtException(
                              ^

browserType.launch: Executable doesn't exist at /ms-playwright/chromium-1021/chrome-linux/chrome
╔══════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just updated to 1.26.0. ║
║ Please update docker image as well.                                  ║
║ -  current: mcr.microsoft.com/playwright:v1.23.0-focal               ║
║ - required: mcr.microsoft.com/playwright:v1.26.0-focal               ║
║                                                                      ║
║ <3 Playwright Team                                                   ║
╚══════════════════════════════════════════════════════════════════════╝
    at file:///playwright/a.mjs:3:43 {
  name: 'Error'
}
```

Fixes #15483
2022-08-23 10:39:59 -07:00
Pavel Feldman 4d892475da
chore: do not use experimental loader for web server (#16733) 2022-08-23 10:22:05 -07:00
Pavel Feldman d7be1fcca8
fix(esm): allow importing ts from esm (#16735) 2022-08-23 10:20:56 -07:00
Max Schmitt e344fe60e7
fix(pwt): compatibility in CWD with wrong casing (#16636) 2022-08-22 21:45:59 +02:00
Yury Semikhatsky b51b7e7f67
fix: devices is a map not an array (#16729) 2022-08-22 11:34:53 -07:00
Yury Semikhatsky 35af13813c
fix(trace): preserve line breaks in console messages (#16696) 2022-08-22 09:26:51 -07:00
Robert Niznik 664d4a271e
chore(ct-react): bump vite to v3 and @vitejs/plugin-react to v2 (#15733) 2022-08-21 13:52:02 +02:00
Max Schmitt 35a9daa425
chore: validate pw-core version when pwtest CLI gets executed (#16475) 2022-08-20 12:20:31 +02:00
Sergio Freire abe7cf23a7
fix(junit reporter): remove source location from classname attribute (#16499) 2022-08-19 16:42:21 -07:00
Pavel Feldman ba722a2580
fix(selectors): make them work in the browser reuse mode (#16691) 2022-08-19 13:48:33 -07:00
Andrey Lushnikov e1e1035e10
chore: do not specify custom LD_LIBRARY_PATH for Firefox (#16681)
We used to bundle `libstdc++` for Firefox but we no longer do so,
so this code should not be needed.
2022-08-19 07:18:41 -07:00
Max Schmitt be33ec817b
feat(webkit): add forced colors media query override (#16654) 2022-08-19 14:19:54 +02:00
Playwright Service 1154fffd8b
feat(webkit): roll to r1707 (#16668)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-19 11:09:39 +02:00
Playwright Service 77b91d4b80
feat(chromium-tip-of-tree): roll to r1035 (#16662)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-19 08:58:14 +02:00
Playwright Service 5282edca7c
feat(webkit): roll to r1706 (#16659)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-19 07:42:58 +02:00
Playwright Service f99f0c099f
feat(chromium): roll to r1021 (#16657)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-19 07:42:09 +02:00
Playwright Service 5dc43d4957
feat(webkit): roll to r1705 (#16652)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-19 01:07:05 +02:00
mt-xing 411ec4479c
docs: Tiny grammar fix on Page class API page (#16649) 2022-08-18 14:26:23 -07:00
Max Schmitt 7e2aec7454
chore: align more ESLint rules with VSCode formatting (#16647) 2022-08-18 20:12:33 +02:00
Andrey Lushnikov 59562de0ec
fix(pipe): do not store accumulated message as string (#16641)
Accumulated message must be stored raw; otherwise, unicode encoding
will break while trying to decode them.

Fixes #16367
2022-08-18 07:53:56 -07:00
Playwright Service 3843a15d5f
feat(webkit): roll to r1704 (#16628)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-18 10:55:11 +02:00
Playwright Service 94c9db299d
feat(webkit): roll to r1703 (#16604) 2022-08-17 17:13:00 -07:00
Playwright Service 1733fc3ad7
feat(webkit): roll to r1702 (#16602) 2022-08-17 10:27:07 -07:00
Pavel Feldman 3cd8d6e513
chore(docs): revert recent changes temporarily (#16590) 2022-08-16 22:00:54 -07:00
Playwright Service 4840cae3b3
feat(chromium-tip-of-tree): roll to r1034 (#16593)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-17 00:23:24 +02:00
Pavel Feldman 823f4f57f2
fix(docs): make docs compile (#16588) 2022-08-16 11:02:15 -07:00
sand4rt d9850e0e86
feat(ct): react rerender (#16560) 2022-08-16 10:47:33 -07:00
Yury Semikhatsky 4dcb492ef0
fix: make viewer reference all trace urls (#16561)
Single trace viewer page may render several traces, count it as a client for each of the trace files.

Fixes #16429
2022-08-15 20:54:57 -07:00
Pavel Feldman e64b09cc28 Revert "feat(ct): react rerender (#16549)"
This reverts commit a62accf8ae.
I'll reapply them in order.
2022-08-15 13:17:15 -07:00
sand4rt a62accf8ae
feat(ct): react rerender (#16549) 2022-08-15 13:10:38 -07:00
Max Schmitt 13596b7be3
chore: language specific dropdowns in codegen (#16452) 2022-08-15 19:44:46 +02:00
Pavel Feldman bd06d1604f
chore: render original exception location in error frame (#16515) 2022-08-15 09:28:55 -07:00
Elizaveta Bezyaikna 9f22ae9aa9
chore: add id for each test to JSONReporter (#16494) 2022-08-15 09:28:21 -07:00
Max Schmitt 09e6bb9c0f
chore: sunset Node.js 12 (#16512) 2022-08-15 18:10:04 +02:00
Playwright Service 0a70c624d6
feat(firefox): roll to r1345 (#16540)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-15 07:58:06 -07:00
Playwright Service 65acaf6b59
feat(firefox-beta): roll to r1347 (#16543)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-15 07:57:17 -07:00
Max Schmitt 420f5f5a0a
feat(chromium-tip-of-tree): roll to 1033 (#16535) 2022-08-15 11:09:18 +02:00
Max Schmitt 9acfe2d469
feat(chromium): roll to 1020 (#16534) 2022-08-15 10:21:24 +02:00
Max Schmitt 435272248f
docs(dotnet): PowerShell install enhancements (#16520) 2022-08-14 20:01:00 +02:00
Dmitry Gozman 3ae50861a3
fix(reload): make sure reload() does not pick same-document navigaiton (#16504)
We lack `documentId` when doing a reload over browser protocols, so
`reload()` waits for the next navigation to finish. Sometimes, the page
might issue a same-document navigation while reload is in progress,
which confuses the reload command.

To fix the issue, just ignore same-document navigations for reload,
because it is always a new document.
2022-08-12 13:48:47 -07:00
Pavel Feldman e1d3246d1c
fix(ct): pass local config to preview (#16481) 2022-08-12 10:37:35 -07:00
Dmitry Gozman 3dc1920ce8
feat(expect): toHaveText/toContainText work with text in shadow dom (#16433) 2022-08-11 14:10:12 -07:00
Pavel Feldman fce45210c1
feat(driver): report backend state (#16477) 2022-08-11 13:42:16 -07:00
Dmitry Gozman 51076d55ad
chore: move retargeting from expectHitTarget to retarget (#16474)
This aligns all retargeting in a single place, so that we
can pass around "retarget strategy" to make sure we retarget
as expected in every single action.
2022-08-11 13:06:12 -07:00
Johannes Loher 3e67a7c836
feat(plugins): send accept header in webServer url checking (#16251) 2022-08-10 12:48:37 -07:00
Yury Semikhatsky d0030a7434
docs: test.step return value (#16421) 2022-08-10 11:21:13 -07:00
Pavel Feldman c84fbc2e4e
feat(driver): add reuse and navigate commands (#16420) 2022-08-10 10:57:28 -07:00
jfgreffier fb91f829d7
chore: listen on localhost for html report (#16205) 2022-08-10 11:05:31 +02:00
Max Schmitt 699a52ec74
fix(codegen): make sure input recording with japanese IME Work (#16400)
Co-authored-by: kawasaki.taiga <kigtaiga@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-10 09:46:30 +02:00
Playwright Service 1059fe5c62
feat(chromium-tip-of-tree): roll to r1032 (#16391)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-10 09:26:49 +02:00
Dmitry Gozman baa2ef2700
fix(test runner): show interrupted as yellow (#16396)
Drive-by: fix unreadable character in "duplicate titles" error.
2022-08-09 21:17:30 -07:00
Dmitry Gozman f58c376443
fix(test runner): do not resolve relative imports through baseUrl (#16395) 2022-08-09 21:16:27 -07:00
Andrey Lushnikov 0c7f086096
chore: cut v1.25 branch (#16390) 2022-08-09 17:09:58 -07:00
Yury Semikhatsky 11391910e7
Revert "fix(codegen): make sure input recording with japanese IME Wor… (#16393)
Revert "fix(codegen): make sure input recording with japanese IME Work (#16210)"

This reverts commit 925de8da2b.
2022-08-09 16:47:32 -07:00
Pavel Feldman 737975bc7d
chore: expose hidehighlight from server (#16387) 2022-08-09 16:42:55 -07:00
YA2KM 925de8da2b
fix(codegen): make sure input recording with japanese IME Work (#16210)
Co-authored-by: kawasaki.taiga <kigtaiga@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-10 01:02:42 +02:00
Ross Wollman a3d99f1b4a
chore: trace viewer fallback error (#16365)
Fixes #16349.
2022-08-09 15:53:11 -07:00
Max Schmitt ff5f241b84
chore: set --allow-pre-commit-input flag on Android/Electron (#16383) 2022-08-09 23:18:15 +02:00
Dmitry Gozman 2efe947dc8
chore: avoid evaluates in screenshot on failure (#16386) 2022-08-09 14:03:07 -07:00
Playwright Service fa9c20c959
feat(webkit): roll to r1699 (#16366) 2022-08-09 12:28:55 -07:00
Yury Semikhatsky d048822c58
docs: deprecate Page.accessibility (#16385) 2022-08-09 12:26:43 -07:00
Max Schmitt e725b5f8a9
fix(esm): fix TS type check with NodeNext mode (#16340) 2022-08-09 20:06:06 +02:00
Kian-Meng Ang 22f0723c72
docs: fix typos in docs (#16370)
Co-authored-by: Debbie O'Brien <debs-obrien@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-09 15:47:17 +02:00
Pavel Feldman c99d6cdd4c
chore: enable reused browser autoclose (#16363) 2022-08-08 17:16:13 -07:00
Dmitry Gozman 0fa20d5d1e
fix(click): make it work for display:contents elements (#16356)
After protocol fixes in all browsers, we can now scroll and click display:contents elements.
The only problem is that `elementsFromPoint()` misbehaves in Chromium and Firefox, so we
need a workaround. Hopefully, it will be fixed upstream - shadow dom spec folks think
"it becomes a real compatibility concern".

This needs Chromium 105 roll.
2022-08-08 16:05:09 -07:00
Ross Wollman 36b92d8847
fix: toBeFocused should match shadow elements (#16362)
Fixes #16268.
2022-08-08 15:34:58 -07:00
Max Schmitt 1ca6635bb8
fix(cli): store trace/storage/har on SIGINT (#16339) 2022-08-09 00:13:38 +02:00
Max Schmitt 57fcb590f7
chore: hide stackTrace.js from recorded frames (#16242) 2022-08-08 23:27:59 +02:00
Ross Wollman dd39ae0b85
chore: use default export across packages (#16360) 2022-08-08 13:30:07 -07:00
Jeremy Daley ee02afdd9b
chore: add fallback "default" key to "." exports object (#16350)
Fixes #16345.
2022-08-08 12:19:15 -07:00
Pavel Feldman 2d7c003ada
chore: minor inspect tweaks (#16334) 2022-08-08 10:39:54 -07:00
Playwright Service a93981d052
feat(firefox-beta): roll to r1343 (#16327) 2022-08-08 10:01:49 -07:00
Playwright Service b32f13298f
feat(firefox): roll to r1344 (#16328) 2022-08-08 10:01:07 -07:00
Pavel Feldman a2e05bb419
fix(ct): use stoppable server (#16329) 2022-08-08 08:54:56 -07:00
Playwright Service 53917f43e1
feat(chromium): roll to r1019 (#16335)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-07 15:32:38 +02:00
Dmitry Gozman f6d94f0ac9
chore: update "X fatal errors" message (#16325)
Also, exlude certain errors from triggering this message:
- `no tests found`
- `duplicate test titles are not allowed`
- `--forbid-only found a focused test`
- `Timed out waiting 3600s for the entire test run`
2022-08-05 21:21:43 -07:00
Pavel Feldman 8ed238843b
chore: allow inspecting element from server (#16324) 2022-08-05 19:34:57 -07:00
Dmitry Gozman 7a86e140f5
chore: remove TestProject.projectSetup (#16321)
There are better ideas to address this issue in more general manner.
2022-08-05 15:24:30 -07:00
Dmitry Gozman 706c00d242
chore: remove UMD wrapper from cssTokenizer (#16322)
This wrapper conflicts with some bundlers in the wild, and we don't really need it.
2022-08-05 15:24:11 -07:00
Dmitry Gozman 1f40e3d22b
chore: make Reporter.onExit an internal method (#16280) 2022-08-05 13:41:00 -07:00
Dmitry Gozman 424431fcfe
docs: explain toHaveText and toContainText in more details (#16283) 2022-08-05 10:27:17 -07:00
Playwright Service f04dce6808
feat(firefox): roll to r1343 (#16288) 2022-08-05 09:35:39 -07:00
Dmitry Gozman cb30cb4eb7
feat(test runner): add --trace cli option (#16277) 2022-08-05 09:20:39 -07:00
Playwright Service e424a36945
feat(firefox-beta): roll to r1342 (#16294)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-05 09:13:53 -07:00
Pavel Feldman 5d7e80bed6
chore: don't show reused browser intro (#16289) 2022-08-04 22:09:27 -07:00
Dmitry Gozman 919b1cbb22
fix(test runner): do not swallow afterEach errors after skipped tests (#16276)
Drive-by: add more test runner logging.
2022-08-04 18:49:23 -07:00
Pavel Feldman 97fa2518e9
fix(reuse): clear storage after stopping all scripts (#16275) 2022-08-04 16:39:18 -07:00
Playwright Service 4b53be4849
feat(chromium-tip-of-tree): roll to r1031 (#16272)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-05 00:17:47 +02:00
Pavel Feldman 3aa5710b49
feat(reuse): retain different browser types when reusing (#16269) 2022-08-04 15:04:00 -07:00
Pavel Feldman b3d30a808f
fix(reuse): reset sw, db, storages (#16265) 2022-08-04 15:01:34 -07:00
Dmitry Gozman 6b6b13c71b
feat(selenium): update docs and include SE_NODE_GRID_URL requirement (#16230) 2022-08-04 13:39:12 -07:00
sand4rt bd5eddd62e
fix(ct): multi root vue components (#16211) 2022-08-04 10:43:43 -07:00
Pavel Feldman 7645ac25a0
chore: watch mode straw man (#16127) 2022-08-04 08:09:54 -07:00
Max Schmitt 35bcecc5c3
chore: cleanup WK deps and fix WK on debian (#16253) 2022-08-04 15:35:32 +02:00
Max Schmitt f92a34aa18
fix: add libatomic1 to WebKit ubuntu22 native deps (#16252) 2022-08-04 14:56:12 +02:00
Playwright Service 859939e53f
feat(firefox-beta): roll to r1341 (#16227)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-03 22:59:19 -07:00
Pavel Feldman db2972792b
feat(server): queue run-server clients (#16234) 2022-08-03 19:37:06 -07:00
sand4rt e5cc78af67
chore(ct): change setProps to rerender (#16204) 2022-08-03 18:14:00 -07:00
Pavel Feldman 8eca6339c2
feat(reuse): account for the browser launch args when reusing the bro… (#16229)
feat(reuse): account for the browser launch args when reusing the browsers
2022-08-03 17:32:29 -07:00
Andrey Lushnikov fb76d62a2b
feat(firefox): roll Firefox stable to 103 (#16224) 2022-08-03 16:55:19 -07:00
Pavel Feldman 74f7005c02
chore: preserve window while reusing window (#16225) 2022-08-03 16:14:28 -07:00
Dmitry Gozman 03fe75251b
fix(test runner): show tests as interrupted when maxFailures stops them (#16178)
Previously, we marked these tests as skipped, and it was sometimes
confusing, because they did actually run and produce some output/artifacts.
2022-08-03 15:25:25 -07:00
Playwright Service 8ef01cd07e
feat(webkit): roll to r1696 (#16179)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-03 11:54:23 +02:00
Pavel Feldman df9a318d14
chore: open browser for reuse, destroy run server on detach (#16183) 2022-08-02 21:09:39 -07:00
Pavel Feldman d5bc5ee6f7
fix(reuse): clear cookies and local storage when reusing context (#16175) 2022-08-02 17:26:59 -07:00
Playwright Service 52aa869f12
feat(webkit): roll to r1695 (#16151) 2022-08-02 16:50:06 -07:00
Playwright Service 37cc7ae6cd
feat(chromium-tip-of-tree): roll to r1030 (#16163)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-02 22:50:44 +02:00
Playwright Service d86a15c1a1
feat(chromium): roll to r1018 (#16165)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-02 22:49:09 +02:00
Dmitry Gozman 445fe032f5
feat(test runner): separate interrupted status from skipped (#16124) 2022-08-02 12:55:43 -07:00
Pavel Feldman de147fafba
chore: experimental project isolation mode (#16081) 2022-08-02 11:22:22 -07:00
Max Schmitt b34da61524
docs: be more clear about connect/launchServer version match (#16134) 2022-08-02 18:59:42 +02:00
Max Schmitt 153670978d
chore: fix Android 13 compatibility (#16139) 2022-08-02 18:22:27 +02:00
Max Schmitt 0ef7e9803d
chore: disable Translate feature in Chromium (#16136) 2022-08-02 11:07:04 +02:00
Dmitry Gozman 5481e25015
chore: print full stacks when PWDEBUGIMPL is set (#16113)
For debugging purposes, especially on the client's computers.
2022-08-01 13:44:59 -07:00
Dmitry Gozman 3112edb4ca
feat(test runner): TestProject.projectSetup (#16063)
`projectSetup` is a project-scoped alternative to `globalSetup`.
It is only executed if at least one test from the project is scheduled to run.
2022-08-01 09:01:23 -07:00
Pavel Feldman 5a79054544
feat(innerloop): allow reusing browsers over the remote connection (#16065) 2022-07-31 14:31:17 -07:00
sand4rt 557db4c35e
chore(ct): mount result refactor (#16067) 2022-07-29 20:07:23 -07:00
Yury Semikhatsky 7d306bbc66
feat: return value from step (#16060) 2022-07-29 15:16:07 -07:00
Dmitry Gozman e830fe821d
feat(test runner): introduce test.describe.fixme (#16059) 2022-07-29 12:44:22 -07:00
Dmitry Gozman 809002df60
fix(events): avoid firing lifecycle events twice (#16055)
Previously, when some iframe started/finished a new navigation, we
could have removed and then re-addded load/domcontentloaded on the
main frame.

Drive-by: unflake wheel test in Firefox.
2022-07-29 12:44:04 -07:00
Yury Semikhatsky af8e3e7afa
feat: print response text when toBeOK fails (#16040) 2022-07-29 11:46:48 -07:00
sand4rt 4a47e275c8
feat(ct): vue set props (#16058) 2022-07-29 11:45:06 -07:00
Pavel Feldman d73f9b7b88
chore: experimental test server implementation (#16033) 2022-07-29 11:40:33 -07:00
Dmitry Gozman 03b0f911d9
fix(screenshot): avoid unnecessary work (#16035)
Do not evaluate when not hiding caret nor disabling animations.
2022-07-29 09:23:02 -07:00
Dmitry Gozman 62e4e80599
feat(test runner): show the number of fatal errors at the end (#15975) 2022-07-28 14:46:21 -07:00
Making Stuffs 6f47f0f22a
fix(chromium): Add error message to asset when there is one. (#15892)
[196] -- Provide the assert function with with either the error message in the provided object or undefined if there isn't one
2022-07-28 14:45:25 -07:00
Dmitry Gozman 829a1b8444
fix(isVisible): make sure isVisible check is atomic (#16004) 2022-07-28 14:09:36 -07:00
Max Schmitt a089bf3df5
chore(test-runner): better error message if page gets used inside beforeAll (#16012) 2022-07-28 23:07:28 +02:00
Playwright Service dcbcb93c26
feat(chromium-tip-of-tree): roll to r1029 (#16029)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-28 22:36:38 +02:00
Playwright Service d5f3b10eba
feat(chromium): roll to r1017 (#16030)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-28 22:36:09 +02:00
Dmitry Gozman 3d89506704
fix(fixtures): make undefined option mean "default value" (#16026)
In the following example, `locale` inside the `describe`
would be reverted to the default value:

```js
test.use({ locale: 'en-GB' });

test.decsribe(() => {
  test.use({ locale: undefined });
});
```
2022-07-28 12:57:05 -07:00
Pavel Feldman 8c190c3e09
feat(testId): expose persistent test id (#16003) 2022-07-27 20:17:19 -07:00
Yury Semikhatsky a128dda84e
feat(webkit): roll to r1691 (#16000) 2022-07-27 16:39:01 -07:00
Pavel Feldman 2eff208e54
feat(ct): allow unmounting components (#15974) 2022-07-27 15:12:36 -07:00
Dmitry Gozman 607910f6aa
fix(isVisible): do not retarget visibility checks (#16002)
We used to go to the enclosing button (inherited from click logic), which is unexpected.
2022-07-27 14:02:35 -07:00
Eran Rom 68d558f896
chore(default context): Apply context workaround only when browser and scenario match (#15904) 2022-07-27 12:23:22 -07:00
Max Schmitt f663e5d6cc
chore: fix tests when repo checkout was not playwright (#15994) 2022-07-27 18:09:55 +02:00
Dmitry Gozman 6009804e0e
Revert "fix(test runner): ignore undefined values in fixtures definit…ions (#15119)" (#15979)
Revert "fix(test runner): ignore undefined values in fixtures definitions (#15119)"

Revert commit d7b63fa0b4.
Add a test for the broken behavior.
2022-07-27 08:51:45 -07:00
Playwright Service 3d82a6bf09
feat(chromium-tip-of-tree): roll to r1028 (#15991)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-27 16:05:30 +02:00
Dmitry Gozman 09461f8a76
fix(driver): make sure IpcTransport messages arrive in different tasks (#15978) 2022-07-26 18:42:02 -07:00
Dmitry Gozman cd9dccbe27
fix(test runner): serial suites inside parallel suite should run in parallel (#15769) 2022-07-26 13:38:25 -07:00
Dmitry Gozman c0d78c5642
fix(runner): friendly error message instead of "digests do not match" (#15939) 2022-07-26 08:53:32 -07:00
Playwright Service ac480240bb
feat(webkit): roll to r1689 (#15943) 2022-07-26 08:48:18 -07:00
Andrey Lushnikov a5738998f6
fix: accomodate to changed MSEdge download format (#15933)
Fixes #15932
2022-07-25 16:55:24 -07:00
sand4rt c11f594c29
fix(ct): optional hooksConfig mount option (#15921) 2022-07-25 13:45:32 -07:00
Dmitry Gozman 9ce727c936
feat(list reporter): number test runs to see testing progress (#15693)
Drive-by: replace a few colors.gray with colors.dim for better contrast.
2022-07-25 13:22:25 -07:00
Dmitry Gozman f88b1e9cde
feat(reporters): separate onExit from onEnd (#15926)
This is now used by html reporter to open UI.
2022-07-25 13:20:33 -07:00
Dmitry Gozman c4dae2a628
fix(cli): remove --save-trace from open command (#15905) 2022-07-25 09:16:20 -07:00
Max Schmitt 004cd9273c
fix(test-runner): multiple webServer types (#15901) 2022-07-25 10:39:06 +02:00
Dmitry Gozman 4bec6309df
fix(lifecycle): recalculate lifecycle on iframe detach (#15812)
It could be that iframe was blocking some event, like load or networkidle,
and we never updated the lifecycle after the iframe was detached. This
lead to goto and other navigation commands to never resolve.
2022-07-22 19:44:02 -07:00
Dmitry Gozman fd21852b01
fix(text selector): ignore NOSCRIPT elements (#15887)
These are usually not rendered, and some sites have very big content inside,
for example full page markup.
2022-07-22 16:18:06 -07:00
Playwright Service e6461270e5
feat(chromium-tip-of-tree): roll to r1027 (#15851)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-21 23:21:53 +02:00
Playwright Service 7d29231177
feat(chromium): roll to r1016 (#15857)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-21 23:19:26 +02:00
Dmitry Gozman ba3c8ffa5c
test: make sure browser crashes in CLI tests are marked as such (#15821) 2022-07-20 15:32:57 -07:00
Dmitry Gozman f954891491
fix(runner): globalTeardown without globalSetup should work (#15814) 2022-07-20 12:41:35 -07:00
Playwright Service b117ad826c
feat(webkit): roll to r1685 (#15811)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-20 19:21:28 +02:00
Playwright Service 919bf1f805
feat(chromium-tip-of-tree): roll to r1026 (#15795)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-07-19 23:20:37 +02:00
Playwright Service ef84df9fc4
feat(chromium-tip-of-tree): roll to r1025 (#15674)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-18 22:44:39 +02:00
Max Schmitt 507e921371
chore: bump 'ip' peer dependency (#15750) 2022-07-18 20:04:26 +02:00
Yury Semikhatsky 99d1ad5a88
chore: bump vite to 3.0.0 and @sveltejs/vite-plugin-svelte to 1.0.1 (#15727) 2022-07-15 14:04:36 -07:00
Dmitry Gozman a56d801352
fix(test runner): show fixture name when worker times out (#15724) 2022-07-15 13:05:48 -07:00
Yury Semikhatsky 582b5e08b2
docs: clarify toHaveURL parameter semantics (#15723) 2022-07-15 11:09:20 -07:00
Dmitry Gozman 212d4d6b09
feat(webkit): roll to 1683 (#15720) 2022-07-15 10:51:42 -07:00
Pavel Feldman 55cd3928b7
chore: reuse context in the innerloop mode (#15719) 2022-07-15 10:36:36 -07:00
Pavel Feldman a198b6d753
chore: reparent context objects into the object (#15689) 2022-07-15 08:56:47 -07:00
Dmitry Gozman da2fdc2e2e
fix(esm loader): support Node 18.6 (#15694)
A small change in the API requires `shortCircuit: true` when returning the
transformed source.
Another API change removes third argument from the chained resolve/load,
but passing three instead of two still works.
2022-07-14 19:10:39 -07:00
Ross Wollman 732b8f4760
chore: PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS and doc clarifications (#15688) 2022-07-14 17:40:22 -07:00
Andrey Lushnikov 0a01a9456a
chore: update WebKit browser version (#15679)
As of July 14, 2022, Safari Technoly Preview returns the following:

```
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15
```
2022-07-14 13:56:20 -07:00
Andrey Lushnikov 173ea04b02
fix: add missing gstreamer dependencies for wk on debian 11 (#15675) 2022-07-14 13:12:49 -07:00
Max Schmitt 4bba41ab8f
Revert "feat(matchers): add toContainClass (#15491)" (#15670)
This reverts commit e4debd0bf6.
2022-07-14 22:03:37 +02:00
Andrey Lushnikov 53118c074e
chore: use JHBuild WebKit Debian 11 build (#15673)
Fixes #3167
2022-07-14 12:54:43 -07:00
Andrey Lushnikov df9beb4045
chore: cut v1.24 (#15654) 2022-07-14 09:42:40 -07:00
Yury Semikhatsky e37514b43c
docs: dragAndDrop source/target descriptions (#15658) 2022-07-14 09:42:26 -07:00
Yury Semikhatsky cb81d23ad6
fix(selectors): max hasText regex against nested nodes (#15638) 2022-07-14 08:23:11 -07:00
Playwright Service 0ac893d0f8
feat(chromium): roll to r1015 (#15649)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-14 14:34:02 +02:00
Pavel Feldman d02914fa3a
chore: relax transpilation criteria to allow ems imports of .vue files (#15592) 2022-07-13 16:11:38 -07:00
Dmitry Gozman 44e214a972
chore(html report): title row UI fixes (#15632) 2022-07-13 15:12:15 -07:00
Dmitry Gozman 22ead7b5ab
Revert "fix(test runner): handle istty in line reporter (#15455)" (#15633)
This reverts commit 767babc3a2.
2022-07-13 15:11:56 -07:00
Dmitry Gozman 51c3ea55ed
Revert "feat(line reporter): show testing progress (#15547)" (#15631)
This reverts commit e76d9b3b28.
2022-07-13 13:54:26 -07:00
Pavel Feldman 0e7d6661d7
chore(html-report): follow up ui fixes (#15599) 2022-07-13 12:49:11 -07:00
Playwright Service 6d67c5dd76
feat(chromium-tip-of-tree): roll to r1024 (#15581)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-13 18:04:24 +02:00
sand4rt 82fb68fdde
feat(ct): mount generic type required when specified (#15591) 2022-07-13 08:41:20 -07:00
Andrey Lushnikov 83e3dbb1bb
chore: add support for debian 11 downloads (#15596) 2022-07-13 04:09:24 -07:00
Max Schmitt ee7d60fcee
docs: migrate page actions to locator actions 2/n (#15603) 2022-07-13 11:50:18 +02:00
Yury Semikhatsky 3436e64b75
feat: dispatch wheel event (#15593) 2022-07-12 17:17:45 -07:00
Pavel Feldman 00848b1bcf
fix(ct): restore public folder deployment (#15594) 2022-07-12 16:14:48 -07:00
Yury Semikhatsky a6daf600a9
fix: support hasColors and getColorDepth in worker (#15590) 2022-07-12 14:47:14 -07:00
Pavel Feldman 3939b9f36e
chore: migrate component testing to server-side page reuse (#15477) 2022-07-12 14:30:24 -07:00
Max Schmitt e4debd0bf6
feat(matchers): add toContainClass (#15491) 2022-07-12 23:17:10 +02:00
Yury Semikhatsky 008a85b143
feat(webkit): roll to r1681 (#15577) 2022-07-12 14:07:56 -07:00
Pavel Feldman 56fb3ddefb
feat(ct): export component fixture types to enable re-export (#15583) 2022-07-12 13:42:50 -07:00
Ross Wollman 8858162692
fix: Service Workers+Interception: missing page-level Network events (#15549)
Fixes #15474.

Notes:

* page-level requests that are also handled by a SW's fetch handler, should not be interceptable at the page-level
* `Network.requestWillBeSent` does not provide enough metadata for Playwright to fire the `request` event at that time, so it does it as soon as it gets to the end of the request lifecycle
2022-07-12 13:23:35 -07:00
Pavel Feldman 8402001c32
chore: remove joining emitter (#15588) 2022-07-12 13:04:20 -07:00
Max Schmitt 7e1801bd30
fix(matchers): repeating values lead to no error (#15559) 2022-07-12 20:03:27 +02:00
Pavel Feldman f3d3231b29
feat(ct): allow configuring apps per test (#15551) 2022-07-12 09:37:33 -07:00
Dmitry Gozman 64353c4b96
fix(test runner): make sure worker cleans up if last test was skipped (#15552) 2022-07-11 21:33:56 -07:00
Dmitry Gozman e76d9b3b28
feat(line reporter): show testing progress (#15547)
Line reporter now shows stats in addition to the test name:
```
[chromium] › page/page-click-react.spec.ts:108:1 › should not retarget when element changes on hover
[21/93] Passed: 17 Flaky: 0 Failed: 0 Skipped: 4 (7s)
```
2022-07-11 20:44:50 -07:00
Dmitry Gozman 7727ebe758
feat(html report): improve test list view (#15543)
- Two lines per test: title and location.
- Align project labels.
- Add trace badge that opens trace viewer.
- Add video and image diff badges that show scrolled test result view.
2022-07-11 19:47:15 -07:00
Pavel Feldman 3a9b29f46c
feat(ct-vue): allow configuring apps per test (#15538) 2022-07-11 13:54:05 -07:00
jfp1992 7b881cf0fe
docs: fix typo bonding > bounding (#15442)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-07-11 22:13:06 +02:00
Pavel Feldman 5fc637e44a
chore: experimental resetForReuse (#15432) 2022-07-11 13:10:08 -07:00
Max Schmitt 98ea418124
fix(expect): expect.not types (#15487) 2022-07-11 18:31:53 +02:00
Pavel Feldman dd0eb5fb1d
fix(ct): support components w/o mount options (#15501) 2022-07-09 11:22:49 -07:00
Yury Semikhatsky 2850aae924
fix(webkit): use new protocol methods for bindings (#15503) 2022-07-08 15:11:29 -07:00
Yury Semikhatsky b9d1a5ad69
feat(webkit): roll to r1677 (#15500) 2022-07-08 13:15:57 -07:00
Dmitry Gozman 6dc4a51c92
fix(test runner): more friendly test duration (#15476)
fix(test runner): more firendly test duration

Reported test duration now does not include time spent in
`beforeAll`, `afterAll` and fixtures that have a separate timeout.

This is to avoid different reported test execution time,
depending on the test execution order.
2022-07-08 11:45:44 -07:00
Dmitry Gozman 894ead5198
fix(test runner): mention fixture in worker teardown timeout error message (#15499) 2022-07-08 11:44:37 -07:00
Yury Semikhatsky 5f42725358
feat(webkit): roll to r1674 (#15384)
Also reverted screenshot test changes from 4de14e7 as the breaking change was reverted upstream in Revert [251706@main] getComputedStyle(img).height returns string of a rounded int not a float WebKit/WebKit#1902
2022-07-08 11:07:06 -07:00
Playwright Service dfd6fa356a
feat(chromium): roll to r1014 (#15490)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-08 13:41:21 +02:00
Yury Semikhatsky 51aa5fea78
fix: colors in console output from worker (#15421)
Color highlights regressed in #14455

Fixes #15366
2022-07-07 17:56:41 -07:00
Pavel Feldman 0781d04a5e
chore: get rid of page state overrides (#15470) 2022-07-07 16:28:20 -07:00
Dmitry Gozman 738d71ebc2
chore: unify two copies of monotonicTime (#15473) 2022-07-07 15:59:49 -07:00
Ross Wollman 799d4703bc
feature(test-runner): multiple web servers (#15388)
Fixes #8206.

Since #8206 is a long-awaited (~ 1 year old), popular (~ 45 reactions, frequently requested in community channels, etc.), this PR aims to unblock folks.

Notably, we do not innovate on the `webServer` API, despite knowing we're not in love with it. We'll save the innovation for either Plugins or a new `LaunchConfigs` option. (We haven't yet arrived at a Plugin API we like, and instead of launching a new option guessing what the "better" launchConfig API would be, let's wait and see how folks use this new Array-variant of `webServer` which—despite its name—can be used for non-Web Server launches!
2022-07-07 15:27:21 -07:00
Pavel Feldman 5fd6ce4de0
chore: allow aborting in-flight routes on context reuse (#15460) 2022-07-07 13:07:09 -07:00
Max Schmitt 86a65a03e4
chore: add CI to default user agent (#15450) 2022-07-07 21:43:47 +02:00
Pavel Feldman cc6f415933
chore: share grant permissions init among browser types (#15457) 2022-07-07 11:39:05 -07:00
Nilesh Suthar 105768fa38
feat(trace-viewer): show request time in trace viewer network tab (#14353) 2022-07-07 11:26:31 -07:00
jfgreffier efec0261a1
feat(inspector): add keyboard shortcuts (#12014) (#15326) 2022-07-07 11:25:48 -07:00
sand4rt a41a25e07b
feat(ct): typesafe mount props (#15445) 2022-07-07 11:23:58 -07:00
Playwright Service adf03eaa4c
feat(chromium-tip-of-tree): roll to r1023 (#15447)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-07-07 19:21:58 +02:00
Dmitry Gozman 767babc3a2
fix(test runner): handle istty in line reporter (#15455)
When running without tty, line reporter outputs a line for each
percent of the tests, thus limiting the output to ~100 lines.

In addition, reporters now support PLAYWRIGHT_LIVE_TERMINAL
env variable to force tty mode.
2022-07-07 09:55:12 -07:00
Playwright Service b7e66d2b14
feat(firefox): roll to r1335 (#15434)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-07 05:51:41 -07:00
Playwright Service 72c3574943
feat(firefox-beta): roll to r1335 (#15433)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-07-07 05:49:40 -07:00
Pavel Feldman f71b620de7
chore: unregister handlers when dispatcher goes (#15425) 2022-07-06 20:32:31 -07:00
Pavel Feldman b9e41df0a5
chore: respect event name in removeAllListeners (#15430) 2022-07-06 15:04:27 -07:00
Andrey Lushnikov e9d66535ba
browser(firefox): move screenshots to browser-side (#15230)
* `clip` option is always passed from the client code
* with this change, we can no longer capture screenshot of a blinking
  caret; the browser-side API doesn't have this capability.
2022-07-06 15:02:48 -07:00
Dmitry Gozman 89c16cbc8b
feat(runner): anonymous describes (#15424)
Useful to set some options without coming up with an artificial name.

```js
test.describe(() => {
  test.use({ colorScheme: 'dark' });

  test('my test', () => {});
})
```
2022-07-06 13:54:11 -07:00
Pavel Feldman 1b264010db
fix(ct): tolerate compiled react components (#15422) 2022-07-06 13:44:06 -07:00
Dmitry Gozman c02d83fb11
fix(runner): filter only after duplicate titles check (#15401) 2022-07-06 12:51:26 -07:00
Dmitry Gozman 0142bdce76
test: mark driver mode as remote (#15402)
Otherwise we are passing buffers as objects, not as base64.
2022-07-06 09:20:07 -07:00
Playwright Service 26ef9dddb3
feat(firefox): roll to r1334 (#15399)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-06 04:19:22 -07:00
Playwright Service 22b82a5dd0
feat(firefox-beta): roll to r1334 (#15403)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-06 04:17:58 -07:00
Dmitry Gozman ee82837fb5
fix(fixtures): do not run user function when required fixture has failed (#15385)
Currently, it is possible to run a function, e.g. a second `beforeEach` hook,
that will receive `null` for the fixture that has already failed before.

This PR skips running any user function that uses a fixture that has already
failed, just like if the fixture would be initialized again and failing for
the second time.
2022-07-05 17:15:28 -07:00
Dmitry Gozman d60b8aba23
fix(codegen): handle more context options (#15319)
The following options now work across languages:
- `recordHar`
- `serviceWorkers`

In addition, object properties are now sorted alphabetically.
Drive-by: fixed `--target` help message to include all available targets.
2022-07-05 13:30:46 -07:00
Ross Wollman 5f03bd9477
chore(test-runner): increase jpeg-js max mem allowance (#15381)
Resolves #14255.

PNGs should be preferred as they are deterministic, but increasing this
limit should be fine for JPEG users. (Looking through jpeg-js source code, the actual memory allocation is based on the size of the image—so unless a user is hitting this limit already—this should not impact the memory consumption of Playwright.
2022-07-05 13:25:54 -07:00
Playwright Service 449b66591d
feat(firefox): roll to r1333 (#15382)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-05 12:16:56 -07:00
Ross Wollman 981f5ab8c1
fix(test-runner): apply fixme v. skip annotations (#15277)
Currently, if `text.fixme()` or `test.skip()` is used within a test, we
add a `fixme` or `skip` annotation. However, if the wrapper style is
used:

```
test.fixme('should work', () => {…})
```

the annotations were missing. This change adds annotations for the
above.

These annotations are important for reporting purposes and knowing
exactly what flavor of "skipped" was used.

Fixes #15239.
2022-07-05 10:46:30 -07:00
Sergio Freire 71c08a5dcf
fix(junit reporter): embedding attachments on report didnt work for tests outside root folder (#15359) 2022-07-05 10:35:14 -07:00
Dmitry Gozman 2a805c1f1c
fix(line reporter): print currently running test (#15339) 2022-07-05 09:07:55 -07:00
Dmitry Gozman 4eccb89a79
chore: do not serialize buffers into base64 in local mode (#15316) 2022-07-05 08:58:34 -07:00
Sean Doyle ef5a56ce18
feat(evaluate): serialized URL instances (#15023)
Add support for returning [URL][] instances from `page.evaluate` calls.
Follow the patterns established by `Date` and `RegExp` serialization.

[URL]: https://developer.mozilla.org/en-US/docs/Web/API/URL
2022-07-05 17:53:02 +02:00
Max Schmitt 35a2792bb4
fix(html-report): listen on 127.0.0.1 only (#15361)
Fixes #11568
2022-07-05 08:48:30 -07:00
Maël Nison 7609785d53
fix: Detects React 17+ first (#15343) 2022-07-05 07:49:31 -07:00
Pavel Feldman 9e62cc4da9
fix(test): speculative attempt to fix trace viewer test flakiness (3) (#15342) 2022-07-03 11:55:18 -07:00
Pavel Feldman c3c724f17d fix(test): speculative attempt to fix trace viewer test flakiness (2) 2022-07-03 09:43:28 -07:00
Pavel Feldman ba93da0686
fix(test): speculative attempt to fix trace viewer test flakiness (#15330) 2022-07-03 08:30:04 -07:00
Dmitry Gozman 71dcad3b2e
test: fix some flaky failures (#15314)
- Never use open shadow root for highlight. This messes up
  our selectors that accidentally match internal preview elements.
- Remove failing electron test that we do not care about.
- Skip `channels.spec.ts` in non-default mode.
2022-07-01 13:57:33 -07:00
Ross Wollman 6cb3236acd
feat(chromium): Service Worker Network Instrumentation and Inspection (#14716)
Adds Chromium support for Service Worker Networking (interception/routing, Request/Response events, and HAR).

Resolves #1090.
Depends on #14714 and #14714.
Supercedes #14321.
Follow up #14711.

Landed upstream patches:
- https://chromium-review.googlesource.com/c/chromium/src/+/3510917
- https://chromium-review.googlesource.com/c/chromium/src/+/3526571
- https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3566669
- https://chromium-review.googlesource.com/c/chromium/src/+/3544685
- https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3610924
- https://chromium-review.googlesource.com/c/chromium/src/+/3689949
2022-07-01 12:49:43 -07:00
Pavel Feldman 295ea7a3cb
fix(config): fall back to context options (#15309) 2022-07-01 10:20:13 -07:00
Dmitry Gozman 82032be368
chore(server): validate/convert protocol both ways (#14811)
Previously, we only validated/converted on the way to the server,
but not from the server.

Validating both ways catches issues earlier, and allows us to
perform automatic conversions, for example only converting
buffers to base64 when sending over wire.
2022-07-01 09:58:07 -07:00
Pavel Feldman c4d2342339
fix(config): fall back to launch options (#15293) 2022-07-01 08:12:57 -07:00
Playwright Service 3e86c7af95
feat(chromium): roll to r1013 (#15303)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-01 15:18:58 +02:00
Playwright Service 64e6688e84
feat(firefox-beta): roll to r1333 (#15292)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-01 05:24:30 -07:00
Playwright Service 2e96db4655
feat(firefox): roll to r1332 (#15291)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-01 05:24:10 -07:00
Dmitry Gozman 5083da9d98
test: unflake "should truncate long test names" (#15286) 2022-06-30 20:24:00 -07:00
Pavel Feldman 6425ab9e78
fix(ff): allow more time to launch browser (#15290) 2022-06-30 18:07:25 -07:00
Dmitry Gozman b86926e691
fix(test runner): update timeout error messages (#15117)
Some of the current timeout error messages are confusing, because they do not suggest that the issue is most likely a slow test. This PR updates timeout messages as follows:
- Test timeout of 30000ms exceeded.
- Test timeout of 30000ms exceeded while setting up "browser".
- Test timeout of 30000ms exceeded while tearing down "context".
- Test timeout of 30000ms exceeded while setting up "playwright configuration".
- Test timeout of 30000ms exceeded while running "beforeEach" hook.
- Test timeout of 30000ms exceeded while running "afterEach" hook.
- "beforeAll" hook timeout of 30000ms exceeded.
- "afterAll" hook timeout of 30000ms exceeded.
- Worker teardown timeout of 30000ms exceeded.
- "skip" modifier timeout of 30000ms exceeded.
- Fixture "myCustomFixture" timeout of 5000ms exceeded.
2022-06-30 17:05:08 -07:00
Max Schmitt 3d1d723c56
fix(esm): show codeframe when errors get reported (#15262) 2022-06-30 21:17:08 +02:00
Yury Semikhatsky 4de14e7d2c
feat(webkit): roll to r1673 (#15276) 2022-06-30 12:07:33 -07:00
Dmitry Gozman 0254cd3be7
fix(firefox): launch races (#15259)
Potential fixes to avoid startup races:
- Wait for "juggler listening" message.
- Make sure `transport.onclose` is called when connecting to the transport after the actual pipe closure.
2022-06-30 10:58:22 -07:00
Max Schmitt 71fc53bbf8
fix(matchers): toHaveClass on SVG elements (#15267)
Fixes #15260
2022-06-30 07:01:26 -07:00
Ross Wollman 9cafab382b
docs: clarify use of browser.close (#15255) 2022-06-29 18:41:21 -07:00
Dmitry Gozman ff2647cfa3
fix(network): remove races from sizes calculation (#15208)
- Do not resolve raw headers upon `loadingFinished`, since they may still come later in
  `responseReceivedExtraInfo`.
- Introduce separate promises for `encodedBodySize`, `transferSize` and `responseHeadersSize`.
- Make sure we resolve each of them either with data available
  from the browser, or a fallback calculation.
- Set raw response headers for redirects on WebKit.
- Do not stall on cached responses in Chromium, they have erroneously set `hasExtraInfo` flag.
- Use `transferSize` that is available in Firefox protocol.
2022-06-29 18:11:22 -07:00
Pavel Feldman 28f382bea6
chore: roll source-map-support to 0.5.21 (#15237)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-29 19:47:45 +02:00
Max Schmitt b3c31f5b13
fix: do not throw on removeListener without listener (#15224)
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-06-29 13:53:13 +02:00
Playwright Service b554344907
feat(chromium-tip-of-tree): roll to r1019 (#15172)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-29 13:29:28 +02:00
Dmitry Gozman 8220ab1379
feat(firefox): roll ff 1328 and ff-beta 1330 (#15185) 2022-06-29 03:04:46 -07:00
Max Schmitt e34fa4feeb
fix(evaluate): fallback to toJSON if it exists when serializing (#15188)
* fix(evaluate): fallback to toJSON if it exists when serializing

* fix test in ff

* window.performance test
2022-06-29 08:07:32 +02:00
Pavel Feldman 6a8d835145
chore: allow updating har while routing (#15197) 2022-06-28 15:09:36 -07:00
Sébastien Règne f43fe4855d
docs: fix route.fallback typo (#15173) 2022-06-28 13:46:54 -07:00
Max Schmitt aa1e736f3f
chore: print response body when browser download failed (#15101) 2022-06-28 18:19:31 +02:00
Dmitry Gozman 79163e802a
fix(test runner): screenshot immediately after failure (#15159)
Previously, screenshot was taken after hooks and fixtures teardown.
However, hooks can easily modify the state of the page, and
screenshot would not reflect the moment of failure.

Instead, we take screenshots immediately after the test function
finishes with an error.
2022-06-27 17:46:39 -07:00
Dmitry Gozman d7b63fa0b4
fix(test runner): ignore undefined values in fixtures definitions (#15119)
These mean "I don't want to specify this fixture/option"
instead of "I want the value of undefined", aligned with how TypeScript works.
We already do similar things in the config.
2022-06-27 11:31:41 -07:00
Dmitry Gozman a93db3cf11
fix(reporter): line reporter should not swallow half-line stdout (#15114) 2022-06-27 11:25:42 -07:00
Pavel Feldman 8c590cb2af
chore: undeprecate sync headers() (#15152) 2022-06-27 10:34:32 -07:00
Playwright Service fab12c70f7
feat(chromium): roll to r1012 (#15111)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-06-27 10:01:10 +02:00
Dmitry Gozman 660516d22a
fix(network): make allHeaders wait until all headers are available (#15094)
fix(network): make allHeaders wait until all header are available

Before, calling `allHeaders()` from `page.on('request')` would yield
provisional headers instead.

With these changes:
- In Firefox, all headers are available immediately.
- In Chromium, all headers are available upon requestWillBeSentExtraInfo.
- In WebKit, all headers are available upon responseReceived.
- In all browsers, intercepted requests use "provisional" headers
  as all headers, since there is no network stack to change the headers.

Drive-by: migrated Chromium to `hasExtraInfo` flags that simplifies
the logic quite a bit.
2022-06-24 13:51:09 -07:00
Dmitry Gozman 2f11807552
fix(click): no element should intercept events over the target frame (#15043)
When target element is inside a non-main frame, there could be an
overlay in some of the parent frames that intercepts pointer events.
However, we never detected this case.
2022-06-24 13:17:25 -07:00
Pavel Feldman ae6f48c4b8
fix(route): match against updated url while chaining (#15112) 2022-06-24 10:48:16 -07:00
Stuart Lang eba2bdffb9
docs: fix typo: surved -> served (#15105) 2022-06-24 15:06:57 +02:00
Dmitry Gozman a46aaee6e8
fix(reporters): truncate long test titles from the start (#15052)
Most useful information is at the end - test name, current step, retry.
We truncate the repetitive project + suites at the start.
2022-06-22 17:03:54 -07:00
Pavel Feldman 7bd72716f9
feat(har): introduce the slim mode (#15053) 2022-06-22 14:44:12 -07:00
Dmitry Gozman 033c250f6d
fix(har): remove types/har.d.ts, update har.ts per spec (#15046)
Drive-by: typo fix in `notFound` option name.
2022-06-22 12:16:29 -07:00
Playwright Service 01abff2090
feat(chromium-tip-of-tree): roll to r1017 (#15008)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-22 19:38:38 +02:00
Max Schmitt fb441faab1
fix: request/response events with backgroundPages (#15032) 2022-06-22 17:23:51 +02:00
Pavel Feldman 9525bedc1f
feat(har): re-add routeFromHAR (#15024) 2022-06-21 22:12:37 -07:00
Dmitry Gozman c02e165eb6
fix(test runner): toHaveScreenshot should not overwrite matching expectations (#15028)
Even in the `--update-snapshots` mode we should keep existing files if
they are matching under the threshold, to avoid needless churn.
2022-06-21 18:01:25 -07:00
Playwright Service da17490972
feat(webkit): roll to r1668 (#15012)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-21 17:22:09 -07:00
Playwright Service c0c1ada9fe
feat(webkit): roll to r1667 (#14960) 2022-06-21 14:04:52 -07:00
Dmitry Gozman 6af6fab84a
fix(har): internal redirect in renderer-initiated navigations (#15000)
fix(har): internal redirect in renderer-initiated navigations
2022-06-21 11:01:01 -07:00
Max Schmitt 3a61938628
chore: mark 1.24-next (#14857) 2022-06-21 19:32:15 +02:00
Tommi Finnilä 6b1bd6ec16
fix: Add Ubuntu 22.04 deps for arm64 (#15007) 2022-06-21 13:51:19 +02:00
Elias Sørensen 6ca18b3bb8
chore: support Pop!_OS 22.04 versioning (#14859)
Co-authored-by: Elias Sorensen <elias.soerensen@usercentrics.com>
2022-06-21 03:02:48 -07:00
Ross Wollman 0f8114f6a8
docs: replace serviceWorkers workaround (#14902) 2022-06-20 19:31:19 -07:00
Pavel Feldman 5e6b493bc9
doc(har): add more details into the har doc (#14998) 2022-06-20 17:54:39 -07:00
Dmitry Gozman bff90b5abb
fix(chromium): disable back-forward cache (#14996)
Otherwise, back/forward navigation does not intercept requests.
2022-06-20 17:27:45 -07:00
Pavel Feldman 883e4d449a
test(har): add more har tests (#14997) 2022-06-20 17:22:32 -07:00
Pavel Feldman aaafb77036
feat(har): disambiguate using matching headers (#14995) 2022-06-20 16:41:53 -07:00
Pavel Feldman b5524aa756
chore(har): brush up post data serialization (#14994) 2022-06-20 15:29:13 -07:00
Dmitry Gozman e3da3ebfa4
feat(har): do not expose HAR types, remove HARResponse fulfill (#14992) 2022-06-20 15:19:54 -07:00
Pavel Feldman eb87966441
feat(har): disambiguate requests by post data (#14993) 2022-06-20 14:14:40 -07:00
Dmitry Gozman 5397394653
feature(har): add testOptions.har (#14991)
Can now be used with `test.use({ har })`.
Also added more tests for latest har features.
2022-06-20 13:37:31 -07:00
Ross Wollman c3bbf8963d
test: installation test for CDN failover (#14963) 2022-06-20 11:24:23 -07:00
Pavel Feldman 920f1d52fc
chore: allow routing by uncompressed har (#14987) 2022-06-20 11:07:53 -07:00
Pavel Feldman e5372c3421
chore: move har router into local utils (#14967) 2022-06-18 20:24:55 -07:00
Pavel Feldman 1b927f1214 chore: remove stray log 2022-06-18 17:27:31 -07:00
Pavel Feldman e8070ee1b2
chore: warn users on clashing test output and html reporter folders (#14964) 2022-06-18 15:47:26 -07:00
Yury Semikhatsky ed6b14f0f4
fix(har): restart redirected navigation (#14939) 2022-06-17 21:17:30 -07:00
Pavel Feldman 030e7d211c
chore(har): allow replaying from zip har (#14962) 2022-06-17 16:11:22 -07:00
Max Schmitt 822b86d8a4
chore: add CDN download fallbacks (#14933) 2022-06-17 11:47:32 -07:00
Playwright Service 466d50e3e3
feat(chromium): roll to r1011 (#14948)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-17 18:41:06 +02:00
dependabot[bot] 36c9abfb2e
chore(deps): bump jpeg-js from 0.4.3 to 0.4.4 in /packages/playwright-core/bundles/utils (#14942)
* chore(deps): bump jpeg-js in /packages/playwright-core/bundles/utils

Bumps [jpeg-js](https://github.com/eugeneware/jpeg-js) from 0.4.3 to 0.4.4.
- [Release notes](https://github.com/eugeneware/jpeg-js/releases)
- [Commits](https://github.com/eugeneware/jpeg-js/compare/v0.4.3...v0.4.4)

---
updated-dependencies:
- dependency-name: jpeg-js
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* license

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-17 18:40:20 +02:00
Max Schmitt 08ac966f68
fix(html-reporter): do not verbose yell when opening report without gui (#14935) 2022-06-17 18:38:23 +02:00
Ross Wollman b9114f9cbc
fix(html-reporter): file-browser friendly extensions (#14943)
Fixes #14904.

This is done to make looking at the raw contents of the report
friendlier when using a file browser. However, it should be noted, the
public API of the HTML Reporter makes no guarantees of its contents
structure/layout/naming-conventions.
2022-06-17 08:09:49 -07:00
Pavel Feldman e9069bef6b
fix(body): fetch body explicitly for prefetched scripts (#14941) 2022-06-16 22:07:43 -07:00
Pavel Feldman be64e9ce66
chore(har): attach resources for .zip hars (#14938) 2022-06-16 18:27:25 -07:00
Pavel Feldman 245c33a5d4
feat(har): allow storing content as separate files (#14934) 2022-06-16 16:33:32 -07:00
Pavel Feldman 765ac5f0a7
chore: do not embed copyright in redistributable assets (#14928) 2022-06-16 16:18:25 -07:00
Yury Semikhatsky 2bdb0998bd
feat(cli): block-service-workers option (#14931) 2022-06-16 16:03:35 -07:00
Playwright Service c17dbe3ab3
feat(chromium-tip-of-tree): roll to r1016 (#14912)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-16 19:36:37 +02:00
Dmitry Gozman cddf3293cf
docs: mention chaining in locator.filter (#14920) 2022-06-16 10:05:30 -07:00
Dmitry Gozman cdb862767f
fix(page): "load" event should fire before "waitForLoadState" resolves (#14897)
Currently, `loadstate` and `load` are two separate events in the protocol,
and are fired in this order. As a result, `waitForLoadState()` sometimes
resolves before the `'load'` event is fired, which is unexpected.

Also fixes a flaky test that assumed `load` event comes after `domcontentloaded`
for the empty page, which is not always a case in Chromium.
2022-06-16 09:35:53 -07:00
Yury Semikhatsky 79378dd1eb
fix: add pw:api logging to har router (#14903) 2022-06-16 07:48:57 -07:00
Yury Semikhatsky c349c1d57f
feat: newContext.har (#14892)
Replaced {Page,BrowserContext}.(un)routeFromHar with browser.newContext.har.
2022-06-15 16:35:44 -07:00
Pavel Feldman 225ab68d1c
fix(test): fix the route test (#14890) 2022-06-15 16:15:45 -07:00
Pavel Feldman 59fa61aef1
fix(ct): relax react import pattern (#14896) 2022-06-15 16:14:45 -07:00
Pavel Feldman b8fece7204
chore: allow joining async handlers (#14893) 2022-06-15 15:27:31 -07:00
Yury Semikhatsky df63ae9dce
docs: update strict routeFromHar default value (#14886) 2022-06-15 09:32:40 -07:00
Pavel Feldman 464cbb7457
feat(chromium): allow attaching to other targets as to pages (#14873) 2022-06-15 09:31:32 -07:00
Ross Wollman 112a18e083
docs: document new webServer "ready" status codes (#14885)
Sync docs with implementation introduced via 30f3d526eb
2022-06-15 09:00:29 -07:00
Yury Semikhatsky 259c8d64a5
feat: Page.routeFromHar (#14870) 2022-06-15 08:41:46 -07:00
Dmitry Gozman 06c8d8e31c
chore: use channels types instead of a copy in server (#14874)
This is to avoid duplicating types for no reason.
2022-06-14 22:02:15 -07:00
Yury Semikhatsky e00a26a11d
feat(route): fulfill with HARResponse (#14865) 2022-06-14 15:07:22 -07:00
Playwright Service c8283cf9de
feat(chromium): roll to r1010 (#14863)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-14 23:18:03 +02:00
Playwright Service 81eaf764fc
feat(webkit): roll to r1666 (#14868) 2022-06-14 13:57:57 -07:00
marlowl 9d9b5d13be
docs(class-testconfig.md): remove trailing devices reference (#14867) 2022-06-14 13:25:06 -07:00
Dmitry Gozman e640f553b5
fix(connectOverCDP): make sure downloads work in default context (#14864) 2022-06-14 12:36:35 -07:00
Pavel Feldman 48f98673ef chore: remove stray fallback overrides check 2022-06-13 18:06:01 -07:00
Pavel Feldman 9cf068ad06
feat(fallback): allow falling back w/ overrides (#14849) 2022-06-13 17:56:16 -07:00
Ross Wollman 3974d1b359
revert(#14797): fix(test runner): collect artifacts when calling browser.close() (#14846)
Revert "fix(test runner): collect artifacts when calling `browser.close()` (#14797)"

This reverts commit c7a28ac7e9.

Looks like it broke a bunch of tracing tests:

* Good: https://github.com/microsoft/playwright/runs/6838098316?check_suite_focus=true
* First Bad: https://github.com/microsoft/playwright/runs/6838104691?check_suite_focus=true
* Still bad on HEAD (88664c39c9): https://github.com/microsoft/playwright/runs/6868333846?check_suite_focus=true
2022-06-13 17:20:59 -07:00
Andrew Branch 26e22c9a89
fix(types): compilation error in TypeScript 4.8 (#14847) 2022-06-13 16:39:55 -07:00
Ross Wollman 61536098be
docs: fix serviceWorkers formatting (#14845) 2022-06-13 15:18:24 -07:00
Pavel Feldman 88664c39c9
chore: remove esm error interception, it only confuses users (#14829) 2022-06-13 12:32:42 -07:00
Pavel Feldman dcdd3c3cdb
feat(route): explicitly fall back to the next handler (#14834) 2022-06-13 12:30:51 -07:00
Playwright Service 939e1877fb
feat(webkit): roll to r1663 (#14775) 2022-06-13 11:19:44 -07:00
Max Schmitt 18795ac034
fix: rewrite source-map-support Buffer deprecation warning (#14836) 2022-06-13 19:50:21 +02:00
Playwright Service dbc90b23ea
feat(chromium-tip-of-tree): roll to r1015 (#14832)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-13 19:35:26 +02:00
Max Schmitt 48b48ee8e8
chore: hide Buffer deprecation warning during tests (#14767) 2022-06-13 19:31:30 +02:00
Pavel Feldman 41529bb1a5
chore: respect sigint in global setup (#14805) 2022-06-12 13:06:00 -07:00
Pavel Feldman c7b3f4646f
fix(strict): escape css class names when generating selectors (#14810) 2022-06-12 09:39:30 -07:00
Pavel Feldman 76abb3a5be
chore: unify tab generation (#14802) 2022-06-10 17:34:31 -07:00
Pavel Feldman 380e787065
fix(ct): respect boolean shorthands (#14798) 2022-06-10 17:34:21 -07:00
Pavel Feldman 30f3d526eb
feat(server): consider 3XX, 400-403 responses as started server 2022-06-10 14:47:29 -07:00
Dmitry Gozman 7c0bff15ca
feat(fulfill): improve fulfilling from har (#14789)
- `har` option is now an object `{ path, fallback }`.
- Allows falling back to `abort()`, `continue()` or throwing.
- Matches based on url + method.
- Follows redirects in the HAR file.
- Nice error/stack when throwing.
- Tests.
2022-06-10 14:26:45 -07:00
Dmitry Gozman c7a28ac7e9
fix(test runner): collect artifacts when calling browser.close() (#14797)
Previously, we only collected artifacts on context closure.
However, in serial mode it is possible to close the browser instead.
2022-06-10 14:11:34 -07:00
Dmitry Gozman 868e00253f
feat(har): store textual content without base64 encoding (#14772) 2022-06-10 14:10:52 -07:00
Pavel Feldman 7a568a2952
feat(route): chain routes (#14771) 2022-06-10 09:06:39 -07:00
Playwright Service a98394033c
feat(chromium-tip-of-tree): roll to r1014 (#14742)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-10 15:59:49 +02:00
Sergio Freire 060cd9d97c
feat(junit reporter): link testcases to Xray test issues and provide additional metadata for Xray Test Management (#11374)
Co-authored-by: Sergio Freire <sergio.freire@xpand-it.com>
2022-06-10 10:31:48 +02:00
Sergio Freire d193bd64c4
feat(junit reporter): add option to force usage of CDATA sections for content in XML elements (#12744)
Co-authored-by: Sergio Freire <sergio.freire@xpand-it.com>
2022-06-10 10:25:52 +02:00
Dmitry Gozman 6822d03f0b
fix(cli): default to no timeout (#14769) 2022-06-09 21:07:57 -07:00
Max Schmitt a2e8c17fbf
chore: fix WK ubuntu 22 deps on Docker (#14770) 2022-06-10 00:00:05 +02:00
Josh Bowling 8dc10556e8
chore: fix error message typo (#14729) 2022-06-09 10:03:11 -04:00
Max Schmitt 3853014fa7
chore: add ubuntu 22 support (#14588) 2022-06-09 13:20:18 +02:00
Playwright Service d5e5a28c31
feat(webkit): roll to r1659 (#14727)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-09 10:07:09 +02:00
Dmitry Gozman e975aef961
feat(route): fulfill from har (#14720)
feat(route): fulfill from har

This allows to use pre-recorded HAR file to fulfill routes.
2022-06-08 20:29:03 -07:00
Ross Wollman 85d03714d9
feat: add allow/block serviceWorkers option (#14714)
Adds cross-browser support for easily allowing/blocking Service Workers via a Context option.

Includes plumbing for Playwright Test's `use`.

Resolves #14522.

Relates #1090.
Supercedes #14321.
2022-06-08 18:27:51 -04:00
Ross Wollman fccee89b41
feat: add Response.fromServiceWorker flag (#14715)
Resolves #14666.

Relates #1090.
Supercedes #14321.
2022-06-08 17:34:19 -04:00
Dmitry Gozman 176ab7e48b
chore: make LocalUtils easily available on the client (#14717)
Instead of plumbing it around, expose it through Connection.
2022-06-08 13:22:05 -07:00
Dmitry Gozman 6c739eb345
feat(cli): option to record har (#14696)
`npx playwright open --save-har=file.har` produces a HAR file that
can be later inspected or used for mocks.
`--save-har-glob="**/*.{png,woff2}"` option can be used to
produce a smaller har that only contains entries matching the glob.
2022-06-08 10:59:50 -07:00
Yury Semikhatsky 7f026dd64c
feat(webkit): roll to r1658 (#14709)
Language override behavior changed upstream in WebKit/WebKit@039ebd9
New logic is closer to the actual behavior of WebKit on macOS, meaning that when the user changes system language the actual locale changes according to some weird OS rules:
ru-RU => navigator.language === 'ru'
fr-CH => navigator.language === 'fr-FR'
es-MX => navigator.language === 'es-MX'
Our locale emulation is aligned with that, so setting locale to fr-CH will result in fr-FR etc.
2022-06-08 10:16:49 -07:00
Dmitry Gozman fdcdd58d7f
feat(har): introduce urlFilter (#14693)
This is a glob or regex pattern that filters entries recorder in the HAR.
2022-06-07 18:09:47 -07:00
Playwright Service c1a489ee4e
feat(firefox-beta): roll to r1329 (#14612)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-07 17:42:31 +02:00
Playwright Service 712ad4ec12
feat(firefox): roll to r1327 (#14614)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-07 17:42:08 +02:00
Playwright Service cf2c6ee81d
feat(chromium): roll to r1009 (#14620)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-07 17:38:13 +02:00
Pavel Feldman 4cc25725f9
fix(types): follow up to react 18 changes (#14671) 2022-06-06 21:05:47 -07:00
Pavel Feldman ca2afaaebd
chore: update babel (#14646) 2022-06-06 15:49:31 -07:00
Dmitry Gozman 1c6a136909
docs: describe test.setTimeout inside beforeAll/afterAll (#14670)
Adding documentation that `test.setTimeout()` call from the
`beforeAll`/`afterAll` hook changes the timeout of the hook itself.
2022-06-06 15:18:38 -07:00
Sébastien Règne 4c2fc6b6eb
feat(browser): add Browser.BrowserType() method (#14468) 2022-06-06 09:46:08 -07:00
Pavel Feldman 2d5572abd8
fix(ct): return locator to root for fragments (#14639)
fix(fragments): return locator to root for fragments
2022-06-04 14:07:06 -07:00
Max Schmitt ee0782b538
fix: hide DeprecationWarning of fd-slicer (#14638) 2022-06-04 17:49:35 +02:00
Playwright Service c7eabf659b
feat(firefox-beta): roll to r1328 (#14602) 2022-06-03 16:35:58 -07:00
Playwright Service 67ac3d31bf
feat(firefox): roll to r1326 (#14604) 2022-06-03 16:34:27 -07:00
Pavel Feldman c4b003a29a
chore: don't mask ESM error (#14628) 2022-06-03 15:28:53 -07:00
Dmitry Gozman 40bfdb0f4e
fix(codegen): use name attribute for frame elements (#14609) 2022-06-02 21:14:01 -07:00
Dmitry Gozman 79d356f0cc
fix(test runner): when worker exits unexpectedly, fail a single test (#14608)
All remaining tests will continue in a new worker.
2022-06-02 21:13:47 -07:00
Pavel Feldman 74b846270b
feat(ct): support Vue2 (#14600) 2022-06-02 17:37:43 -07:00
Ross Wollman 978854b859
chore: move multi-select assertion to toHaveValues (#14595)
Follow-up to e0a87e52d7
2022-06-02 16:01:34 -04:00
Elijah dbc2494e54
fix: sanitize URLs with vbscript: (#14325)
fix: sanitize URLs with vbscript:

The vbscript: protocols can be used to run scripts in much the same way as the javascript: protocol. This PR adds in validation for those aforementioned protocols in snapshotterInjected.ts and snapshotRenderer.ts.
2022-06-02 12:25:59 -07:00
Dmitry Gozman 3a3aa023ad
chore: simplify context/page reuse in ct (#14565) 2022-06-02 12:16:07 -07:00
Andrey Lushnikov 8801f79742
Revert "fix(playwright-test): prohibit async functions passed to describe (#14538)" (#14591)
This reverts commit bd0fe50a0e.
2022-06-02 10:31:10 -07:00
Andrey Lushnikov bd0fe50a0e
fix(playwright-test): prohibit async functions passed to describe (#14538)
References #14533
2022-06-02 09:44:47 -07:00
Playwright Service 321db57e96
feat(chromium-tip-of-tree): roll to r1012 (#14581)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-02 18:23:52 +02:00
Ross Wollman e0a87e52d7
feat: support multi-select/combo box with toHaveValue (#14555) 2022-06-02 12:10:28 -04:00
Dmitry Gozman d00efa0dfe
feat(expect): add ignoreCase option to toHaveText and toContainText (#14534) 2022-06-02 05:52:53 -07:00
Playwright Service 82f8af3ff6
feat(chromium-tip-of-tree): roll to r1011 (#14515)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-02 13:53:56 +02:00
Pavel Feldman e912b6897d
fix(esm): respect source maps in esm-transpiled code (#14561) 2022-06-01 16:50:23 -07:00