Yury Semikhatsky
f28ceffa37
feat: page.unrouteAll and context.unrouteAll ( #28635 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-14 13:48:17 -08:00
Max Schmitt
9b2585cd4e
fix: 'should collect trace with resources, but no js' test in service mode ( #28628 )
2023-12-13 11:42:29 -08:00
Pavel Feldman
afe90d648e
fix: do not generate api call steps inside named expects ( #28609 )
...
Fixes: https://github.com/microsoft/playwright/issues/28528
2023-12-13 09:06:02 -08:00
Max Schmitt
736c0efd43
chore: use more explicit awaits when returning in client ( #28443 )
2023-12-07 20:13:35 -08:00
Max Schmitt
2d2c270388
chore: mark outofprocess connection not as remote ( #28156 )
2023-12-06 17:58:19 -08:00
Yury Semikhatsky
8f056fbbce
chore: do not wait for route on close if route.continue() threw an error ( #28487 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-05 10:26:17 -08:00
Yury Semikhatsky
74e51d334e
feat: wait for active route handlers on page/context close ( #28414 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-04 16:19:05 -08:00
Pavel Feldman
92a0d24069
fix: restore timeout error name ( #28408 )
...
Fixes https://github.com/microsoft/playwright/issues/28404
2023-11-29 17:28:17 -08:00
Yury Semikhatsky
15a8ba5158
fix(route): correctly remove expired handlers ( #28385 )
...
* Check if handler is still in the route list before calling it
* Check if the handler is still in the list before removing it after
`times` expiration
2023-11-28 17:52:16 -08:00
Dmitry Gozman
5488c03d7f
chore: make asLocator() always safe ( #28207 )
2023-11-16 16:31:34 -08:00
Yury Semikhatsky
fae5dd898a
chore: remove from client check if browser is co-located with server ( #28071 )
...
Reference https://github.com/microsoft/playwright/issues/27792
2023-11-10 15:24:31 -08:00
Dmitry Gozman
62b6af3a7f
fix(android): respect recordHar option ( #28046 )
...
Fixes #28015 .
2023-11-09 08:36:05 -08:00
Max Schmitt
5f527fedb1
fix: JSHandle preview text for non-ascii attributes/children ( #28038 )
...
This surfaced in .NET that the string in the driver got incorrectly cut,
then transferred to .NET as an invalid UTF8 character
[`\ud835`](https://charbase.com/d835-unicode-invalid-character ) which
.NET wasn't able to parse and threw an error.
Drive-by: Move similar function from
`packages/playwright-core/src/client/page.ts` into isomorphic
`stringUtils`.
https://github.com/microsoft/playwright-dotnet/issues/2748
2023-11-09 00:11:01 +01:00
Yury Semikhatsky
36c4c24f8a
fix: only convert input files for browser collocated with server ( #27873 )
...
Reference #27452
Fixes #27792
2023-11-01 08:40:12 -07:00
Dmitry Gozman
88f30d1ce2
feat: support firefoxUserPrefs in launchPersistentContext ( #27840 )
...
Fixes #27773 .
2023-10-27 09:24:41 -07:00
Pavel Feldman
7de0ccd36e
chore: support await using for close() and dispose() ( #27766 )
...
This change assumes that the user has Node 18 with Symbol.dispose
available.
Fixes https://github.com/microsoft/playwright/issues/27141
2023-10-24 12:25:53 -07:00
Yury Semikhatsky
bd58c0d5d2
fix: preserve lastModified timestamp in setInputFiles ( #27671 )
...
Fixes #27452
2023-10-18 14:05:09 -07:00
Pavel Feldman
3aa147914c
chore: split error to client and server sides ( #27672 )
2023-10-17 21:34:02 -07:00
Pavel Feldman
091f6883f5
chore: remove the usages of raw target closed message constant ( #27669 )
2023-10-17 15:35:41 -07:00
Pavel Feldman
d4296dbff4
chore: break dowload.path() to throw ( #27662 )
2023-10-17 12:56:56 -07:00
Pavel Feldman
a54dbfdadf
chore: plumb the target close reason when test fails ( #27640 )
2023-10-16 20:32:13 -07:00
Yury Semikhatsky
4e845e7b1d
fix(fetch): JSON.stringify on client ( #27644 )
...
Fixes https://github.com/microsoft/playwright/issues/27602
2023-10-16 16:33:49 -07:00
Pavel Feldman
f8a30fb726
chore: follow up to target close message
2023-10-12 14:58:19 -07:00
Pavel Feldman
f212fd1a83
chore: unify target closed errors ( #27540 )
2023-10-12 11:05:34 -07:00
Pavel Feldman
fd6bf8aa2c
chrome: improve error messages on vscode side ( #27521 )
2023-10-09 19:55:24 -07:00
Pavel Feldman
11a4b3f7f5
chore: remove parsed stack trace ( #27496 )
2023-10-09 17:04:16 -07:00
Dmitry Gozman
ae5610f5c1
chore: include full messages into pw:channel logs ( #27488 )
...
Currently, we pass an object to the logger and it seems to use default
Node's `util.inspect()` which does not print properties at 3+ depth.
2023-10-06 11:04:33 -07:00
Jim Hays
dcc8dcca73
Fix various typos ( Fixes #27396 ) ( #27391 )
...
Fixes https://github.com/microsoft/playwright/issues/27396
2023-10-04 19:56:42 -07:00
Dmitry Gozman
045e8aa368
chore: move devices from Playwright to LocalUtils ( #27437 )
...
Also, do not create `LocalUtils` for remote connections. This avoids
sending device on every remote connect.
2023-10-04 16:48:54 -07:00
Dmitry Gozman
81694b7401
test: unflake some tests ( #27354 )
2023-09-29 10:45:31 -07:00
Pavel Feldman
ffd20f43f8
chore: dispose stale handles to prevent oom, 1000 of a kind max ( #27315 )
...
https://github.com/microsoft/playwright/issues/6319
2023-09-26 15:54:33 -07:00
Pavel Feldman
287d720b8e
chore: remove dedicated console channel ( #27234 )
2023-09-21 16:16:43 -07:00
Pavel Feldman
9fe037fb63
chore: populate matcherResult in web assertions ( #27133 )
...
Ref https://github.com/microsoft/playwright/issues/26929
2023-09-16 14:24:10 -07:00
Pavel Feldman
527d260cbf
chore: hide tracing calls from traces ( #27096 )
2023-09-15 12:55:49 -07:00
Andrey Lushnikov
a34030be80
browser(firefox): support relative paths for firefox videos ( #27099 )
...
Firefox protocol requires absolute paths for video recording.
Fixes https://github.com/microsoft/playwright/issues/27086
2023-09-15 10:26:20 -07:00
Dmitry Gozman
361038c950
feat: rename PageError to WebError ( #26913 )
2023-09-06 12:40:53 -07:00
Dmitry Gozman
6d85ba1494
fix: remove connectInsteadOfLaunching ( #26828 )
2023-08-31 15:29:04 -07:00
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
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
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
f83d81956d
chore: make console stream live in ui mode ( #26562 )
2023-08-21 10:59:37 -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
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
Dmitry Gozman
ea6d127f28
feat(connect): exposeNetwork option ( #24436 )
2023-07-26 17:29:31 -07:00
Pavel Feldman
4949cef09c
chore: save chrome trace on the client side ( #24414 )
2023-07-26 14:11:26 -07:00
Dmitry Gozman
2cb0622c39
chore: rename ScopedRace to LongStandingScope, preserve Error instance in reject() ( #24361 )
2023-07-23 21:00:07 -07:00
Pavel Feldman
879ddb73b0
chore: show last poller error on test timeout ( #24292 )
2023-07-18 17:03:26 -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
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
Dmitry Gozman
76d85c55cf
chore: remove unused code ( #24167 )
2023-07-11 15:08:05 -07:00
Dmitry Gozman
1ab99fe1b8
feat(electron): support tracesDir option ( #23947 )
...
References #23620 .
2023-06-28 16:32:16 -07:00
Dmitry Gozman
4f8680f7a3
fix(pause): revert timeouts after pause ( #23578 )
...
Fixes #23523 .
2023-06-07 12:30:10 -07:00
Pavel Feldman
7579572688
chore: unflake the network status test ( #23551 )
2023-06-06 16:55:53 -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
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
Dmitry Gozman
be7984bdc9
fix(unroute): do not compare regexp instances ( #23101 )
...
References #23092 .
2023-05-17 16:27:32 -07:00
Dmitry Gozman
fec5059fee
feat(connect): print debug log when remote connection failed ( #23069 )
2023-05-16 16:46:02 -07:00
Pavel Feldman
efad19b332
chore: render test steps in the trace ( #22837 )
2023-05-05 15:12:18 -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
236c329ea9
feat: browserContext.on('dialog'/'console') ( #22805 )
...
Relanding #22033 and #21943 .
2023-05-04 15:11:46 -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
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
Pavel Feldman
e9373dfb6e
chore: make client-side instrumentation non-nullable ( #22694 )
2023-04-28 08:57:43 -07:00
☃ Elliot Shepherd
106fa45f50
feat(route): accept timeout to fetch ( #22475 )
...
Fixes : #22474
2023-04-20 08:41:33 -07:00
Pavel Feldman
9f661b710a
chore: bump the trace packet size to be 1Mb ( #22446 )
2023-04-17 18:36:08 -07: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
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
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
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
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
3a80d119e0
chore: update routeFromHAR options for release ( #21764 )
2023-03-17 11:49:45 -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
ea85242941
chore: improve client-side options plumbing ( #21697 )
2023-03-16 07:03:33 -07:00
Dmitry Gozman
40a6eff8f2
feat: support name option in tracing.startChunk() ( #21692 )
2023-03-15 17:34:56 -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
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
86ca7e3949
chore: introduce manual promise race ( #21358 )
...
Fixes https://github.com/microsoft/playwright/issues/21345
2023-03-06 08:50:03 -08:00
Dmitry Gozman
0c5d46bb94
feat: allow chaining locators with Locator.locator(anotherLocator) ( #21391 )
2023-03-03 14:50:53 -08:00
Pavel Feldman
09ff7eaaf2
chore: throw on context.close() if it was closed externally ( #21347 )
2023-03-02 13:46:54 -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
NoamGaash
e17e0e40f8
feat(routeFromHAR): add arguments ( #21223 )
2023-02-27 15:27:38 -08:00
Pavel Feldman
3fa19e80ad
chore: wrap expect call in a zone ( #21191 )
2023-02-24 12:17:03 -08:00
Pavel Feldman
8ccc02a9d3
chore: use client wall time in traces ( #21163 )
2023-02-23 14:37:53 -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
Pavel Feldman
3f8f2a0fdd
chore: do not use library stack capturer in test runner ( #21075 )
2023-02-21 19:24:17 -08:00
Pavel Feldman
06fc72b6ed
revert( #12706 ): also fix related bugs it introduced ( #21070 )
2023-02-21 14:15:11 -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
Dmitry Gozman
6e5964cccd
fix(connect): respect launch options when turning into connect ( #20757 )
2023-02-08 13:06:05 -08:00
Dmitry Gozman
edfff8cd8c
test: run more tests in 'service' mode ( #20734 )
2023-02-07 18:25:33 -08:00
Dmitry Gozman
6ad4687f4d
feat(route): add maxRedirects option to Route.fetch ( #20567 )
...
References #20501 .
2023-02-01 14:43:21 -08:00