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
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
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
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
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
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×tamp=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
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
Dmitry Gozman
35afb056ea
feat(locator): filter({ hasNotText }) ( #22222 )
...
The opposite of `filter({ hasText })`.
2023-04-05 14:13:28 -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
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
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
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
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
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
Dmitry Gozman
539d9873c2
feat: rename Locator.filter(locator) to Locator.and ( #22101 )
2023-03-30 14:41:30 -07:00
Dmitry Gozman
e6148bb725
feat: Locator.not(locator) ( #22066 )
2023-03-30 08:52:30 -07: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
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
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
Dmitry Gozman
6929214dbf
feat(expect): expect(locator).toBeAttached() ( #22067 )
...
Fixes #13467 .
2023-03-29 11:09:17 -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
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
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
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
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
d4e0ef7f1a
chore: explicitly send route's requestUrl for tracing ( #21940 )
2023-03-23 14:57:03 -07:00
Dmitry Gozman
d10fac4f6a
feat: Locator.or(locator) ( #21884 )
2023-03-22 15:28:59 -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
0bf406c8aa
chore: sort tracing actions by wall time ( #21839 )
2023-03-21 10:03:49 -07:00
Pavel Feldman
543c812d2f
chore(ui): queue watch runs ( #21809 )
2023-03-20 13:45:35 -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
b0bda92f9e
chore(ui): store selected projects in settings ( #21737 )
2023-03-17 09:41:23 -07: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
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
Pavel Feldman
f47a8a677c
chore: verify chromium builds ( #21730 )
2023-03-16 16:56:25 -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
Dmitry Gozman
3f20602735
feat(tracing): throttle trace event writes ( #21694 )
2023-03-16 07:04:05 -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
Pavel Feldman
99d8f6e7de
chore(ui): show live trace ( #21677 )
2023-03-15 11:17:03 -07:00
Pavel Feldman
27048adebe
chore: introduce testInfo.testId ( #21670 )
2023-03-14 15:58:55 -07:00
Dmitry Gozman
ccd5d7fd10
fix(hit target): workaround webkit elementsFromPoint bug ( #21642 )
...
Fixes #21596 .
2023-03-13 19:33:56 -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
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
Dmitry Gozman
46f9fa005e
fix(tracing): do not double-zip entries in remote mode ( #21579 )
...
Fixes #21435 .
2023-03-10 14:54:32 -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
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
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
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
cffb6ac269
chore: move sever/isomorphic to utils/ to use it in client ( #21445 )
2023-03-06 18:49:14 -08:00
Pavel Feldman
b6ff3bad98
chore: split code mirror and xterm modules ( #21415 )
2023-03-06 10:40:45 -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
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
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
c17eea7a3c
chore: fix xpath-in-iframe ( #21367 )
...
Fixes https://github.com/microsoft/playwright/issues/21364
2023-03-03 09:13:25 -08: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
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
Andrey Lushnikov
bfc895787f
fix(firefox): fix reload with hash URLs ( #21322 )
...
Fixes #21145
2023-03-01 18:56:30 -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
Pavel Feldman
e222874445
chore: ui mode first cut ( #21291 )
2023-03-01 15:27:23 -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
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
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
Pavel Feldman
22d82b6e1b
chore: flatten metadata in trace events ( #21214 )
2023-02-27 15:29:20 -08:00
Tarnay Kálmán
e28801f6ef
fix(snapshot): render srcdoc iframe snapshots ( #21003 )
2023-02-27 13:34:39 -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
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
Pavel Feldman
8ccc02a9d3
chore: use client wall time in traces ( #21163 )
2023-02-23 14:37:53 -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
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
Yury Semikhatsky
d6dae8ea1f
fix: eval serialization w/ overridden URL/RegExp/Date ( #21112 )
...
Fixes #21109
2023-02-22 15:45:42 -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
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
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
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
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
Andrey Lushnikov
1db04f2839
fix: simplify protocol for toBeInViewport ( #20960 )
2023-02-16 11:02:19 -08:00
Andrey Lushnikov
5f9e2f3db9
chore: fix inspector cli firefox tests flakiness ( #20919 )
2023-02-15 09:12:37 -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
Andrey Lushnikov
3a685ecae4
fix: hide highlight in recorder before toHaveScreenshot command ( #20874 )
...
Fixes #20866
2023-02-13 13:15:55 -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
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
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
Pavel Feldman
6b0a7003c4
chore(watch): run by default again ( #20763 )
2023-02-08 18:53:07 -08:00
Pavel Feldman
0678b6575f
chore(watch): allow toggling browser ( #20738 )
2023-02-08 08:36:02 -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
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
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
Andrey Lushnikov
1120b82ba2
feat(firefox): roll Firefox & Firefox Beta ( #20670 )
...
Fixes #19685
Fixes #20093
2023-02-06 14:08:32 -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
Dmitry Gozman
3180bc9804
fix(types): make most fixtures non-undefined ( #20573 )
...
Fixes #20416 .
2023-02-02 13:11:50 -08:00
Dmitry Gozman
b39079b51e
feat(trace viewer): popout snapshot in a new tab ( #20475 )
2023-01-30 19:07:52 -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
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
Yury Semikhatsky
532ca3f7b3
fix: throw on tap when hasTouch=false ( #20457 )
...
Fixes #20430
2023-01-27 15:51:57 -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
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
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
Dmitry Gozman
332dbc5bf6
fix(chromium): enable gpu support in mac headless ( #20418 )
2023-01-26 13:21:25 -08: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
Max Schmitt
05843bdfd9
chore: support Debian 11 arm64 ( #19676 )
...
https://github.com/microsoft/playwright/issues/18319
2023-01-23 15:54:25 +01: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
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
Playwright Service
6d63773965
feat(webkit): roll to r1760 ( #20197 )
2023-01-18 12:24:12 -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
Alex
b984bb9ad6
fix: serviceWorker.register function ( #20072 )
2023-01-12 10:47:45 -08: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
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
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
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
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
Yury Semikhatsky
10ccfa9517
feat(fetch): happy eyeballs ( #19902 )
...
Fixes #18790
2023-01-05 14:39:49 -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
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
Ross Wollman
359d176ff6
fix(driver): avoid polluting stdout ( #19759 )
...
Relates microsoft/playwright-python#1699 .
2022-12-28 17:09:11 -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
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
1bb019ac81
chore: migrate most of rerunnable tasks to element callback ( #19713 )
2022-12-27 09:22:22 -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
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
Dmitry Gozman
e12cf19012
chore: refactor frame.expect to not use rerunnable task ( #19626 )
2022-12-21 15:31:08 -08:00
Dmitry Gozman
eaae8ebbf3
chore: throw InvalidSelectorError from selector parser, add some tests ( #19636 )
2022-12-21 14:27:35 -08:00
Max Schmitt
7508c574e1
chore: bring ubuntu bionic back ( #19625 )
2022-12-21 18:37:42 +01:00
Dmitry Gozman
ae2b1ac5e8
chore: move some injected code to InjectedScript ( #19609 )
2022-12-20 17:26:54 -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
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
Dmitry Gozman
1263bc3edd
feat(console api): first/last/nth ( #19485 )
2022-12-15 11:17:59 -08: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
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
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
Max Schmitt
92b3995101
chore(recorder): align toolbar buttons correctly ( #19357 )
2022-12-08 17:33:18 +01:00
Dmitry Gozman
bdaf11a568
chore: refactor roleEngine to allow alternative representation ( #19344 )
2022-12-07 16:49:20 -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
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
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
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
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
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
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
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
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
Zihua Li
0c6a0f40c6
feat(keyboard): support simple cut-pasting using meta+x/v ( #18756 )
2022-11-29 12:58:14 -08:00
Dmitry Gozman
43a6bf4d45
fix(inspector): support custom test id attribute ( #18996 )
...
Fixes #18959 .
2022-11-29 11:43:47 -08:00
Pavel Feldman
85467d1b7d
chore: generate get by title ( #19119 )
2022-11-28 19:55:34 -08: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
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
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
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
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
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
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
Andrey Lushnikov
c47c90cc25
chore: update WebKit browser version to 16.4 ( #18830 )
2022-11-15 12:46:15 -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
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
Playwright Service
1b13519984
feat(chromium): roll to r1034 ( #18736 )
2022-11-11 17:11:58 -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
7685c929bf
chore: use '--disable-component-update' flag to avoid component updates ( #18745 )
2022-11-11 13:44:09 -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
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
Pavel Feldman
ac25fdd74b
chore: fix ff tests with new events mode ( #18708 )
2022-11-10 12:59:27 -08:00
Pavel Feldman
ca2e7ef199
chore: report paused signal to the debug controller clients ( #18701 )
2022-11-10 12:15:29 -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
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
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
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
Dmitry Gozman
7a9f1b5ee4
fix(firefox): force fast shutdown after "xpcom-will-shutdown" phase ( #18556 )
2022-11-04 09:02:13 -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
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
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
Pavel Feldman
67c9624924
chore: send structured codegen info to the debug controller ( #18491 )
2022-11-01 18:02:14 -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
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
Pavel Feldman
2c3fa1b1ff
chore: add explore locator parser ( #18429 )
2022-10-31 12:55:35 -07:00
Pavel Feldman
a7f5f2d7a1
chore: allow not overriding media when creating context ( #18413 )
2022-10-31 09:09:52 -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
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
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
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
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
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
Pavel Feldman
5b1e4e08a5
chore: detect browser reuse based on the connection headers ( #18230 )
2022-10-20 18:30:37 -07:00
Pavel Feldman
84daeafb3a
chore: use internal locator for role ( #18187 )
2022-10-19 19:38:47 -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
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
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
Pavel Feldman
1b541c9932
chore: render typed locators in the trace viewer ( #18166 )
2022-10-18 19:23:40 -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
Pavel Feldman
928f7c8766
chore: port css parser to ts ( #18134 )
2022-10-18 12:44:48 -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
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
Max Schmitt
a60073d664
fix(generator): .NET getByRole w/ name ( #18060 )
2022-10-13 08:23:43 -07:00
Barbara Lócsi
347544db09
fix: override cookie even if new is expired ( #17998 )
2022-10-11 23:06:16 -07:00
Pavel Feldman
ec1f8d17f0
fix(generator): generate nice locators for arbitrary selectors ( #18010 )
2022-10-11 17:50:41 -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
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
Pavel Feldman
8b018f6b41
chore: make role name case-insensitive ( #17888 )
2022-10-06 14:35:10 -07:00
Pavel Feldman
f2685cab95
chore: use api selectors in codegen hover ( #17855 )
2022-10-05 17:59:34 -07:00
Pavel Feldman
3ecaa36e25
chore: make locators generator isomorphic ( #17850 )
2022-10-05 13:13:22 -07:00
Pavel Feldman
c168f5494f
chore: generate getByLabel for inputs ( #17845 )
2022-10-05 12:02:15 -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
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
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
Pavel Feldman
083fb4401c
feat(api): add getByPlaceholderText ( #17722 )
2022-09-29 18:12:49 -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
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
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
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
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
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
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
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
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
6b4afbb8df
chore: support http protocol with browserType.connect() ( #17483 )
2022-09-22 11:59:58 -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
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
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
Pavel Feldman
3abbe0d850
chore: migrate codegen to controller events ( #17450 )
2022-09-20 14:32:21 -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
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
Pavel Feldman
872bcc9734
chore: expose driver protocol on the pw object ( #17363 )
2022-09-15 15:53:18 -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
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
Vincenzo Gasparo
17b203affb
feat: added follow and redirect arguments to fetch ( #17033 )
2022-09-09 12:14:42 -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
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
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
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
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
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
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
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
Yury Semikhatsky
5d6253f743
fix: stop har recording when APIRequestContext is disposed ( #17007 )
2022-08-31 21:51:38 -07:00
Yury Semikhatsky
aaa28394cd
feat(trace): include url into route.fulfill call params ( #16934 )
2022-08-31 12:37:49 -07:00
Max Schmitt
6533eb2e5b
chore: fix deps for WebKit on ubuntu20 ( #16950 )
2022-08-31 12:27:09 +02:00
Playwright Service
77f6b25941
feat(webkit): roll to r1712 ( #16933 )
2022-08-30 14:24:14 -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
Pavel Feldman
6319b14069
chore: dispatcher is a scope ( #16843 )
2022-08-26 09:30:27 -07: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
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
Andrey Lushnikov
6ebd3ea61f
chore(electron): put client-provided arguments in front ( #16782 )
...
Fixes #16614
2022-08-23 15:08:36 -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
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
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
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
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
94c9db299d
feat(webkit): roll to r1703 ( #16604 )
2022-08-17 17:13:00 -07:00
Max Schmitt
13596b7be3
chore: language specific dropdowns in codegen ( #16452 )
2022-08-15 19:44:46 +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
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
Pavel Feldman
c84fbc2e4e
feat(driver): add reuse and navigate commands ( #16420 )
2022-08-10 10:57:28 -07: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
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
Max Schmitt
ff5f241b84
chore: set --allow-pre-commit-input flag on Android/Electron ( #16383 )
2022-08-09 23:18:15 +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
Pavel Feldman
2d7c003ada
chore: minor inspect tweaks ( #16334 )
2022-08-08 10:39:54 -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
Pavel Feldman
8ed238843b
chore: allow inspecting element from server ( #16324 )
2022-08-05 19:34:57 -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
Pavel Feldman
97fa2518e9
fix(reuse): clear storage after stopping all scripts ( #16275 )
2022-08-04 16:39:18 -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
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
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
Pavel Feldman
d5bc5ee6f7
fix(reuse): clear cookies and local storage when reusing context ( #16175 )
2022-08-02 17:26:59 -07: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
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
Pavel Feldman
5a79054544
feat(innerloop): allow reusing browsers over the remote connection ( #16065 )
2022-07-31 14:31:17 -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
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
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
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
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
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
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
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
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
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
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
Andrey Lushnikov
83e3dbb1bb
chore: add support for debian 11 downloads ( #15596 )
2022-07-13 04:09:24 -07:00
Yury Semikhatsky
3436e64b75
feat: dispatch wheel event ( #15593 )
2022-07-12 17:17:45 -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
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
Max Schmitt
7e1801bd30
fix(matchers): repeating values lead to no error ( #15559 )
2022-07-12 20:03:27 +02:00
Pavel Feldman
5fc637e44a
chore: experimental resetForReuse ( #15432 )
2022-07-11 13:10:08 -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
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
Pavel Feldman
0781d04a5e
chore: get rid of page state overrides ( #15470 )
2022-07-07 16:28:20 -07:00
Pavel Feldman
5fd6ce4de0
chore: allow aborting in-flight routes on context reuse ( #15460 )
2022-07-07 13:07:09 -07:00
Pavel Feldman
cc6f415933
chore: share grant permissions init among browser types ( #15457 )
2022-07-07 11:39:05 -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
Pavel Feldman
f71b620de7
chore: unregister handlers when dispatcher goes ( #15425 )
2022-07-06 20:32:31 -07:00