Yury Semikhatsky
561cb23e8d
fix: dispatch popup event on the client end ( #6044 )
2021-04-02 11:15:07 -07:00
Pavel Feldman
a7630c91d5
api: remove Chromium* classes ( #6040 )
2021-04-01 18:47:14 -07:00
Dmitry Gozman
9d9599c6a6
api(video): implement video.saveAs and video.delete ( #6005 )
...
These methods are safe to call while the page is still open, or when it is
already closed. Works in remotely connected browser as well.
Also makes video.path() to throw for remotely connected browser.
Under the hood migrated Download and Video to use the common Artifact object.
2021-03-31 10:38:05 -07:00
Pavel Feldman
85ab1dc7a4
feat(waitForURL): add a new waitForURL api ( #6010 )
2021-03-30 21:51:22 -07:00
Yury Semikhatsky
67c29e8155
chore: add missing await to floating promises ( #5813 )
2021-03-22 09:59:39 -07:00
Pavel Feldman
5cf13612cf
chore: pretty print storage state ( #5830 )
2021-03-15 19:03:09 -07:00
Pavel Feldman
1dd6bd3316
infra(channel): wire release channel to all tests ( #5820 )
2021-03-15 08:07:57 -07:00
Pavel Feldman
a96d6a7dbb
feat: allow to pick stable channel ( #5817 )
2021-03-13 14:02:39 -08:00
Max Schmitt
d311058245
fix(BrowserContext): race between continue and close ( #5729 )
2021-03-08 19:53:19 -08:00
Pavel Feldman
9e20566244
fix(postData): do not require content type when retrieving post data ( #5736 )
2021-03-05 21:25:14 -08:00
Pavel Feldman
600f731a67
feat(inspector): render api names from metainfo ( #5530 )
2021-02-19 18:12:33 -08:00
Pavel Feldman
f154a827c5
feat(inspector): send api names along with metainfo ( #5518 )
2021-02-19 16:21:39 -08:00
Dmitry Gozman
dc51536bca
feat(waitForResponse): print regex pattern when waiting for request/response ( #5485 )
2021-02-17 15:11:23 -08:00
Pavel Feldman
ae2ffb3fb9
feat(inspector): instrument wait for event ( #5457 )
2021-02-13 20:31:06 -08:00
Pavel Feldman
449adfd3ae
chore(recorder): move recording output into the gui app ( #5425 )
2021-02-11 17:46:54 -08:00
Dmitry Gozman
99f8e1cf63
docs: document Android and friends ( #5415 )
...
These are experimental, currently available through `_android`.
2021-02-11 10:31:57 -08:00
Joel Einbinder
d8f637c239
chore(typescript): enable esModuleInterop ( #5409 )
2021-02-11 06:36:15 -08:00
Pavel Feldman
6576bd8b31
chore: move before/after action instrumentation into dispatcher ( #5416 )
2021-02-10 21:55:46 -08:00
Pavel Feldman
a06cf70d28
chore: pass parsed stack in metainfo ( #5407 )
2021-02-10 18:52:28 -08:00
Joel Einbinder
dca70abbd3
feat(chromium): connect to a browser over cdp ( #5207 )
2021-02-10 14:00:02 -08:00
Pavel Feldman
0652f3251f
chore: introduce sdk object base class ( #5370 )
2021-02-09 09:00:00 -08:00
Pavel Feldman
34adc28ed3
feat(pause): make page.pause public ( #5288 )
2021-02-03 16:01:51 -08:00
Dmitry Gozman
53ed35ef96
feat(dialogs): auto-dismiss dialogs when there are no listeners ( #5269 )
...
This makes dialogs disappear and prevents stalling.
Pros:
- No need to worry about dialogs for most users.
- Those that wait for a specific dialog still get to control it.
Cons:
- Those who use Playwright to show interactive browser will have
to add an empty 'dialog' handler to prevent auto-dismiss.
We do this in cli.
2021-02-03 10:34:45 -08:00
Pavel Feldman
8a8d8ea370
fix: update terminal size dynamically ( #5250 )
2021-02-02 14:25:51 -08:00
Pavel Feldman
1db5ef24a8
docs: document electron api ( #5229 )
2021-02-01 11:43:26 -08:00
Pavel Feldman
ff6b2b1dd4
chore: make emulate media params be options ( #5172 )
2021-01-27 14:19:37 -08:00
Pavel Feldman
45f7d73470
chore: plumb terminal size and port language ( #5149 )
2021-01-25 19:01:04 -08:00
Pavel Feldman
fdde9493ea
fix: don't parse potentially invalid urls in event handlers ( #5090 )
2021-01-25 14:49:51 -08:00
Pavel Feldman
01d6f83597
chore: introduce debug toolbar ( #5145 )
2021-01-25 14:49:26 -08:00
Pavel Feldman
464fdc1800
chore: make recorder a supplement ( #5131 )
2021-01-24 19:21:19 -08:00
Pavel Feldman
be9bef513e
chore: move recorder to server side ( #5128 )
2021-01-24 08:44:11 -08:00
Joel Einbinder
3e4e511d84
feat(pause): page._pause to wait for user to click resume ( #5050 )
2021-01-22 18:47:02 -08:00
Yury Semikhatsky
a4eb121399
fix: add parameter to close/crash/disconnected etc events ( #5098 )
2021-01-22 09:58:31 -08:00
Dmitry Gozman
a9b75365eb
feat(logs): add wrapApiCall for logging to many api methods ( #5093 )
...
Some methods (quite a few!) were missing the wrapper that produces the log.
2021-01-22 06:49:59 -08:00
Pavel Feldman
4b5c876bbf
chore: allow opening empty trace viewer ( #5080 )
2021-01-20 19:16:23 -08:00
Dmitry Gozman
e3ebba5573
chore: cleanup code that is not used by cli anymore ( #5005 )
2021-01-13 17:02:53 -08:00
Joel Einbinder
decf373c81
fix(electron): return a ChromiumBrowserContext for electron ( #4913 )
2021-01-13 12:08:14 -08:00
Dmitry Gozman
725191967b
fix(connect): provide an error message when ws endpoint is incorrect ( #4978 )
2021-01-11 15:53:45 -08:00
Dmitry Gozman
5a2cfdbd47
api: add isChecked method ( #4953 )
...
This adds `{Page,Frame}.isChecked(selector)` and `ElementHandle.isChecked()` methods.
Useful to do assertions in tests:
```js
await page.click('text="Add TODO"');
expect(await page.isChecked('.item-done')).toBe(false);
```
2021-01-08 17:36:17 -08:00
Pavel Feldman
b7e0b1b393
docs: annotate evaluate(pageFunction) js-specific ( #4954 )
2021-01-08 16:17:54 -08:00
Dmitry Gozman
3f904056ee
api: add isVisible, isHidden, isEnabled, isDisabled and isEditable ( #4915 )
...
These methods are useful for verification in tests, e.g.
```js
expect(await page.isEnabled(':text("Remove All")')).toBe(false);
await page.click(':text("Add Item")');
expect(await page.isVisible('.item:text("new item")')).toBe(true);
expect(await page.isEnabled(':text("Remove All")')).toBe(true);
```
2021-01-08 12:27:54 -08:00
Pavel Feldman
31ffeb32e3
doc: further align docs w/ playwright.dev (2) ( #4871 )
2021-01-04 13:50:29 -08:00
Dmitry Gozman
905f28c339
feat(types): simplify android and electron types ( #4829 )
...
These now follow the scheme for regular types.
2020-12-26 20:25:18 -08:00
Dmitry Gozman
34c1b338be
feat(types): make our client classes implement public types ( #4817 )
...
This patch:
- introduces non-exported but used in api/impl struct types (e.g. Point);
- makes all client classes implement respective public api interface.
Pros:
- Typescript is now responsible for type checking.
We can remove our doclint checker (not removed yet).
- Electron and Android types can be defined in the same way
(this is not implemented yet).
- We can move most of the type structs like Point to the public api
and make some of them available.
Cons:
- Any cons?
2020-12-26 17:05:57 -08:00
Pavel Feldman
2cb5770183
docs: move playwright module into api-body.md ( #4827 )
2020-12-26 15:33:29 -08:00
Dmitry Gozman
225e65e076
feat(cli): share console api between cli and debug mode ( #4807 )
2020-12-23 14:15:16 -08:00
Dmitry Gozman
f709e2300c
feat(cli): bring selector generator into playwright ( #4795 )
...
Also remove unused `SelectorEngine.create` function and add tests.
2020-12-23 12:44:47 -08:00
Pavel Feldman
774eb53980
fix(adb): force page scale factor update on connection ( #4755 )
2020-12-17 18:28:49 -08:00
Max Schmitt
2c409b040e
fix(android): leaking adb socket connections ( #4730 )
2020-12-15 20:15:25 -08:00
Dmitry Gozman
355a58e616
feat(storage): accept path in save/load storage apis ( #4714 )
...
Also make Firefox accept `expires: -1` cookies.
2020-12-14 16:03:52 -08:00