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
Dmitry Gozman
fd2e65b73c
api: export all browsers from every package ( #3128 )
...
This makes it easier to reason about our packages.
The only difference is what each package downloads.
When the browser is not downloaded, it will fail to launch.
Each browser gets a 'download' attribute in the browser.json file.
2020-07-24 16:36:00 -07:00
Andrey Lushnikov
c8c92c509d
fix(utils): fix check-availability script ( #3158 )
2020-07-24 16:22:52 -07:00
Dmitry Gozman
415e94f410
feat(rpc): server-side validator ( #3150 )
2020-07-24 15:16:33 -07:00
Pavel Feldman
e7cca86757
fix(postData): allow overriding binary post data ( #3120 )
2020-07-24 12:16:45 -07:00
Dmitry Gozman
68c4f79b02
feat(rpc): convert protocol to yaml ( #3102 )
2020-07-22 19:38:19 -07:00
Dmitry Gozman
b1a5a02154
feat(rpc): client-side parameters validation ( #3069 )
2020-07-22 18:05:07 -07:00
Dmitry Gozman
4db035dff4
chore: roll_browser to also update docs ( #3088 )
2020-07-22 11:03:35 -07:00
Andrey Lushnikov
47e30f047b
feat: introduce chromiumSandbox launch option ( #3067 )
...
The option is intended to be used instead of the `--no-sandbox`
argument that is accepted exclusively by Chromium and crashes
WebKit.
References #2745
2020-07-21 13:49:09 -07:00
Dmitry Gozman
3dead4c8d1
feat(rpc): remove last union types from the protocol ( #3059 )
2020-07-21 12:44:30 -07:00
Dmitry Gozman
5848ed8f41
feat(rpc): introduce protocol.pdl ( #3054 )
...
We now generate channels.ts from the protocol definition. There are still some shortcomings,
like union types - these will be addressed in follow ups.
2020-07-20 17:38:06 -07:00
Andrey Lushnikov
377404448c
devops: add script to generate shared object => package mapping ( #3022 )
...
We use this mapping to provide recommendations on which packages
to install on Linux distributions.
References #2745
2020-07-20 10:35:42 -07:00
Andrey Lushnikov
0346c3a1dc
chore: update release notes draft gen ( #2932 )
2020-07-13 14:48:29 -07:00
Joel Einbinder
040c6a6a41
chore(jest): run tests with jest ( #2754 )
...
Experimentally run `npx jest` to run our tests with jest.
2020-07-08 11:13:18 -07:00
Andrey Lushnikov
760283ea4e
testrunner: fix default environment name ( #2870 )
2020-07-07 22:14:04 -07:00
Dmitry Gozman
0c80c22716
feat(rpc): plumb CDPSession ( #2862 )
2020-07-07 18:47:00 -07:00
Joel Einbinder
6ed8b5fcc6
chore(eslint): lint for copyrights on files ( #2858 )
2020-07-07 11:12:45 -07:00
Andrey Lushnikov
15ddb5d32b
chore: update webkit version ( #2804 )
...
Safari Technology Preview reports WebKit 14.0. Align with them!
2020-07-06 15:13:53 -07:00
Andrey Lushnikov
05b019f1ba
reland: testrunner: make environment a simple class ( #2812 )
...
This re-lands PR https://github.com/microsoft/playwright/pull/2769
It was reverted before in https://github.com/microsoft/playwright/pull/2790
because it was breaking the new CHANNEL bot.
2020-07-02 11:05:38 -07:00
Andrey Lushnikov
5484217c9f
chore: make //utils/roll_browser.js executable
2020-07-02 00:40:47 -07:00
Dmitry Gozman
5c4751d5dd
chore: generate protocol during browser roll ( #2719 )
...
We now commit protocol.ts files during the roll.
New utils/roll_browser.js helps with that.
This makes our installation very shallow:
- build installer;
- download browsers.
2020-07-01 15:22:29 -07:00
Pavel Feldman
e467ea57e7
revert: testrunner: make environment a simple class ( #2769 ) ( #2790 )
2020-07-01 10:56:19 -07:00
Andrey Lushnikov
f00fc0760a
chore: fix utils/check_availability.js
2020-06-30 16:54:52 -07:00
Andrey Lushnikov
1605cb453c
testrunner: make environment a simple class ( #2769 )
...
This patch:
- makes environment a simple class with optional methods `beforeEach`, `afterEach`, `beforeAll`, `afterAll`, `globalSetup` and `globalTeardown`
- removes capability to have multiple hooks of the same name inside suite
- removes default environment for test. (`dit` now adds a `TraceTestEnvironment` to the test)
- extracts all environments that we use in our tests in `//test/environments.js`
Downsides:
- we no longer know hook locations for the environments. This, however, should not be a big deal since stack traces (if any) will still point into it.
- this also regresses hook locations for suites for simplicity. We can get them back, but it shouldn't be pressing since we now have only one hook of each kind in every suite.
2020-06-30 16:51:03 -07:00
Andrey Lushnikov
1865c5685a
testrunner: support globalSetup and globalTeardown hooks. ( #2686 )
2020-06-24 22:08:46 -07:00
Andrey Lushnikov
07dbd0baae
testrunner: teach runHook to accept hook arguments ( #2682 )
2020-06-23 18:17:14 -07:00
Andrey Lushnikov
c61e2d6cc9
testrunner: drop nested test environments ( #2681 )
2020-06-23 16:45:00 -07:00
Joel Einbinder
fb84e19b6f
feat(types): autocomplete for default devices ( #2198 )
...
* feat(types): autocomplete for default devices
* don't export the extra Device type
Co-authored-by: Joel Einbinder <joel.einbinde@gmail.com>
2020-06-18 12:28:20 -07:00
Pavel Feldman
f2c47b1d33
feat(cli): introduce basic playwright CLI tool ( #2571 )
2020-06-14 17:24:45 -07:00
Pavel Feldman
894826dec0
chore: form the debug script for authoring hints / helpers ( #2551 )
2020-06-11 18:18:33 -07:00
Pavel Feldman
fb058ffe0d
feat(proxy): allow specifying proxy ( #2485 )
2020-06-05 13:50:15 -07:00
Dmitry Gozman
1d37a10558
chore: migrate navigations to Progress ( #2463 )
2020-06-04 16:43:48 -07:00
Dmitry Gozman
8e6375f532
chore: reduce the number of evaluate methods, improve types ( #2454 )
...
Types can now handle non-trivial tuples with handles inside.
2020-06-03 13:22:05 -07:00
Pavel Feldman
4ac30f354a
feat(webkit): roll WebKit to 1246 ( #2400 )
2020-05-28 22:35:01 -07:00
Andrey Lushnikov
43eed027bd
chore: rename root index-for-dev.js into index.js ( #2337 )
2020-05-23 00:03:57 -07:00
Andrey Lushnikov
3c84e9ec3a
devops: enable canary publishing ( #2335 )
2020-05-21 16:56:57 -07:00
Andrey Lushnikov
505d94ab1a
chore: drop dependency on playwright-core in all our packages ( #2318 )
...
This patch:
- drops dependency on playwright-core in all our packages. Instead of
the dependency, packages are now built with `//packages/build_package.sh`
script.
- unifies `browsers.json` - now there's a single `//browsers.json` file
that is used to manage browser revisions.
This patch temporary switches canary publishing to `--dryn-run` from CI/CD so that we
can verify that it does sane things.
We'll unify all our package management scripts under `//packages/` in a
follow-up.
Fixes #2268
2020-05-21 13:18:15 -07:00
Pavel Feldman
aa0d844c76
chore: introduce utility script for evaluate helpers ( #2306 )
2020-05-20 15:55:33 -07:00
Joel Einbinder
8e396fdac0
fix(types): add missing types for removing event listeners ( #2307 )
2020-05-20 07:34:36 -07:00
Pavel Feldman
e558f0516b
chore: print the launch error message to console ( #2304 )
2020-05-20 00:10:10 -07:00
Pavel Feldman
99b7aaace8
chore: refactor injected script harness ( #2259 )
2020-05-15 15:21:49 -07:00
Andrey Lushnikov
e035bf3b33
fix: update webkit version ( #2250 )
...
Fix #2245
2020-05-14 16:47:18 -07:00
Pavel Feldman
c5b0baacd1
chore: remove main index.js from playwright-core ( #2178 )
2020-05-11 09:38:09 -07:00
Pavel Feldman
d487a315b9
doc: fix the route docs ( #2174 )
2020-05-11 08:22:48 -07:00
Vasilii Artemchuk
4c4fa8d38c
docs: some syntax fixes ( #2116 )
2020-05-07 12:33:35 -07:00
Andrey Lushnikov
193924f405
chore: add script to generate release notes ( #2099 )
2020-05-04 22:28:09 -07:00
Dmitry Gozman
963dc72dd2
devops: add headful linux bot ( #2060 )
2020-05-04 15:15:51 -07:00
Pavel Feldman
bcce48362a
api(waitForSelector): make "state: visible" default, includes rename to state ( #2091 )
2020-05-04 11:03:44 -07:00
Andrey Lushnikov
a9f0c40af3
feat(testrunner): improvements to testrunner ( #2070 )
...
This patch:
- teaches test runner to understand custom argument spelling, e.g. `--file=evalu` and `-j10`
- fixes `--file` filter to actually focus file paths instead of focusing
all tests with given path
2020-05-01 10:09:45 -07:00
Andrey Lushnikov
3251465657
chore: add script to fetch closed bugs since git commit ( #2066 )
2020-04-30 17:57:45 -07:00
Pavel Feldman
2cdf297245
chore: remove uncompiled download-browser ( #2018 )
2020-04-28 17:06:01 -07:00
Pavel Feldman
d52bd92983
chore: read browser revisions off browsers.json ( #2009 )
2020-04-28 10:37:23 -07:00
Pavel Feldman
b60c006c63
chore: simplify and restructure downloads ( #1974 )
2020-04-24 19:14:10 -07:00