Pavel Feldman
cb6e4a6657
chore: update snippets in python docs ( #4976 )
2021-01-11 17:04:24 -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
Joel Einbinder
31d980fc92
chore(webpack): minify injected sources ( #4946 )
2021-01-08 16:15:05 -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
Dmitry Gozman
eb9ea20511
feat(selectors): proximity selectors ( #4923 )
2021-01-07 14:12:59 -08:00
Yury Semikhatsky
0a2fe62cb7
fix(extensions): do not enable screencast for background pages ( #4919 )
2021-01-06 15:08:28 -08:00
Dmitry Gozman
9bbabaaa74
test: update screencast test to actually require red color ( #4745 )
2021-01-05 20:31:50 -08:00
Dmitry Gozman
5215add60d
chore: remove selectorsV2Enabled switch ( #4880 )
...
Selectors V2 seem to stick.
2021-01-04 15:32:31 -08:00
Dmitry Gozman
c4df522555
fix(handles): always create proper handle type ( #4879 )
2021-01-04 13:54:55 -08:00
Joel Einbinder
6697dadca2
chore(eslint): add rule no-unused-expressions ( #4848 )
2020-12-29 09:59:35 -08:00
Dmitry Gozman
8fbb984f64
test: disable most codegen on headful firefox ( #4839 )
...
It has problems with focus.
2020-12-28 17:39:30 -08:00
Dmitry Gozman
068d8612a7
feat(cli): make run-driver work ( #4836 )
2020-12-28 15:44:24 -08:00
Dmitry Gozman
293a7bdd4c
feat(cli): bring in codegen and tests ( #4815 )
2020-12-28 14:50:12 -08:00
Dmitry Gozman
4c11f5d885
test: remove hacky requires, use imports instead ( #4835 )
...
Since our client implements our types, we can now import
implementation in tests without type conflicts.
2020-12-28 11:14:33 -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
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
Yury Semikhatsky
8d4c46ac19
fix: throw if quality=0 is passed for png screenshot ( #4812 )
2020-12-23 09:53:14 -08:00
Yury Semikhatsky
3eef2548e4
test: failing test for firefox per-context proxy credentials ( #4790 )
2020-12-21 14:39:11 -08:00
Yury Semikhatsky
94ee48f8ce
fix: allow proxy credentials with empty password ( #4779 )
2020-12-21 11:47:13 -08:00
Dmitry Gozman
fc30c29a19
test: add a test for custom engine that does not respect root ( #4777 )
2020-12-19 12:21:20 -08:00
Max Schmitt
c81ec9ccca
test: fixed failing test on video bot ( #4747 )
2020-12-18 14:46:12 -08:00
Pavel Feldman
774eb53980
fix(adb): force page scale factor update on connection ( #4755 )
2020-12-17 18:28:49 -08:00
Yury Semikhatsky
3219057ab0
fix(webkit): support utf-8 characters in postData, bump to 1407 ( #4744 )
2020-12-17 18:09:06 -08:00
Dmitry Gozman
5a1c9f1fe1
fix(selector): bring back v1 query logic ( #4754 )
...
It turned out that v1 query logic is not shimmable by v2 logic.
This change brings back v1 query logic for `>>` combinator.
2020-12-17 17:01:46 -08:00
Dmitry Gozman
9a0023cc03
fix(selectors): text engine after capture matches scope ( #4749 )
2020-12-17 06:19:43 -08:00
Dmitry Gozman
35533b15c1
fix(scroll): scroll from under the sticky header ( #4641 )
...
When element with position:sticky covers some part of
the scroll container, we could fail to scroll from under it
to perform an action. To fight this, we can try different
scroll alignments and scroll to the top/bottom/center
in the attempt to scroll away from sticky header/footer/sidebar.
2020-12-16 15:29:42 -08:00
Max Schmitt
23a6e4dfe9
chore: restructure and optimise test files ( #4736 )
2020-12-16 07:28:44 -08:00
Max Schmitt
2c409b040e
fix(android): leaking adb socket connections ( #4730 )
2020-12-15 20:15:25 -08:00
Pavel Feldman
97be66b15c
fix(adb): enable newPage in mobile browser ( #4728 )
2020-12-15 15:14:16 -08:00
Pavel Feldman
e02c54485c
chore(adb): make driver smaller ( #4713 )
2020-12-14 18:39:14 -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
Pavel Feldman
4799e8f20b
feat(adb): add screenshot ( #4701 )
2020-12-13 23:20:13 -08:00
Pavel Feldman
1596b53da2
test(adb): fix browser tests ( #4700 )
2020-12-13 22:33:00 -08:00
Max Schmitt
f4eff4dbe0
devops: add bot to test Android ( #4693 )
2020-12-13 14:13:50 -08:00
Max Schmitt
1b7fb7d56a
feat(android): expose installAPK(path) and ADB socket ( #4689 )
2020-12-12 09:36:38 -08:00
Pavel Feldman
6cc695d92a
test(adb): fix the adb tests ( #4691 )
2020-12-12 01:18:32 -08:00
Pavel Feldman
2ba60e92e3
test(adb): add some adb tests ( #4679 )
2020-12-11 23:36:08 -08:00
Dmitry Gozman
495085cbb2
fix(chromium): make interception work with dedicated workers ( #4658 )
2020-12-10 15:04:57 -08:00
Dmitry Gozman
b9c959768c
feat(selectors): optimize old->new conversion for css ( #4672 )
2020-12-10 15:03:02 -08:00
Dmitry Gozman
e97ab7e42f
test: unflake some web socket tests ( #4673 )
...
Tests were waiting for `framesent` event after awaiting `page.evaluate`.
Sometimes, `page.evaluate` took long enough and finished after
the `framesent`.
Drive-by: small fixes for mode=service test fixture.
2020-12-10 15:01:30 -08:00
Dmitry Gozman
c8e9b0542b
feat(selectors): disable proximity selectors ( #4659 )
...
These are not ready for prime time yet.
2020-12-10 10:04:10 -08:00
Dmitry Gozman
b67e022111
feat(selectors): update new text selector ( #4654 )
...
We now default to `text` that does substring case-insensitive match
with normalized whitespace. `text-is` matches the whole string.
`matches-text` is renamed to `text-matches`.
2020-12-09 16:05:51 -08:00
Pavel Feldman
aacd8e633c
chore: expose adb devices and actions ( #4647 )
2020-12-09 15:06:57 -08:00
Dmitry Gozman
ab44d682ca
feat(selectors): remove index for now, add documentation ( #4640 )
2020-12-09 13:08:37 -08:00
Dmitry Gozman
1060fce005
feat(selectors): explicit list of custom functions ( #4629 )
...
When parsing CSS, we assume everything is a valid CSS function,
unless it is in the list of custom functions. This way we'll parse
future CSS functions automatically.
2020-12-08 09:38:43 -08:00
Joel Einbinder
ea833daa89
chore: fix internal binding ( #4598 )
2020-12-08 08:38:29 -08:00
Dmitry Gozman
1e754a4d80
feat(selectors): proximity selectors ( #4614 )
...
This includes 'left-of', 'right-of', 'above', 'below', 'near' and 'within'.
2020-12-07 16:07:47 -08:00
Dmitry Gozman
18b565a969
feat(selectors): correctly work in large DOM ( #4628 )
...
This adds a test, fixes a bunch of call stack issues and
improves performance in some places.
2020-12-07 15:51:44 -08:00
Dmitry Gozman
1e0ab79f9a
feat(selectors): add visible and index engines ( #4595 )
2020-12-06 15:03:36 -08:00
Pavel Feldman
cdd9fd6b2e
test(click): add a failing test for click w/ scroll ( #4606 )
2020-12-04 20:54:10 -08:00
Dmitry Gozman
8218a71a9b
feat(selectors): add more tests for css selectors ( #4596 )
2020-12-04 16:12:59 -08:00
Dmitry Gozman
aed3d14b81
test: unflake "should not result in unhandled rejection" ( #4602 )
2020-12-04 14:48:20 -08:00
Dmitry Gozman
49a3f943b6
feat(selectors): switch to the new engine ( #4589 )
...
We leave old implementation under the boolean flag,
just in case we need a quick revert.
2020-12-04 06:51:18 -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
Pavel Feldman
7e30669eb0
fix(binding): catch binding resolution against the closed page ( #4583 )
2020-12-03 10:51:59 -08:00
Pavel Feldman
5002b83b4a
test(focus): add a failing focus test ( #4581 )
2020-12-03 10:51:45 -08:00
Dmitry Gozman
3d6194e8a1
feat(selectors): introduce css evaluator ( #4573 )
...
Not used for production yet.
2020-12-02 14:46:19 -08:00
Dmitry Gozman
52ae218bfc
fix(fill): allow filling more input types ( #4563 )
...
This includes invalid types that are no recognized by the browser.
2020-12-02 14:43:41 -08:00
Pavel Feldman
f5c8e1d344
link: make lint happy
2020-12-02 13:48:44 -08:00
Pavel Feldman
1ca30fe6e7
chore: force lo dpi recording on non-mac ( #4557 )
2020-12-02 11:13:14 -08:00
Dmitry Gozman
a45532fd82
feat(selectors): update css parser ( #4565 )
...
This change requires string arguments to be quoted,
for example `:text("foo")` works but `:text(foo)` does not.
2020-12-02 08:16:02 -08:00
Dmitry Gozman
3846d05f02
feat(firefox): bump to 1217 ( #4560 )
...
Also add a test for multiple dialogs of the same type.
2020-12-01 14:40:03 -08:00
Joel Einbinder
9c677f64e0
feat(webkit): roll webkit to r1395 ( #4550 )
2020-12-01 05:26:53 -08:00
Dmitry Gozman
e98aceb981
feat(selectors): introduce css parser ( #4522 )
...
It is not used for anything just yet.
2020-11-30 16:31:40 -08:00
Dmitry Gozman
62f7437a2c
test: remove the flaky test we are not going to fix ( #4527 )
...
It will just sit here, being flaky, not giving us any information.
2020-11-25 11:32:33 -08:00
Joel Einbinder
c6d5bc3081
test(drag): more tests for drag and drop ( #4508 )
2020-11-25 03:29:20 -08:00
Dmitry Gozman
60103229d8
test: unflake some chromium tests ( #4521 )
...
These should be passing for a while.
2020-11-24 18:14:57 -08:00
Andrey Lushnikov
2486a4fb05
chore: fix lint after #4517 ( #4518 )
2020-11-24 06:50:40 -08:00
Andrey Lushnikov
062ec7e440
test: enable resource-timing test on BigSur ( #4517 )
...
It looks like the test is working! 🤷♂️
2020-11-23 16:22:15 -08:00
Dmitry Gozman
e9060dd68a
fix(launchServer): wait for the server to start before taking its address ( #4513 )
...
This is easily triggered by launching from a cluster's worker.
2020-11-23 15:23:31 -08:00
Andrey Lushnikov
4f4a7ce5e5
test: add test for network interception in web workers ( #4490 )
...
#4487
2020-11-23 15:03:34 -08:00
Pavel Feldman
e72d9a4185
chore: add websocket connection mode ( #4510 )
2020-11-20 15:19:39 -08:00
Pavel Feldman
a0587949a5
feat(chromium): roll to r828656 ( #4503 )
2020-11-20 08:10:27 -08:00
Dmitry Gozman
240d51f1d3
docs: improve boundingBox documentation ( #4500 )
...
Also add a test to verify it.
2020-11-19 13:55:14 -08:00
Yury Semikhatsky
de43de7a8c
test: make test not depend on line endings ( #4497 )
2020-11-19 12:10:44 -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
ce423517ea
test(route): test that intercepted XHR is actually paused ( #4482 )
2020-11-18 19:09:18 -08:00
Yury Semikhatsky
a877c24f05
fix(route): throw on attempt to fulfill with redirect in WebKit ( #4449 )
2020-11-17 16:56:04 -08:00
Pavel Feldman
ab4a627988
feat(webkit): roll to r1388 ( #4464 )
2020-11-17 08:09:26 -08:00
Joel Einbinder
93b6faeed2
test(chromium): disable webgl2 on headful ( #4450 )
2020-11-16 16:18:50 -08:00
Joel Einbinder
3da1f73f1d
test(chromium): disable large screenshot test ( #4446 )
2020-11-16 10:15:22 -08:00
Joel Einbinder
0ae455f404
test(tap): unflake chromium headful tap tests ( #4431 )
2020-11-16 10:14:37 -08:00
Yury Semikhatsky
dfe3552b59
feat(route): support URL overrides in continue ( #4438 )
2020-11-16 09:59:00 -08:00
Yury Semikhatsky
732e83f48d
feat(webkit): bump to 1385 ( #4430 )
2020-11-13 16:29:20 -08:00
Yury Semikhatsky
914c6eec23
feat(firefox): bump to 1206 ( #4425 )
2020-11-13 15:21:16 -08:00
Pavel Feldman
9404d2abb6
fix(debug): do not generate source urls for anonymous scripts ( #3691 )
2020-11-13 14:47:55 -08:00
Pavel Feldman
d20e56e197
feat(state): allow getting / setting context state ( #4412 )
2020-11-13 14:24:53 -08:00
Pavel Feldman
a35d207091
test: fix resource timing for bigsur test ( #4419 )
2020-11-13 14:10:32 -08:00
Dmitry Gozman
cd18ddb693
test: add a test for numerical id selector ( #4429 )
2020-11-13 11:47:44 -08:00
Yury Semikhatsky
5702eca1f2
fix(selectors): make selectOptions work for labels ( #4402 )
2020-11-11 15:33:23 -08:00
Dmitry Gozman
138680f93c
fix(launchServer): stream protocol logs into options.logger ( #4403 )
...
fix(launchServer): stream protocol logs into options.logger
This has regressed in v1.4.
2020-11-11 15:12:10 -08:00
Pavel Feldman
6b1d7dd1fd
test: add a failing test for post data header override ( #4397 )
2020-11-11 11:38:55 -08:00
Dmitry Gozman
488b256c47
feat(firefox): bump to 1205 ( #4386 )
2020-11-09 16:16:10 -08:00
Dmitry Gozman
f7eb845df0
feat(firefox): bump to 1204, add a better test for video in popup ( #4376 )
2020-11-07 18:21:26 -08:00
Pavel Feldman
28f6547d67
chore: add adb-based connectivity ( #4375 )
2020-11-06 16:31:11 -08:00
Andrey Lushnikov
fff36a7991
feat(firefox): roll Firefox to r1203 ( #4365 )
...
Fixes #4208
2020-11-05 23:17:27 -08:00
Dmitry Gozman
c384313058
feat(fill): allow filling based on the label selector ( #4342 )
...
This enables filling the input based on the connected label:
```html
<label for=target>Name</label><input id=target>
```
```js
await page.fill('text=Name', 'Alice');
```
2020-11-05 05:22:49 -08:00
Joel Einbinder
3f37d8507e
test(focus): add passing test for focusing more than one page ( #4347 )
2020-11-04 22:42:35 -08:00