Commit graph

127 commits

Author SHA1 Message Date
Dmitry Gozman 2c3955a28c
chore: remove fake error from expect calls (#28112)
We used to have a fake `error` property, so that trace viewer shows
failed expectes as such. Today, we have a step for each expect that
contains a proper error. Sending the fake error to the client confuses
language ports.
2023-11-13 16:39:05 -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
Pavel Feldman 87787dcc7d
chore: allow click close the page w/o errors (#27994) 2023-11-06 15:13:41 -08:00
Pavel Feldman 817a130cdc
chore: dispose-based callback termination (#27911) 2023-11-01 16:36:39 -07: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
Yury Semikhatsky c7b6a76437
fix(fetch): throw when methods are called on disposed context (#27868)
Fixes #27822
2023-10-30 15:23:12 -07:00
Dmitry Gozman 6e62a11643
fix(trace): EPERM on windows (#27693)
When merging trace files, we sometimes left open read streams from the
zip, which prevents it from being removed.

Fixes #27286.
2023-10-19 11:14:17 -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
Pavel Feldman b0c73b72f1
chore: push protocol error conversion to dispatcher (#27608) 2023-10-16 13:13:00 -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
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 55c4bb97af
chore: extract CDPSession on the server side, remove duplicate code (#27349)
This makes sure that protocol calls after target close are rejected
correctly.
2023-09-29 12:50:02 -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
Dmitry Gozman 0f72ef0584
fix(streams): avoid leaking event listeners (#27291)
Fixes #26998.
2023-09-25 10:59:14 -07:00
Pavel Feldman 287d720b8e
chore: remove dedicated console channel (#27234) 2023-09-21 16:16:43 -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
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
Pavel Feldman 4949cef09c
chore: save chrome trace on the client side (#24414) 2023-07-26 14:11:26 -07:00
Pavel Feldman 53bf1995db
chore: do not leak internal page handles after closing page (#24169)
Partial fix for https://github.com/microsoft/playwright/issues/6319

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

```js
  for (let i = 0; i < 1000; ++i) {
    const page = await context.newPage();
    await page.goto('...');
    await page.close('...');
  }
```
2023-07-12 14:51:13 -07:00
Pavel Feldman 0409bfca56
chore: ensure module deps in ct-core (#24056)
Fixes https://github.com/microsoft/playwright/issues/23823
2023-07-06 12:01:45 -07:00
Dmitry Gozman 86c1abd934
chore: introduce ReporterV2 interface (#23983) 2023-06-30 13:36:50 -07:00
Dmitry Gozman 734705e9b3
chore: elementHandle getters implemented through Frame (#23557)
This is a step towards not using handles for locator operations.
2023-06-09 07:18:13 -07:00
Pavel Feldman 7579572688
chore: unflake the network status test (#23551) 2023-06-06 16:55:53 -07:00
Dmitry Gozman 6bb5c0a549
fix: make evaluate not wait for scheduled navigations (#23402)
Fixes #23141.
2023-05-31 14:08:44 -07:00
Dmitry Gozman fec5059fee
feat(connect): print debug log when remote connection failed (#23069) 2023-05-16 16:46:02 -07:00
Dmitry Gozman 42328478ea
feat: make console/dialog events based on subscription (#22835)
This way we do not send events from the server unless the client is
interested.

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

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

Fixes #22803.
2023-05-05 11:10:53 -07:00
Dmitry Gozman 236c329ea9
feat: browserContext.on('dialog'/'console') (#22805)
Relanding #22033 and #21943.
2023-05-04 15:11:46 -07:00
Pavel Feldman 9f661b710a
chore: bump the trace packet size to be 1Mb (#22446) 2023-04-17 18:36:08 -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
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
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 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
Pavel Feldman d4e0ef7f1a
chore: explicitly send route's requestUrl for tracing (#21940) 2023-03-23 14:57:03 -07:00
Pavel Feldman 0bf406c8aa
chore: sort tracing actions by wall time (#21839) 2023-03-21 10:03:49 -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 c45d8749b0
chore: split trace events into phases (#21696) 2023-03-15 22:33:40 -07:00
Pavel Feldman 22d82b6e1b
chore: flatten metadata in trace events (#21214) 2023-02-27 15:29:20 -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
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
Pavel Feldman 0678b6575f
chore(watch): allow toggling browser (#20738) 2023-02-08 08:36:02 -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