1114 Commits

Author SHA1 Message Date
Yury Semikhatsky
576e2c5287
fix(webkit): correctly report outerWidth/Height on Mac (#3133) 2020-07-27 16:06:50 -07:00
Yury Semikhatsky
101dd3b120
fix(test): make video test pass on Mac (#3121) 2020-07-27 13:56:43 -07:00
Dmitry Gozman
97c10002e7
api: introduce Browser.version() (#3177) 2020-07-27 13:41:35 -07:00
Dmitry Gozman
b2179193c6
feat(rpc): replace implicit scopes with explicit dispose (#3173)
This adds one more protocol message __dispose__
to dispose a scope and all child objects.

Now, client side does not need a notion of scope anymore -
it just disposes the whole object subtree upon __dispose__.
Server, on the other hand, marks some objects as scopes
and disposes them manually, also asserting that all parents
are proper scopes.
2020-07-27 10:21:39 -07:00
Darío Kondratiuk
d0b758a8d2
test: improve autowaiting tests (#3168) 2020-07-25 23:58:03 -07:00
Dmitry Gozman
98cc9db8e8
chore: simplify doclint (#3162)
This renames CRBrowserContext events into ChromiumBrowserContext and
simplifies some doclint/coverage logic.
2020-07-24 20:40:21 -07:00
Joel Einbinder
1455cae974
test(emulation): add failing test for setting dark theme in firefox (#3149) 2020-07-24 14:47:32 -07:00
Pavel Feldman
e7cca86757
fix(postData): allow overriding binary post data (#3120) 2020-07-24 12:16:45 -07:00
Dmitry Gozman
deccddba24
feat(rpc): update BrowserServer (#3112)
- Make BrowserServer a scope.
- Plumb exitCode and signal to BrowserServer.on('close').
- Use toImpl in a test.
2020-07-24 10:17:07 -07:00
Dmitry Gozman
0f0e2acfaf
fix(type): unify selection behavior when typing (#3141)
Before typing/pressing, we focus the target element. WebKit
sometimes selects the value in this case. To unify the behavior
between the browsers we behave similar to human:
- when the input is already focused, we just type;
- when the input is not focused, we focus it, move caret
  to the start (like if user clicked at the start to focus the input)
  and then type.
Note this only affects inputs with non-empty value.
2020-07-24 09:30:31 -07:00
Joel Einbinder
059004b179
fix(test): don't leave so many zombies on sigint (#3130) 2020-07-23 16:47:43 -07:00
Joel Einbinder
d2f24e8888
integrate toBeGolden with jest's snapshot system (#3124) 2020-07-23 14:19:51 -07:00
Yury Semikhatsky
e5afd92762
chore(tests): resuse tmp file helpers from utils (#3119) 2020-07-23 12:42:39 -07:00
Dmitry Gozman
2bed312911
fix(electron): emit close events in the correct order (#3111) 2020-07-23 11:02:43 -07:00
Dmitry Gozman
30e21e0bee
test: fix api coverage (#3114)
Coverage for browser-specific events was missing.
2020-07-23 10:30:47 -07:00
Dmitry Gozman
244ce45799
test: add a test for mouse.dblclick (#3115)
We never call it the tests, but coverage does not catch it.
2020-07-23 10:30:35 -07:00
Dmitry Gozman
b1a5a02154
feat(rpc): client-side parameters validation (#3069) 2020-07-22 18:05:07 -07:00
Pavel Feldman
e56e148597
test(postData): add a failing firefox test (#3098) 2020-07-22 17:27:05 -07:00
Pavel Feldman
80c0711d98
feat(firefox): roll firefox to r1137 (#3095) 2020-07-22 15:59:37 -07:00
Pavel Feldman
baa0956915
Revert "test: screenshot on failure (#3053)" (#3091)
It should be opt-in and configurable. The folder we collect information
into should be consistent with the rest of the artifacts we collect.
Lets revisit it later.
2020-07-22 15:00:37 -07:00
Ross Wollman
d8a17fb0ab
api(download): Add saveAs helper (#2872) 2020-07-22 14:55:27 -07:00
Dmitry Gozman
1aee8dfc7c
feat(rpc): align types/guids in the protocol with their pdl definition (#3079)
This makes the protocol self-explanatory, and avoids silly conversions
in codegenerators, e.g. cdpSession <-> CDPSession.
2020-07-22 10:37:21 -07:00
Joel Einbinder
773ee08e9d
chore(test): restore api coverage checks (#3068)
* chore(test): restore api coverage checks

* try to catch the correct error on the bots

* try to trick github into taking the new code

* uninstall coverage

* dgozman comments
2020-07-22 09:08:10 -07:00
Pavel Feldman
2b0b0a9119
fix(misc): assorted fixes (#3031) 2020-07-21 23:48:21 -07:00
Dmitry Gozman
ced0bc2d1b
api: make clear the use of null in page.emulateMedia (#3078)
We can pass null to disable emulating particular feature.
This change updates the docs and rpc protocol accordingly.
2020-07-21 18:56:41 -07:00
Joel Einbinder
f4b7ed5542
fix(chromium): reland support selectAll on macos (#3038)
Co-authored-by: Joel Einbinder <joel.einbinde@gmail.com>
2020-07-21 16:33:46 -07:00
Dmitry Gozman
1553f19bab
chore: update error messages to match future rpc validator (#3075) 2020-07-21 15:25:31 -07:00
Pavel Feldman
99658c2d32
feat(bringToFront): enable on all browsers (#3052) 2020-07-21 09:36:54 -07:00
Joel Einbinder
a03f1dd156
test: screenshot on failure (#3053) 2020-07-21 09:32:13 -07:00
Joel Einbinder
23f506b3e6
fix(test): write after end in proxy test (#3039) 2020-07-20 13:31:24 -07:00
Dmitry Gozman
cfe3aa3d94
test: add a few tests for null values (#3035) 2020-07-20 09:39:16 -07:00
Dmitry Gozman
29504c0824
feat(rpc): make SerializedValue format pdl-friendly (#3007)
This avoids sum types and instead uses different fields
for different types.
2020-07-19 19:46:19 -07:00
Pavel Feldman
b5f9985d3a
devops: make headful a matrix, collect test results (#3027) 2020-07-18 10:50:58 -07:00
Dmitry Gozman
13c3f7243c
test: restart worker fixtures after test failure (#3021)
This way previous test that leaves browser in a bad state does not
affect future tests.
2020-07-17 19:54:37 -07:00
Pavel Feldman
c45b5797fa
test: support slow marker (#3018) 2020-07-17 17:17:06 -07:00
Pavel Feldman
68ef90d258
test(click): split into several files (#3016) 2020-07-17 16:33:57 -07:00
Pavel Feldman
f2239b5bda
test: respect CR/FF/WK/PATH env (#3015) 2020-07-17 16:33:22 -07:00
Dmitry Gozman
91e1a25f34
feat(rpc): gracefully close browsers in server process on disconnect (#3005) 2020-07-17 16:14:23 -07:00
Pavel Feldman
9d9801192e
test: wire test commands to jest (#3014) 2020-07-17 16:09:27 -07:00
Joel Einbinder
8904f401c2
chore(jest): defaultbrowsercontext.jest.js (#3003) 2020-07-17 16:07:31 -07:00
Pavel Feldman
a8216339d8
Revert "fix(chromium): select all on macos should work again (#3006)" (#3011) 2020-07-17 14:34:05 -07:00
Pavel Feldman
096ec4c44f
test: move fixtures to jest (#3010) 2020-07-17 13:53:23 -07:00
Pavel Feldman
24f6d19e27
test: move remaining tests to jest (#3009) 2020-07-17 13:02:50 -07:00
Joel Einbinder
631fbce7ff
fix(chromium): select all on macos should work again (#3006)
* fix(chromium): select all on macos should work again

* Update src/chromium/crInput.ts

Co-authored-by: Joel Einbinder <joel.einbinde@gmail.com>
2020-07-17 10:59:48 -07:00
Joel Einbinder
9140063c90
fix(accessibility): don't filter everything when the page has a title (#2909) 2020-07-17 10:48:50 -07:00
Dmitry Gozman
d8bedd851d
chore: explicitly type SerializedArgument, fix rpc dispatchEvent (#2988)
We now have types for SerializedValue/SerializedArgument. This will
allow us to avoid double parse/serialize for evaluation arguments/results.

Drive-by: typing exposed a bug in ElementHandle.dispatchEvent().
2020-07-17 09:53:13 -07:00
Pavel Feldman
070a257600
test: move all generic page tests to jest (#3002) 2020-07-17 09:49:12 -07:00
Joel Einbinder
df8b27069e
chore(jest): convert browser tests to jest (#3000) 2020-07-17 08:22:39 -07:00
Pavel Feldman
1c0504ae28
test: respect fixtures in describe, match image snapshots (#2989) 2020-07-16 22:38:52 -07:00
Darío Kondratiuk
fe95ee00c3
test: group browserType.launchServer tests (#2944) 2020-07-16 20:33:40 -07:00