Max Schmitt
2c409b040e
fix(android): leaking adb socket connections ( #4730 )
2020-12-15 20:15:25 -08:00
Pavel Feldman
4799e8f20b
feat(adb): add screenshot ( #4701 )
2020-12-13 23:20:13 -08:00
Pavel Feldman
f89dcc7ba7
feat(adb): implement push ( #4697 )
2020-12-13 22:00:37 -08:00
Pavel Feldman
ad5309ca6b
feat(adb): make shell return binary ( #4695 )
2020-12-13 08:33:35 -08:00
Pavel Feldman
7c89ec051a
feat(adb): expose a11y tree ( #4694 )
2020-12-13 08:14:32 -08:00
Max Schmitt
1b7fb7d56a
feat(android): expose installAPK(path) and ADB socket ( #4689 )
2020-12-12 09:36:38 -08:00
Pavel Feldman
8fc49c98fa
feat(adb): support webviews ( #4657 )
2020-12-09 17:15:24 -08:00
Pavel Feldman
aacd8e633c
chore: expose adb devices and actions ( #4647 )
2020-12-09 15:06:57 -08:00
Dmitry Gozman
3121de403b
test: remove tests for SelectorEngine.create ( #4580 )
...
We are not going to keep this functionality on arbitrary engines.
2020-12-03 14:10:26 -08:00
Dmitry Gozman
09f9a35198
fix(protocol): rename websocket error event to socketerror ( #4495 )
...
This is to avoid special handling of error events in node.
2020-11-19 12:09:42 -08:00
Yury Semikhatsky
dfe3552b59
feat(route): support URL overrides in continue ( #4438 )
2020-11-16 09:59:00 -08:00
Pavel Feldman
d20e56e197
feat(state): allow getting / setting context state ( #4412 )
2020-11-13 14:24:53 -08:00
Dmitry Gozman
e69315f711
fix(websocket): remove "skip frames" logic ( #4435 )
...
This optimization turned out to be racy, so better remove it for now.
2020-11-13 14:03:21 -08:00
Pavel Feldman
28f6547d67
chore: add adb-based connectivity ( #4375 )
2020-11-06 16:31:11 -08:00
Dmitry Gozman
c83ac444b4
api(websocket): do not send websocket frames without a listener ( #4361 )
...
Once user adds 'websocket' listener, we start sending the frames
for all websockets on the page.
2020-11-06 12:30:16 -08:00
Dmitry Gozman
d57b43963c
fix(har): support har in persistent context ( #4322 )
2020-11-03 11:30:59 -08:00
Dmitry Gozman
1c39689dd6
api(videos): introduce a single recordVideo option bag ( #4309 )
...
api(videos): introduce a single recordVideo option bag
Currently contains `dir` and `size`, previously known as
`videosPath` and `videoSize`.
2020-11-02 19:42:05 -08:00
Pavel Feldman
914f6372ec
feat(proxy): enable per-context http proxy ( #4280 )
2020-10-29 16:12:30 -07:00
Pavel Feldman
ece84eccd7
fix(protocol): annotate file buffer as binary ( #4272 )
2020-10-28 10:55:20 -07:00
Pavel Feldman
be8428475d
feat(websocket): implement Web Sockets for Chromium & WebKit ( #4234 )
2020-10-26 22:20:43 -07:00
Pavel Feldman
7fc4b797eb
feat(har): allow saving har for context ( #4214 )
2020-10-26 14:32:07 -07:00
Pavel Feldman
72320275ab
fix(headers): report raw request headers on Chromium ( #4207 )
2020-10-22 08:49:16 -07:00
Pavel Feldman
8a42cdad30
feat(timing): introduce resource timing ( #4204 )
2020-10-21 23:25:57 -07:00
Pavel Feldman
5d997ed28b
fix(video): make video path available in persistent profiles ( #4182 )
2020-10-19 14:35:18 -07:00
Joel Einbinder
92dda698f8
feat: tap ( #4097 )
2020-10-19 10:07:33 -07:00
Pavel Feldman
5a7685665a
api(video): restore the missing video path accessor ( #4132 )
2020-10-13 22:15:51 -07:00
Dmitry Gozman
e214f795e0
feat(video): support videos in remote browser ( #4042 )
2020-10-02 17:27:56 -07:00
Dmitry Gozman
5e42029fce
api: allow exposeBinding to pass handles ( #4030 )
...
This adds an option `{ handle: true }` to pass a single handle instead of arbitrary json values.
2020-10-01 22:47:31 -07:00
Dmitry Gozman
4a77363af7
api: update videos api, hide tracing ( #4015 )
2020-10-01 11:06:19 -07:00
Dmitry Gozman
df777344a3
api(video): simplify video api ( #3924 )
...
- This leaves just `recordVideos` and `videoSize` options on the context.
- Videos are saved to `artifactsPath`. We also save their ids to trace.
- `context.close()` waits for the processed videos.
2020-09-18 17:36:43 -07:00
Dmitry Gozman
0ade6af689
api(trace): introduce artifacts options ( #3914 )
...
api(trace): introduce artifacts options
This introduces launch({ artifactsPath }) and newContext({ relativeArtifactsPath, recordTrace }) options.
- artifactsPath option controls the directory where all artifacts go. If not passed, artifacts are not collected.
- relativeArtifactsPath can be used to put context-specific artifacts into a subfolder. If not passed, shared artifactsPath is used.
- recordTrace controls trace recording.
We also expose trace types under playwright/types/trace.d.ts.
In the follow up:
- videos will be put into artifactsPath;
- downloads will be put into artifactsPath, or keep using existing downloadsPath when artifactsPath is not specified.
2020-09-18 11:54:00 -07:00
Dmitry Gozman
dc06f0a75c
chore: introduce evaluateInUtility private api ( #3907 )
...
This is an experimental client-side api. We'll experiment with it in plugins like tracing.
2020-09-16 16:07:49 -07:00
Yury Semikhatsky
459d857bc3
feat(screencast): add saveAs and createReadableStream ( #3879 )
2020-09-14 18:40:55 -07:00
Yury Semikhatsky
40323aa94d
fix(screencast): use viewport as default size ( #3844 )
2020-09-11 15:14:31 -07:00
Dmitry Gozman
9e41518c92
feat(rpc): allow sending metadata with rpc calls ( #3836 )
...
Currently, metadata does only contain the stack trace,
and we send it from the JS client.
2020-09-10 19:25:44 -07:00
Pavel Feldman
74f1a64e36
fix(debug): do not generate source urls for anonymous scripts ( #3787 )
2020-09-07 15:50:25 -07:00
Yury Semikhatsky
66985fc5f6
feat(screencast): add expreimental public API on context ( #3766 )
2020-09-04 22:37:38 -07:00
Max Schmitt
190d16daa3
feat: add browser type to device descriptors ( #3731 )
2020-09-03 13:12:43 -07:00
Dmitry Gozman
de547d7d65
fix(connect): make selectors.register work in connected browser ( #3664 )
...
This is a large rework of selectors:
- Each BrowserContext now has a separate Selectors instance that has its own registrations.
Most of them share a single sharedSelectors instance, but contexts created for a connected
browser have their own instance.
- Connected browser now gets a RemoteBrowser object that encapsulates Selectors and Browser.
This Selectors object is registered with the api selectors.
- Public selectors.register api iterates over all registered Selectors channels
and registers in each of them.
- createSelector testing method migrated to ElementHandle._createSelectorForTest.
2020-09-02 16:15:43 -07:00
Dmitry Gozman
744af78dc2
feat(rpc): simplify browser name detection on the client side ( #3670 )
2020-08-28 10:23:02 -07:00
Dmitry Gozman
8d7ec3aca3
fix(downloads): make path/saveAs work when connected remotely ( #3634 )
...
- saveAs uses a stream internally and pipes it to the local file;
- path throws an error when called on a remote browser.
2020-08-26 12:46:30 -07:00
Dmitry Gozman
6fe1cd9812
chore: move protocol files to src/protocol ( #3571 )
2020-08-21 18:46:11 -07:00