Dmitry Gozman
745dc339a6
chore: merge Browser{Context,}Base into Browser{Context,} ( #3524 )
2020-08-19 10:31:59 -07:00
Yury Semikhatsky
56da4bb027
devops: make sure rust toolchain is installed ( #3485 )
...
Otherwise if required version is not installed the build fails with a cryptic message like
`error: toolchain '1.45.0-x86_64-unknown-linux-gnu' does not support components`
2020-08-19 09:11:28 -07:00
Pavel Feldman
8989d66bda
test: introduce options ( #3525 )
2020-08-18 23:00:45 -07:00
Dmitry Gozman
63a2c673b5
chore: align SerializedAXNode with rpc protocol AXNode ( #3522 )
2020-08-18 20:25:03 -07:00
Joel Einbinder
97157520a6
feat(slowmo): only slowmo once per user action ( #3012 )
...
This changes the behavior of slowmo to slow down user actions instead of every protocol command. This makes slowmo a lot more predictable. Without this, there is no way to set slowmo to a good value without incurring a huge delay at the start of your test when it sets things up.
2020-08-18 19:13:40 -07:00
Pavel Feldman
b0667e8bc5
test: fix fit, do not rely upon mocha suite ( #3520 )
2020-08-18 18:55:26 -07:00
Dmitry Gozman
e54195ccfb
chore: align page.pdf options to the rpc protocol ( #3521 )
...
Drive-by: remove unused devices from playwright impl.
2020-08-18 18:48:44 -07:00
Dmitry Gozman
e7e8524e14
chore: remove screenshot path from the server side ( #3519 )
...
Also fixes auto-detection of mime type based on path and adds tests.
2020-08-18 18:46:56 -07:00
Dmitry Gozman
20c6b85178
chore: remove route/unroute from the server side ( #3518 )
...
We only use a global "intercept all requests" handler on
page and browser context, instead of granular ones.
2020-08-18 17:34:04 -07:00
Dmitry Gozman
3cf48f9bd4
chore: simplify conversions around setInputFiles ( #3516 )
...
We do not need api types on the server side anymore.
2020-08-18 17:32:11 -07:00
Dmitry Gozman
ecf4cd3933
chore: simplify conversions around selectOption ( #3517 )
...
We do not need to support api types on the server side.
2020-08-18 16:44:17 -07:00
Dmitry Gozman
aeadf50165
chore: use HeadersArray instead of Headers object on the server side ( #3512 )
...
This simplifies implementation and avoids multiple conversions.
Also adding some tests around lowercase and wrong types.
2020-08-18 15:38:29 -07:00
Pavel Feldman
77cab8bed3
test: introduce test collector ( #3515 )
2020-08-18 14:12:31 -07:00
Pavel Feldman
510182f0b9
test: use isChromium, etc fixtures for browser name sniffing ( #3508 )
2020-08-18 12:48:32 -07:00
Joel Einbinder
b2228a660a
fix(test): disable more screenshot tests on headful firefox ( #3513 )
2020-08-18 11:39:10 -07:00
Darío Kondratiuk
5a964f7f99
tests: fix should get the same headers as the server ( #3510 )
...
`server.setRoute` won't return a promise
2020-08-18 09:58:00 -07:00
Dmitry Gozman
9790ea5b5d
chore: align more server-side options with rpc protocol ( #3506 )
...
This touches:
- noDefaultViewport;
- ignoreAllDefaultArgs;
- env;
- validateXYZ logic that was copying objects - we do not need that anymore;
- shuffles some converters closer to their usage.
2020-08-18 09:37:40 -07:00
Dmitry Gozman
7a77faf194
fix(testrunner): do not override debug.log ( #3505 )
...
Otherwise, our DEBUG_FILE is ignored and we dump all DEBUG on the bots.
2020-08-17 21:02:26 -07:00
Joel Einbinder
dfa1f103af
feat(screenshot): create directories for screenshot file
2020-08-17 16:53:19 -07:00
Dmitry Gozman
0e9793c452
api: ElementHandle.waitForElementState ( #3501 )
...
This method waits for visible, hidden, stable or enabled state,
similar to the actionability checks performed before actions.
This gives a bit more control to the user. Some examples:
- Allows to wait for something to be stable before taking a screenshot.
- Allows to wait for the element to be hidden/detached after a specific action.
2020-08-17 16:22:34 -07:00
Dmitry Gozman
58fc6b4003
chore: align some server-side methods with rpc calls ( #3504 )
...
- Never write to console on the server side - we use stdout for
communication. This includes logPolitely and deprecate.
- Pass undefined instead of null in some BrowserContext methods.
- Use explicit _setFileChooserIntercepted instead of on/off magic.
2020-08-17 16:19:21 -07:00
Max Schmitt
59e3326fc0
tests: add test for page.focus() in Firefox ( #3478 )
2020-08-17 16:08:47 -07:00
Dmitry Gozman
141a255a07
chore: remove unused methods from server side ( #3502 )
...
Most of these were api methods that are no longer called directly.
2020-08-17 14:36:51 -07:00
Dmitry Gozman
1e9c0eb705
chore: remove logger infrastructure from server side ( #3487 )
...
We do not implement LoggerSink on the server, so we can
use a simple debugLogger.
2020-08-17 14:12:31 -07:00
Max Schmitt
f3c2584dfc
feat: added rpc driver ( #3500 )
2020-08-17 12:44:39 -07:00
Max Schmitt
8ea280090d
devops: first implementation of browser auto-roll bot ( #3455 )
...
Relates #3258
After a chat with @aslushnikov we add this in two iterations. The first one (this PR) is about scheduled runs for testing the latest tip-of-tree version of the browsers daily and the next PR is about opening an automated PRs once its passing (not sure if its worth to add for failing too) or sending Telegram/Slack notifications.
Current status is that Firefox (around 2 hours) and WebKit (around 3-4 hours) works.
Known issues which I fix before we merge:
- ~~Changes in `test/base.fixture.ts` will get extracted in #3453~~
Feel free to review, current blockers are before we can merge:
- ~~#3453~~
- potential git clone optimisation by aslushnikov
2020-08-17 11:23:46 -07:00
Dmitry Gozman
5aa4116204
docs: sort all enums in doclint ( #3488 )
...
Currently, the order depends on some internals of typescript compiler
and changes from time to time. Sorting makes it stable.
2020-08-17 10:47:21 -07:00
Pavel Feldman
3aae8c6be1
test: run tests by ordinals, not ranges ( #3497 )
2020-08-17 10:33:42 -07:00
Pavel Feldman
262e886940
test: organize golden files under __snapshots__ folder ( #3494 )
2020-08-16 19:19:52 -07:00
Joel Einbinder
c0b9cecc65
feat(types): export ConnectOptions ( #3147 )
2020-08-16 16:40:25 -07:00
Joel Einbinder
d516f81eeb
fix(rpc): add a custom toJSON to help jest's expect library ( #3489 )
2020-08-16 14:41:33 -07:00
Andrey Lushnikov
f983432536
feat(firefox): roll firefox to r1160 ( #3468 )
...
Since this is a beta build, cookie tests are restored to the
proper non-lax-by-default behavior.
Fixes #3215
2020-08-15 17:15:21 -07:00
Pavel Feldman
c90039586d
test: restart worker upon any test failure ( #3492 )
2020-08-15 13:40:19 -07:00
Pavel Feldman
c44f841f33
test: reverse dumpio into quiet, serialize output ( #3491 )
2020-08-15 00:19:20 -07:00
Pavel Feldman
73d2dc11d7
test: encapsulate mocha into test runner ( #3490 )
2020-08-14 22:26:16 -07:00
Max Schmitt
5410c30908
chore(test): fix tests when using browser path overwrites ( #3453 )
2020-08-14 19:34:42 -07:00
Pavel Feldman
35fbd588c8
test: implement in-process debug mode ( #3486 )
2020-08-14 19:31:04 -07:00
Dmitry Gozman
bc23324878
chore: remove apiName plumbing and some unused methods from server side ( #3481 )
...
We append apiName where needed on the client instead.
2020-08-14 18:25:32 -07:00
Dmitry Gozman
244c2f37b6
feat(rpc): make sure filechooser is only intercepted when needed ( #3482 )
...
So that user can choose a file manually in headful mode.
2020-08-14 18:24:36 -07:00
Joel Einbinder
0c798f0572
fix(testrunner): properly run tests when the first arg is a file ( #3472 )
2020-08-14 16:49:49 -07:00
Dmitry Gozman
69e1e713ef
feat(click): provide preview of the element intercepting pointer events ( #3449 )
2020-08-14 14:48:36 -07:00
Dmitry Gozman
85c93e91a7
api: introduce ElementHandle.waitForSelector ( #3452 )
...
This is similar to Frame.waitForSelector, but relative to the handle.
2020-08-14 14:47:24 -07:00
Pavel Feldman
a03c761201
test: unconditionally plumb debug to parent process ( #3479 )
2020-08-14 13:46:43 -07:00
Pavel Feldman
d537088af8
test: deliver colorful debug messages, do not pipe stdio ( #3477 )
2020-08-14 13:42:03 -07:00
Dmitry Gozman
ae4280a12b
chore: cleanup more non-rpc code ( #3471 )
...
- Replaces BrowserServer class with BrowserProcess struct.
- Removes src/api.ts.
- Removes helper.installApiHooks.
- Removes BrowserType.launchServer.
2020-08-14 13:19:12 -07:00
Dmitry Gozman
dec8fb7890
fix(hover): do not require the element to be enabled before hovering ( #3445 )
2020-08-14 13:18:32 -07:00
Joel Einbinder
c1de95f91f
feat(testrunner): pretty error messages ( #3469 )
2020-08-14 07:28:35 -07:00
Pavel Feldman
2f5a0a6c07
test: slowly removing testOptions ( #3464 )
2020-08-14 07:22:54 -07:00
Joel Einbinder
036cd5ca41
feat(testrunner): use ring character for skips ( #3454 )
2020-08-13 23:58:03 -07:00
Joel Einbinder
f45791dd8b
feat(testrunner): support sourcemaps ( #3459 )
2020-08-13 23:17:46 -07:00