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
Joel Einbinder
4cb52144b5
test(capabilities): add tests for webgl ( #4343 )
2020-11-04 13:24:30 -08:00
Andrey Lushnikov
65009dc867
feat(chromium): roll Chromium to r823944 ( #4341 )
...
Fixes #4021
2020-11-04 11:20:02 -08:00
Yury Semikhatsky
14a8292863
feat(webkit): bump to 1378 ( #4338 )
2020-11-04 11:00:25 -08:00
Dmitry Gozman
78b151138e
test: try to unflake screenshot tests ( #4334 )
2020-11-04 07:39:08 -08:00
Dmitry Gozman
5c1149f954
test: try to unflake network idle tests ( #4333 )
...
I think that we are too slow to fire the second fetch during 500ms,
and so network idle happens prematurely.
The fix is to manually trigger the second fetch early enough.
2020-11-04 07:35:19 -08:00
Dmitry Gozman
d57b43963c
fix(har): support har in persistent context ( #4322 )
2020-11-03 11:30:59 -08:00
Dmitry Gozman
924cc9894a
feat(text selector): normalize spaces in lax mode ( #4312 )
2020-11-03 04:37:06 -08:00
Andrey Lushnikov
8fed0b3319
feat(firefox): roll Firefox to r1200 ( #4316 )
...
This roll includes:
- fix for the firefox flakiness related to popups
- fix for browser context closing with beforeunload events
References #4021
2020-11-02 21:00:37 -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
Andrey Lushnikov
3d3ce135f5
test: co-locate beforeunload tests ( #4313 )
...
This patch:
- co-locates beforeunload tests
- adds new tests to make sure browser and browsercontext can be closed if there's
a page with beforeunload listener
- re-writes the `should access page after beforeunload` test to properly
emit `beforeunload` event
References #4021
2020-11-02 17:29:35 -08:00
Dmitry Gozman
f80f81545e
feat(chromium): bump to 823078 ( #4308 )
2020-11-02 14:34:08 -08:00
Pavel Feldman
ac8ab1e1b5
feat(websocket): add WebSocket.waitForEvent and isClosed ( #4301 )
2020-11-02 14:09:58 -08:00
Dmitry Gozman
c446bf629d
chore: cleanup some har code ( #4306 )
...
Drive-by: do not create <root>/file.png in the tests.
2020-11-02 13:38:55 -08:00
Pavel Feldman
d117d0bb93
feat(scopes): make page a scope ( #4300 )
2020-11-02 13:06:54 -08:00
Dmitry Gozman
9c80cbdf9e
fix(docs): small docs changes for new apis ( #4305 )
2020-11-02 12:48:05 -08:00
Pavel
5a9ba55ee2
test: remove stale describe
2020-10-30 13:38:54 -07:00
Pavel
c9fa8c08e3
fix(test): unflake web socket test on firefox
2020-10-30 12:45:53 -07:00
Andrey Lushnikov
7fbbd1822e
feat(firefox): support WebSockets on Firefox ( #4289 )
2020-10-30 10:34:24 -07:00
Pavel Feldman
914f6372ec
feat(proxy): enable per-context http proxy ( #4280 )
2020-10-29 16:12:30 -07:00
Pavel Feldman
aee9068d76
test: mark flake headful chromium test as fixme ( #4276 )
2020-10-28 16:00:41 -07:00
Pavel Feldman
f384a864a8
test(har): uncomment some raw header tests ( #4273 )
2020-10-28 15:58:45 -07:00
Pavel Feldman
7bedbb2d78
feat(browser): roll WebKit to r1370 ( #4257 )
2020-10-28 13:46:05 -07:00
Pavel Feldman
0b8c33ee75
fix(ECONRESET): fix it once and for all ( #4258 )
2020-10-27 11:09:41 -07:00
Max Schmitt
dcbdb4a6b0
test: fixed executable path test if ran in Docker ( #4219 )
2020-10-27 00:04:39 -07:00
Pavel Feldman
1ef090c3ac
fix(screenshot): prioritize passed type over the extension mime ( #4251 )
2020-10-27 00:02:35 -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
ba7949359f
chore: roll folio to 0.3.13 ( #4215 )
2020-10-23 12:39:46 -07:00
Pavel Feldman
14f069eac6
test(timing): relax mac/webkit expectations ( #4217 )
2020-10-23 12:38:32 -07:00
Pavel Feldman
b3b46db560
test(firefox): add a failing slow test ( #4216 )
2020-10-23 12:37:38 -07:00
Yury Semikhatsky
50a6ba7fdc
feat: bump webkit version to include screencast fixes ( #4200 )
2020-10-23 10:33:58 -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
Andrey Lushnikov
7d28dfdb59
feat(firefox): roll Firefox to r1194 ( #4183 )
2020-10-20 16:51:14 -07:00
Max Schmitt
45bb984cf0
test: skip 'should play video' on macOS Big Sur ( #4198 )
2020-10-20 16:48:00 -07:00
Pavel Feldman
3cceb14e29
test(beforeunload): add failing beforeunload test ( #4188 )
2020-10-20 08:55:01 -07:00
Pavel Feldman
7433ae2798
test: follow up to an encoding test ( #4187 )
2020-10-20 08:47:07 -07:00
Pavel Feldman
7f76d44f77
test: add a test for page.close w/ dialogs ( #4184 )
2020-10-19 21:06:06 -07:00
Pavel Feldman
5e7eb7a325
test(encoding): add a test for main resource raw body ( #4186 )
2020-10-19 20:40:21 -07:00
Pavel Feldman
efac743695
test(proxy): add a test for a second page against same proxy ( #4185 )
2020-10-19 18:35:37 -07:00
Yury Semikhatsky
9c160f2cc8
feat(webkit): bump to 1363 ( #4178 )
2020-10-19 17:40:25 -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
Joel Einbinder
86ef956b4b
feat(webkit): bump to 1357 ( #4154 )
2020-10-19 03:03:50 -07:00
Pavel Feldman
ef3d3ca58e
doc(overrides): remove "one of" that was misleading ( #4168 )
2020-10-18 23:03:07 -07:00
Yury Semikhatsky
fec37adf68
test: use custom header when testing header removal ( #4157 )
2020-10-15 10:31:07 -07:00
Joel Einbinder
7e6f2af666
test: disable failing test "should be able to remove headers" ( #4152 )
2020-10-15 08:52:23 -07:00
Yury Semikhatsky
180aa011d0
test: make "remove header" test actually test be havior ( #4092 )
2020-10-14 22:26:56 -07:00
Pavel Feldman
e9f5477d52
fix(screencast): await for the first video frame on Chromium ( #4145 )
2020-10-14 15:09:36 -07:00
Yury Semikhatsky
bb981fc0cc
fix(screencast): correctly process videos with 1 frame ( #4144 )
2020-10-14 14:10:35 -07:00
Pavel Feldman
381f49a0b8
chore: roll folio to 0.3.11 ( #4130 )
2020-10-13 22:40:25 -07:00
Pavel Feldman
5a7685665a
api(video): restore the missing video path accessor ( #4132 )
2020-10-13 22:15:51 -07:00
Pavel Feldman
9daedaca08
chore: roll test fixtures, replace trace w/ video ( #4129 )
2020-10-13 13:18:36 -07:00