Commit graph

361 commits

Author SHA1 Message Date
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
Dmitry Gozman d458e84f5b
feat(route): match pattern on the server side (#20410)
This avoids client-side roundtrip for requests that are not handled by
any route.

Fixes #19607.
2023-01-27 10:43:19 -08:00
Dmitry Gozman ead4989947
fix(api): Response.finished() throws when target closes (#20453) 2023-01-27 10:42:43 -08:00
Dmitry Gozman cab52cded9
chore: consolidate route handling logic in NetworkRouter (#20353)
References #19607.
2023-01-25 14:11:53 -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
Pavel Feldman d1c161ce99
chore: merge the util exports (#20110) 2023-01-13 13:50:38 -08:00
Max Schmitt 0fe327c21b
chore: return Promise<any> in {page,context}.route (#20005)
Fixes https://github.com/microsoft/playwright/issues/19855
Closes https://github.com/microsoft/playwright/pull/19856
2023-01-10 18:07:17 +01:00
Pavel Feldman 3f0adf5dd0
chore: release from pause when the page closes (#19975)
Fixes: https://github.com/microsoft/playwright/issues/19168
2023-01-09 18:49:18 -08:00
Dmitry Gozman 31a63b5c2a
fix(reuse): make reuse work with tracing (#19733)
Fixes #19059.
2023-01-05 14:50:47 -08:00
Yury Semikhatsky 10ccfa9517
feat(fetch): happy eyeballs (#19902)
Fixes #18790
2023-01-05 14:39:49 -08:00
Andrey Lushnikov 3883799d68
feat: introduce locator.viewportRatio (#19761)
References #8740
2023-01-05 10:49: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
Pavel Feldman 95cc5c2a2e
fix(electron): fix the directory app path (#19601) 2022-12-20 12:50:53 -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
Pavel Feldman 3f333a8ef7
chore: simplify post_data processing (#19490) 2022-12-15 11:57:51 -08:00
Pavel Feldman 3afd83c8cc
chore: withdraw locator.enumerate (#19484) 2022-12-15 10:13:56 -08:00
Pavel Feldman 17a0074459
feat(api): introduce Locator.all, enumerate (#19461) 2022-12-14 16:42:50 -08:00
Pavel Feldman d1559a0fcc
chore: route.fetch(postData) (#19436) 2022-12-13 14:01:39 -08:00
Pavel Feldman 6cadc56ea3
feat(api): allow getByTestId(regex) (#19419) 2022-12-13 08:43:13 -08:00
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
Pavel Feldman 7aa3935dcc
chore: match selected options by both value and label (#19316) 2022-12-07 09:04:32 -08:00
Pavel Feldman f0e8d8f074
feat(api): introduce route.fetch and route.fulfill(json) (#19184) 2022-11-30 17:26:19 -08:00
Pavel Feldman 5ac426b3d5
chore: expose utility script to inner evaluates (#19147) 2022-11-29 16:57:11 -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
Dmitry Gozman 7c80b77c57
feat(clear): remove clear() methods from all classes except Locator (#18703)
The preferred way is to use the locator, so we should not encourage the
use of `ElementHandle` or `Page` in the new APIs.
2022-11-10 12:29:14 -08:00
Pavel Feldman c25e67a0e7
chore: conditionally dispatch network events (#18687) 2022-11-09 21:10:57 -08:00
Pavel Feldman 0355d8618f
chore: use provided value for the generated test id (#18631) 2022-11-08 12:04:43 -08:00
Pavel Feldman 8432d1592f
chore: expose new locator apis on window.playwright (#18595) 2022-11-07 09:06:13 -08: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 a7f5f2d7a1
chore: allow not overriding media when creating context (#18413) 2022-10-31 09:09:52 -07:00
Max Schmitt e25537f941
feat(android): add AndroidDevice.close event (#18306) 2022-10-25 18:18:14 -07:00
Jean-François Greffier 0fe1998c72
feat(api): add clear() (#18296)
Add `clear()` method as a convenience shortcut for `fill('')`.
Implemented for AndroidDevice, ElementHandle, Frame, Locator and Page.

Fixes https://github.com/microsoft/playwright/issues/14041
2022-10-25 12:56:11 -07:00
Dmitry Gozman 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 48c44f2c78
fix(selectors): hasText and getByText exact match should consider full text (#18260)
Fixes #18259.
2022-10-21 16:29:45 -07:00
Pavel Feldman 84daeafb3a
chore: use internal locator for role (#18187) 2022-10-19 19:38:47 -07:00
Pavel Feldman 304a4ee8ec
chore: migrate to the internal:text selector (#18135) 2022-10-18 13:09:54 -07:00
Pavel Feldman 64e80f0460
chore: beautify error message (#18002) 2022-10-18 11:16:47 -07:00
Yury Semikhatsky 1b5c2f9aba
fix(trace): show waitForLoadState when event has already fired (#17826)
Fixes https://github.com/microsoft/playwright/issues/17807
2022-10-07 11:27:56 -07:00
Pavel Feldman 8b018f6b41
chore: make role name case-insensitive (#17888) 2022-10-06 14:35:10 -07:00
Pavel Feldman ff15fcf911
chore: hide selector factories (#17844) 2022-10-05 12:00:01 -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 bfb8a43ece
feat(api): all getByTitle, getByAltText (#17724) 2022-09-29 21:45:44 -07:00
Pavel Feldman 083fb4401c
feat(api): add getByPlaceholderText (#17722) 2022-09-29 18:12:49 -07:00
Pavel Feldman b4ee84fb0c
chore(api): remove locator.get() (#17709) 2022-09-29 12:50:52 -07:00
Pavel Feldman e3a2316013
feat(api): add getByLabelText (#17684) 2022-09-29 11:06:58 -07:00
Pavel Feldman 2a85806cc0
chore: follow up to getTestById, escape it (#17650) 2022-09-28 09:23:47 -07:00
Pavel Feldman d8f67eb75d
feat(api): introduce getByTestId (#17645) 2022-09-27 21:06:07 -07:00
Pavel Feldman d9a28bd244
feat(api): introduce get/getByText/getByRole (#17577) 2022-09-27 16:13:56 -07:00
Pavel Feldman 06e73b414f
chore: move connect utility into localUtils (#17590) 2022-09-27 13:05:06 -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
Yusuke Iwaki f5d7089819
fix: accept post data params for request.get and request.head (#17566) 2022-09-26 09:28:07 -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
Dmitry Gozman 43304e980d
feat: show browser.close() stack in "Browser has been closed" error (#17376)
Often times we see "Browser has been closed" error, but it's not
entirely clear why. Showing the close stack might help.

```js
page.goto: Connection closed
    ==== Closed by ====
    at /Users/dgozman/code/playwright/tests/library/browsertype-connect.spec.ts:477:32
```
2022-09-15 17:04:41 -07:00
Vincenzo Gasparo 17b203affb
feat: added follow and redirect arguments to fetch (#17033) 2022-09-09 12:14:42 -07:00
Pavel Feldman c91df61ca3
chore: optionally connect instead of launching (#17174) 2022-09-07 15:57:20 -07:00
Pavel Feldman a07a4a25a2
chore: make parent scope explicit (#16819) 2022-08-25 11:58:41 -07:00
Max Schmitt 7e2aec7454
chore: align more ESLint rules with VSCode formatting (#16647) 2022-08-18 20:12:33 +02:00
Max Schmitt 1ca6635bb8
fix(cli): store trace/storage/har on SIGINT (#16339) 2022-08-09 00:13:38 +02:00
Pavel Feldman 8ed238843b
chore: allow inspecting element from server (#16324) 2022-08-05 19:34:57 -07:00
Pavel Feldman a198b6d753
chore: reparent context objects into the object (#15689) 2022-07-15 08:56:47 -07:00
Yury Semikhatsky cb81d23ad6
fix(selectors): max hasText regex against nested nodes (#15638) 2022-07-14 08:23:11 -07:00
Pavel Feldman 3939b9f36e
chore: migrate component testing to server-side page reuse (#15477) 2022-07-12 14:30:24 -07:00
Pavel Feldman 8402001c32
chore: remove joining emitter (#15588) 2022-07-12 13:04:20 -07:00
Pavel Feldman 5fc637e44a
chore: experimental resetForReuse (#15432) 2022-07-11 13:10:08 -07:00
Pavel Feldman b9e41df0a5
chore: respect event name in removeAllListeners (#15430) 2022-07-06 15:04:27 -07:00
Dmitry Gozman 4eccb89a79
chore: do not serialize buffers into base64 in local mode (#15316) 2022-07-05 08:58:34 -07:00
Ross Wollman 6cb3236acd
feat(chromium): Service Worker Network Instrumentation and Inspection (#14716)
Adds Chromium support for Service Worker Networking (interception/routing, Request/Response events, and HAR).

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

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

Validating both ways catches issues earlier, and allows us to
perform automatic conversions, for example only converting
buffers to base64 when sending over wire.
2022-07-01 09:58:07 -07:00
Max Schmitt b3c31f5b13
fix: do not throw on removeListener without listener (#15224)
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-06-29 13:53:13 +02:00
Pavel Feldman 6a8d835145
chore: allow updating har while routing (#15197) 2022-06-28 15:09:36 -07:00
Pavel Feldman ae6f48c4b8
fix(route): match against updated url while chaining (#15112) 2022-06-24 10:48:16 -07:00
Pavel Feldman 7bd72716f9
feat(har): introduce the slim mode (#15053) 2022-06-22 14:44:12 -07:00
Pavel Feldman 9525bedc1f
feat(har): re-add routeFromHAR (#15024) 2022-06-21 22:12:37 -07:00
Dmitry Gozman 6af6fab84a
fix(har): internal redirect in renderer-initiated navigations (#15000)
fix(har): internal redirect in renderer-initiated navigations
2022-06-21 11:01:01 -07:00
Dmitry Gozman e3da3ebfa4
feat(har): do not expose HAR types, remove HARResponse fulfill (#14992) 2022-06-20 15:19:54 -07:00
Pavel Feldman eb87966441
feat(har): disambiguate requests by post data (#14993) 2022-06-20 14:14:40 -07:00
Pavel Feldman 920f1d52fc
chore: allow routing by uncompressed har (#14987) 2022-06-20 11:07:53 -07:00
Pavel Feldman e5372c3421
chore: move har router into local utils (#14967) 2022-06-18 20:24:55 -07:00
Yury Semikhatsky ed6b14f0f4
fix(har): restart redirected navigation (#14939) 2022-06-17 21:17:30 -07:00
Pavel Feldman 030e7d211c
chore(har): allow replaying from zip har (#14962) 2022-06-17 16:11:22 -07:00
Pavel Feldman be64e9ce66
chore(har): attach resources for .zip hars (#14938) 2022-06-16 18:27:25 -07:00
Pavel Feldman 245c33a5d4
feat(har): allow storing content as separate files (#14934) 2022-06-16 16:33:32 -07:00
Dmitry Gozman cdb862767f
fix(page): "load" event should fire before "waitForLoadState" resolves (#14897)
Currently, `loadstate` and `load` are two separate events in the protocol,
and are fired in this order. As a result, `waitForLoadState()` sometimes
resolves before the `'load'` event is fired, which is unexpected.

Also fixes a flaky test that assumed `load` event comes after `domcontentloaded`
for the empty page, which is not always a case in Chromium.
2022-06-16 09:35:53 -07:00
Yury Semikhatsky 79378dd1eb
fix: add pw:api logging to har router (#14903) 2022-06-16 07:48:57 -07:00
Yury Semikhatsky c349c1d57f
feat: newContext.har (#14892)
Replaced {Page,BrowserContext}.(un)routeFromHar with browser.newContext.har.
2022-06-15 16:35:44 -07:00
Pavel Feldman 225ab68d1c
fix(test): fix the route test (#14890) 2022-06-15 16:15:45 -07:00
Pavel Feldman b8fece7204
chore: allow joining async handlers (#14893) 2022-06-15 15:27:31 -07:00
Yury Semikhatsky 259c8d64a5
feat: Page.routeFromHar (#14870) 2022-06-15 08:41:46 -07:00
Yury Semikhatsky e00a26a11d
feat(route): fulfill with HARResponse (#14865) 2022-06-14 15:07:22 -07:00
Pavel Feldman 48f98673ef chore: remove stray fallback overrides check 2022-06-13 18:06:01 -07:00
Pavel Feldman 9cf068ad06
feat(fallback): allow falling back w/ overrides (#14849) 2022-06-13 17:56:16 -07:00
Ross Wollman 3974d1b359
revert(#14797): fix(test runner): collect artifacts when calling browser.close() (#14846)
Revert "fix(test runner): collect artifacts when calling `browser.close()` (#14797)"

This reverts commit c7a28ac7e9.

Looks like it broke a bunch of tracing tests:

* Good: https://github.com/microsoft/playwright/runs/6838098316?check_suite_focus=true
* First Bad: https://github.com/microsoft/playwright/runs/6838104691?check_suite_focus=true
* Still bad on HEAD (88664c39c9): https://github.com/microsoft/playwright/runs/6868333846?check_suite_focus=true
2022-06-13 17:20:59 -07:00
Andrew Branch 26e22c9a89
fix(types): compilation error in TypeScript 4.8 (#14847) 2022-06-13 16:39:55 -07:00
Pavel Feldman dcdd3c3cdb
feat(route): explicitly fall back to the next handler (#14834) 2022-06-13 12:30:51 -07:00
Dmitry Gozman 7c0bff15ca
feat(fulfill): improve fulfilling from har (#14789)
- `har` option is now an object `{ path, fallback }`.
- Allows falling back to `abort()`, `continue()` or throwing.
- Matches based on url + method.
- Follows redirects in the HAR file.
- Nice error/stack when throwing.
- Tests.
2022-06-10 14:26:45 -07:00
Dmitry Gozman c7a28ac7e9
fix(test runner): collect artifacts when calling browser.close() (#14797)
Previously, we only collected artifacts on context closure.
However, in serial mode it is possible to close the browser instead.
2022-06-10 14:11:34 -07:00
Pavel Feldman 7a568a2952
feat(route): chain routes (#14771) 2022-06-10 09:06:39 -07:00
Dmitry Gozman e975aef961
feat(route): fulfill from har (#14720)
feat(route): fulfill from har

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

Includes plumbing for Playwright Test's `use`.

Resolves #14522.

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

Relates #1090.
Supercedes #14321.
2022-06-08 17:34:19 -04:00
Dmitry Gozman 176ab7e48b
chore: make LocalUtils easily available on the client (#14717)
Instead of plumbing it around, expose it through Connection.
2022-06-08 13:22:05 -07:00
Dmitry Gozman fdcdd58d7f
feat(har): introduce urlFilter (#14693)
This is a glob or regex pattern that filters entries recorder in the HAR.
2022-06-07 18:09:47 -07:00
Sébastien Règne 4c2fc6b6eb
feat(browser): add Browser.BrowserType() method (#14468) 2022-06-06 09:46:08 -07:00
Pavel Feldman a1324bd935
fix(route): support route w/ async handler & times (#14317) 2022-05-21 21:55:46 -07:00
Pavel Feldman fe0afd6b5c
fix(toHaveProperty): serialize falsy arguments as well (#14232) 2022-05-17 14:44:12 -07:00
Dmitry Gozman 0e2855348c
feat(locators): remove layout locators (#14129) 2022-05-12 18:50:19 +01:00
Pavel Feldman cf89a36181
chore: serialize circular objects (#14045) 2022-05-09 18:51:53 -07:00
Pavel Feldman a052211dbf
chore: do not reset internal bindings for reuse (#14019) 2022-05-09 07:44:20 -07:00
Dmitry Gozman 6931d89eaf
feat(locators): rename locator.that to locator.filter (#14025) 2022-05-08 21:59:40 +01:00