282 Commits

Author SHA1 Message Date
Dmitry Gozman
e5ff283a40
fix(trace): only enable on separate tracing bots (#3677) 2020-08-28 13:50:06 -07:00
Dmitry Gozman
b34d9aba25
feat(trace): experimental traces for our tests (#3567)
This introduces basic tracing enabled in our tests.

What is captured:
- network resources;
- snapshots at the start of most actions;
- snapshot after the test failure.

How this integrates with test runner:
- context fixture calls private method context._initSnapshotter() and uses Tracer to trace all events;
- all tests share a single test-results/trace-storage directory to store blobs;
- each test has its own trace file.
- npm run show-trace opens a bare-minimum trace viewer that renders snapshots.
2020-08-28 10:51:55 -07:00
Max Schmitt
254238cdce
enh: bake browser revisions and api into driver (#3514) 2020-08-26 16:01:42 -07:00
Yury Semikhatsky
a2a96198e6
fix(devops): fix firefox protocol.ts location (#3630) 2020-08-25 16:23:43 -07:00
Dmitry Gozman
bdbcae16cb
chore: remove injected -> types dependency (#3606)
This way, injected is self-contained and we can ensure it does not
depend on anything node-specific.
2020-08-24 15:30:45 -07:00
Dmitry Gozman
a099e941d6
chore: move last rpc files to their place (#3604)
Also update check-deps to be more user-friendly.
2020-08-24 14:48:03 -07:00
Dmitry Gozman
cd220daa83
chore: move src files to server (#3593) 2020-08-24 06:51:51 -07:00
Dmitry Gozman
43893cc0f8
chore: improve check-deps (#3592) 2020-08-23 21:24:16 -07:00
Dmitry Gozman
73e53b21df
chore: move injected and debug to src/server (#3591) 2020-08-23 20:25:59 -07:00
Dmitry Gozman
847201b132
chore: move firefox to src/server/firefox (#3590) 2020-08-23 17:05:58 -07:00
Dmitry Gozman
6a53b205e5
chore: move webkit to src/server/webkit (#3589) 2020-08-23 15:39:03 -07:00
Dmitry Gozman
2e1493a5fa
chore: move browserPaths to utils, enforce more deps (#3584) 2020-08-22 21:15:03 -07:00
Dmitry Gozman
f4e8f34c96
chore: move chromium to src/server/chromium, enfore installer deps (#3582) 2020-08-22 15:46:42 -07:00
Dmitry Gozman
9fca63f8ec
chore: move src/rpc/client to src/client (#3581) 2020-08-22 15:13:51 -07:00
Dmitry Gozman
655013d025
chore: move shared utilities to src/utils (#3575) 2020-08-22 07:07:13 -07:00
Dmitry Gozman
6fe1cd9812
chore: move protocol files to src/protocol (#3571) 2020-08-21 18:46:11 -07:00
Joel Einbinder
8ae3c4be06
feat(testrunner): delete types.d.ts (#3551) 2020-08-21 09:53:02 -07:00
Joel Einbinder
012f9425bf
chore(test-runner): move into its own folder and typescript project (#3548) 2020-08-20 16:04:27 -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
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
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
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
6abc352498
test: remove output and golden directory notions (#3456) 2020-08-13 17:32:27 -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
84441f8f77
chore(test): run doclint tests with mocha, delete testrunner again (#3447) 2020-08-13 13:57:27 -07:00
Andrey Lushnikov
4f05039944
devops: do not fail check when refusing to publish TOT revision (#3443) 2020-08-13 10:39:45 -07:00
Pavel Feldman
51bd3709ff
Revert "chore(test): run doclint tests with mocha, delete utils/testrunner (#3428)" (#3432) 2020-08-12 22:01:37 -07:00
Joel Einbinder
061ff25741
chore(test): run doclint tests with mocha, delete utils/testrunner (#3428) 2020-08-12 20:02:48 -07:00
Andrey Lushnikov
40f685226b
devops: migrate //utils/check_availability.js off browser fetcher (#3418)
The script is used to check the state of chromium CDN, whereas
our browser fetcher now defaults to Playwright CDN.
2020-08-12 15:01:07 -07:00
Joel Einbinder
6054f14794
chore(tests): convert all tests to typescript (#3384) 2020-08-11 15:50:53 -07:00
Joel Einbinder
55a78482e4
fix(types): fix type generation to make ts tests work (#3385) 2020-08-11 14:31:20 -07:00
Pavel Feldman
823ef86470
test: add support for mocha (#3376) 2020-08-10 20:10:39 -07:00
Joel Einbinder
d76166beca
chore(test): require playwright fixtures from userland (#3355)
This patch moves fixtures.js to base.fixtures.ts that sits next to tests. All tests get an extra import to get the base fixtures (both types and implementations).
2020-08-10 16:48:34 -07:00
Dmitry Gozman
3179e71912
feat(rpc): in-process rpc on by default (#3104) 2020-08-10 14:18:58 -07:00
Dmitry Gozman
ef76f5b922
feat(rpc): introduce JSON type in the protocol for arbitrary blobs (#3367) 2020-08-10 11:20:32 -07:00
Pavel Feldman
6f09590c9a
test: restore nojest runner (#3359) 2020-08-08 19:43:00 -07:00
Dmitry Gozman
c6acc32889
docs(api): explicit nulls, use Serializable and EvaluationArgument more (#3358) 2020-08-07 20:55:22 -07:00
Joel Einbinder
c9409bf1b3
fix(types): add missing properties to DeviceDescriptor (#3332) 2020-08-06 15:45:13 -07:00
Dmitry Gozman
126b1f79d4
feat(rpc): run doclint against rpc client (#3260) 2020-07-31 17:00:36 -07:00
Pavel Feldman
93056ed8ef
chore(rpc): more protocol nits (#3246) 2020-07-30 17:51:41 -07:00
Dmitry Gozman
6297f86cfa
feat(rpc): run generate-channels during lint (#3238) 2020-07-30 15:08:21 -07:00
Dmitry Gozman
3bd97776b8
feat(rpc): do not use server types and events in rpc/client (#3219)
This change removes almost all dependencies from rpc/client
to the rest of the project. The last ones would be utilities
like helper, converters, etc.
2020-07-29 17:26:59 -07:00
Andrey Lushnikov
487bc589b0
devops: re-factor list-dependencies script to output per-browser results (#3194)
This patch:
- refactors script to output per-browser package dependencies. This is to aid with
  per-browser docker setup and Playwright github action.
- sorts package maps for both Ubuntu 18.04 and Ubuntu 20.04 alphabetically (and removes a stray dependency)

References #2926
2020-07-29 13:38:54 -07:00
Max Schmitt
21b1be7351
docs(selectors): fixed selector register example (#3169) 2020-07-29 10:37:57 -07:00
Dmitry Gozman
bdfde5cd5c
fix(firefox): roll firefox for postdata fix (#3196) 2020-07-28 18:47:25 -07:00
Dmitry Gozman
6cb1e03713
feat(rpc): disallow deps into rpc client from outside (#3199)
For this, common converters are extracted from rpc serializers.
2020-07-28 15:33:38 -07:00
Dmitry Gozman
e406119f0c
chore: add check_deps script (#3182)
This will be used to disallow cross-directory imports,
for example from impl to rpc.
2020-07-27 13:02:28 -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