Commit Graph

2939 Commits

Author SHA1 Message Date
Yury Semikhatsky
5ba0254c99
browser(firefox): make sure response is sent when context is closed (#3553) 2020-08-20 13:26:04 -07:00
Pavel Feldman
db2e66aa76
test: introduce global setup (#3544) 2020-08-20 12:51:05 -07:00
Dmitry Gozman
eab5ff4eae
chore(rpc): use channels types in dispatchers (#3549)
This ensures we actually implement channels as intended.
For example, this change found an issue with Route.fulfill.
2020-08-20 11:25:33 -07:00
Max Schmitt
e32a496e2e
devops(browser-roll): fix fixture tests (#3547) 2020-08-20 11:10:57 -07:00
Yury Semikhatsky
854d755db5
browser(firefox): make context close wait for sessions to finish (#3550) 2020-08-20 11:04:57 -07:00
Joel Einbinder
0d03cc0f9a
feat(utils): add a script for watching various builds (#3545)
Watches our main typescript compilation, webpacks, type generation, and rpc channel generation.
2020-08-20 09:27:04 -07:00
Pavel Feldman
86815d70e0
test: convert rename options to parameters, remove options magic (#3543) 2020-08-19 21:32:12 -07:00
Pavel Feldman
30f4c0c9fe
test runner: remove dependencies on playwright (#3539) 2020-08-19 17:47:24 -07:00
Dmitry Gozman
18292325b6
api: add waitForElementState('disabled') (#3537)
Allows waiting for the element to be disabled.
2020-08-19 17:20:10 -07:00
Dmitry Gozman
0a22e2758a
fix(chromium): disable lazy loading iframes (#3535)
These do not play nicely with our "page is loaded when all frames
are loaded" logic.
2020-08-19 15:58:13 -07:00
Yury Semikhatsky
f13cebc66d
browser(firefox): remove redundant checks for PageTarget._browserContext (#3541) 2020-08-19 15:39:46 -07:00
Max Schmitt
e679b82339
fix(devops): auto roll tests (#3536) 2020-08-19 15:04:52 -07:00
Arjun Attam
a78d83e833
docs: clarify response and requestfinished events (#3532)
* docs: clarify response and requestfinished events

* fix typo
2020-08-19 13:36:56 -07:00
Pavel Feldman
a65b0bba5d
test: merge test options into options (#3531) 2020-08-19 13:30:54 -07:00
Dmitry Gozman
9ac1bbc2a5
chore: remove more paths and url matches from the server side (#3528) 2020-08-19 13:27:58 -07:00
Yury Semikhatsky
df50660458
browser(firefox): make tab close listener sync again (#3533) 2020-08-19 12:52:43 -07:00
Yury Semikhatsky
83de0071c9
feat(screencast): add start/stop events on context (#3483) 2020-08-19 12:45:31 -07:00
Yury Semikhatsky
73cd6ecef3
browser(firefox): add screencast control methods to context (#3530) 2020-08-19 12:43:53 -07:00
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