Commit Graph

2759 Commits

Author SHA1 Message Date
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
Andrey Lushnikov
4dde2882e7
browser(firefox): roll Firefox to August 14 beta (#3465) 2020-08-13 23:14:24 -07:00
Pavel Feldman
ee02702203
test: allow overriding test fixtures, add some test runner tests (#3463) 2020-08-13 22:35:54 -07:00
Yury Semikhatsky
a64cdcc9a9
feat(webkit): bump to 1326 (#3462) 2020-08-13 22:33:08 -07:00
Pavel Feldman
31fac37780
test: allow overriding the worker fixtures (#3460) 2020-08-13 20:35:26 -07:00
Yury Semikhatsky
737bfa2676
test(screencast): skip test that depends on accelerated compositing (#3458) 2020-08-13 18:01:06 -07:00
Pavel Feldman
6abc352498
test: remove output and golden directory notions (#3456) 2020-08-13 17:32:27 -07:00
Yury Semikhatsky
ae5700b3f3
browser(webkit): do not crop video on Mac headless (#3457) 2020-08-13 16:50:22 -07:00
Dmitry Gozman
9b52ca8676
chore: remove unused non-rpc code, test options, infra, bots (#3444) 2020-08-13 16:00:23 -07:00
Joel Einbinder
176227549d
feat(testrunner): cache transformed files (#3451)
This makes parsing faster to the point where it is not worth it to report when files are parsed.
2020-08-13 14:35:05 -07:00
Joel Einbinder
84441f8f77
chore(test): run doclint tests with mocha, delete testrunner again (#3447) 2020-08-13 13:57:27 -07:00
Pavel Feldman
e2cfb05786
test: print stderr upon test failure (#3448) 2020-08-13 13:32:15 -07:00
Dmitry Gozman
18b2cf5ec7
feat(rpc): use rpc protocol for browserType.connect (#3380) 2020-08-13 13:24:49 -07:00