Commit Graph

454 Commits

Author SHA1 Message Date
Pavel Feldman
a597004780
chore: roll test runner to 0.3.5 (#3832) 2020-09-10 21:31:46 -07:00
Andrey Lushnikov
1e8e24c3d0
chore: cut v1.4.0-post version (#3833) 2020-09-10 14:17:54 -07:00
Jon Picchietti
f6aab9e5bd
chore: fix minimum node version (#3777) 2020-09-04 17:18:18 -07:00
Andrey Lushnikov
bbe2233f08
feat(chromium): use bundled ffmpeg instead of npm deps (#3771)
Fixes #3680
2020-09-04 04:17:51 -07:00
Pavel Feldman
91671f5452
chore: remove unused dev dependencies (#3758) 2020-09-03 10:34:22 -07:00
Pavel Feldman
8df1fe47bc
test: explicitly require expect (#3755) 2020-09-03 09:43:08 -07:00
Pavel Feldman
42a64048e8
test: roll test-runner to 0.2.9 (#3753) 2020-09-02 23:22:23 -07:00
Pavel Feldman
175fc52747
test: roll test-runner to 0.2.8 (#3748) 2020-09-02 21:43:38 -07:00
Pavel Feldman
659013051f
test: roll test runner to 0.2.5 (#3723) 2020-09-01 20:07:49 -07:00
Yury Semikhatsky
8ec55e1fb2
feat(screencast): use ffmpeg to produce webm in chromium (#3668) 2020-08-31 08:43:14 -07:00
Joel Einbinder
3cc91093a1
chore(testrunner): move out of the repo (#3687) 2020-08-29 08:27:32 -07:00
Max Schmitt
63a0e0c1d0
chore: bump dev dependencies (#3659) 2020-08-28 13:43:57 -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
Pavel Feldman
a20bb949ea
chore(testrunner): introduce test result, reuse it in ipc (#3644) 2020-08-26 14:14:23 -07:00
Joel Einbinder
4249a11d7e
chore(types): upgrade to TypeScript 4.0.2 (#3637) 2020-08-26 08:57:03 -07:00
Pavel Feldman
53ac35a613
chore(testrunner): complete ts migration (#3587) 2020-08-23 11:44:41 -07:00
Pavel Feldman
e5dae0daf7
test: move reporters off mocha (#3577) 2020-08-22 08:46:45 -07:00
Joel Einbinder
d4dac04212
chore(testrunner): add exit code tests (#3562) 2020-08-21 13:22:43 -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
Pavel Feldman
30f4c0c9fe
test runner: remove dependencies on playwright (#3539) 2020-08-19 17:47:24 -07:00
Max Schmitt
f3c2584dfc
feat: added rpc driver (#3500) 2020-08-17 12:44:39 -07:00
Joel Einbinder
c1de95f91f
feat(testrunner): pretty error messages (#3469) 2020-08-14 07:28:35 -07:00
Joel Einbinder
f45791dd8b
feat(testrunner): support sourcemaps (#3459) 2020-08-13 23:17:46 -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
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
Joel Einbinder
d3677357b8
feat(testrunner): take the first argument as the test root dir (#3423) 2020-08-12 20:01:13 -07:00
Pavel Feldman
962ddc09c4
test: consolidate runner files (#3415) 2020-08-12 13:47:44 -07:00
Pavel Feldman
7e07634cc6
test: use mocha in ci/cd (#3406) 2020-08-12 11:48:30 -07:00
Pavel Feldman
bfdb59eada
test: make mocha runner work in parallel (#3383) 2020-08-11 10:57:30 -07:00
Pavel Feldman
823ef86470
test: add support for mocha (#3376) 2020-08-10 20:10:39 -07:00
Dmitry Gozman
3179e71912
feat(rpc): in-process rpc on by default (#3104) 2020-08-10 14:18:58 -07:00
Pavel Feldman
6f09590c9a
test: restore nojest runner (#3359) 2020-08-08 19:43:00 -07:00
Pavel Feldman
5c0b88fb10
feat(test): add dot report for aslushnikov (#3317) 2020-08-05 21:18:20 -07:00
Pavel Feldman
4956054a0f
test: bump jest to 26.2 - per-test progress, slow thresholds (#3314) 2020-08-05 14:17:17 -07:00
Andrey Lushnikov
83539d1ab5
chore: cut v1.3.0-post (#3309) 2020-08-05 12:32:56 -07:00
Dmitry Gozman
126b1f79d4
feat(rpc): run doclint against rpc client (#3260) 2020-07-31 17:00:36 -07:00
Dmitry Gozman
6297f86cfa
feat(rpc): run generate-channels during lint (#3238) 2020-07-30 15:08:21 -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
Andrey Lushnikov
20b7cff935
fix: update jpeg-js version (#3179) 2020-07-27 10:39:59 -07:00
Dmitry Gozman
68c4f79b02
feat(rpc): convert protocol to yaml (#3102) 2020-07-22 19:38:19 -07:00
Joel Einbinder
773ee08e9d
chore(test): restore api coverage checks (#3068)
* chore(test): restore api coverage checks

* try to catch the correct error on the bots

* try to trick github into taking the new code

* uninstall coverage

* dgozman comments
2020-07-22 09:08:10 -07:00
Yury Semikhatsky
6e75533c63
chore: respect jest params in npm run wtest (#3085) 2020-07-22 08:57:54 -07:00
Pavel Feldman
9d9801192e
test: wire test commands to jest (#3014) 2020-07-17 16:09:27 -07:00
Dmitry Gozman
4c8ba3ed67
chore: remove cli (#2976)
It will be a separate package instead.
2020-07-16 13:13:26 -07:00
Pavel Feldman
ecc130c644
test: convert evaluation.spec to jest+fixtures (#2968) 2020-07-16 11:18:38 -07:00
Pavel Feldman
19cd96c46a
test: add the jest-circus experimental runner (#2962) 2020-07-15 16:52:41 -07:00
Pavel Feldman
d561465214
devops: use matrix in GHA, add non-linux rpc (#2907) 2020-07-10 13:15:57 -07:00
Yury Semikhatsky
b93e0994bc
browser(webkit, firefox): bump versions (#2866) 2020-07-08 17:10:33 -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
Joel Einbinder
8611ee8df7
chore(testrunner): typescript test files (#2751)
This lets our spec files be .ts instead of just .js. The typescript files will be checked against the public types. Tests are compiled with babel just in time before running them, emulating the jest experience. TypeScript tests are also linted with eslint.

I converted keyboard.spec.js as the first demo. I'll follow up converting some more more tests.
2020-07-08 00:20:36 -07:00
Joel Einbinder
6ed8b5fcc6
chore(eslint): lint for copyrights on files (#2858) 2020-07-07 11:12:45 -07:00
Andrey Lushnikov
ef125e13e2
chore: cut v1.2 (#2850) 2020-07-06 15:12:03 -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
Andrey Lushnikov
922cbe6718
chore: roll https-proxy-agent to v5 (#2777)
Co-authored-by: Luke Edwards <luke.edwards05@gmail.com>
2020-06-30 17:03:01 -07:00
Pavel Feldman
f2c47b1d33
feat(cli): introduce basic playwright CLI tool (#2571) 2020-06-14 17:24:45 -07:00
Andrey Lushnikov
d5c55749d8
chore: cut v1.1.0-post version (#2491) 2020-06-05 18:18:58 -07:00
Pavel Feldman
fb058ffe0d
feat(proxy): allow specifying proxy (#2485) 2020-06-05 13:50:15 -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
ffe7084652
feat(electron): experimental electron support (#2166) 2020-05-11 18:00:33 -07:00
Pavel Feldman
c5b0baacd1
chore: remove main index.js from playwright-core (#2178) 2020-05-11 09:38:09 -07:00
Tobias Hernstig
d39ec35cd7
chore: Add "homepage" to package.json (#2127) 2020-05-07 12:31:59 -07:00
Andrey Lushnikov
7a01bb1f33
chore: bump package.json version to v1.0.0-post (#2128) 2020-05-06 12:13:23 -07:00
Pavel Feldman
41de5bc388 Revert "chore: mark v0.18.0 (#2122)"
(should go only into branch)
This reverts commit 19e8c327ba.
2020-05-05 16:55:55 -07:00
Pavel Feldman
19e8c327ba
chore: mark v0.18.0 (#2122) 2020-05-05 16:52:54 -07:00
Pavel Feldman
da903cb5bb chore: cut v0.18.0-post version 2020-05-05 15:07:44 -07:00
Andrey Lushnikov
6eabb95b49
chore: cut v0.17.0-post (#2095) 2020-05-04 12:15:20 -07:00
Andrey Lushnikov
28bbd93f40
chore: cut v0.16.0 (#2065) 2020-04-30 17:41:03 -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
e534568736
feat(chromium): roll back to r760827 to make headful happy (#2010) 2020-04-27 23:02:30 -07:00
Yury Semikhatsky
f58d909db4
fix(firefox): use separate processes for pages in different contexts (#1976) 2020-04-27 10:13:43 -07:00
Pavel
df7338c2ce Revert "chore: cut v1.0.0-post (#1966)"
This reverts commit 7afceeb5a6.
2020-04-27 10:05:11 -07:00
Yury Semikhatsky
f9bd1d0720
fix(webkit): fix blob downloads on mac (#1972) 2020-04-25 08:46:58 -07:00
Pavel Feldman
b60c006c63
chore: simplify and restructure downloads (#1974) 2020-04-24 19:14:10 -07:00
Andrey Lushnikov
7afceeb5a6
chore: cut v1.0.0-post (#1966) 2020-04-24 15:02:25 -07:00
Andrey Lushnikov
5146dfc74b
chore: cut v0.15.0 (#1957) 2020-04-23 20:26:18 -07:00
Andrey Lushnikov
9415dc2216
feat(chromium): roll Chromium to r762211 (#1956)
Just a healthy roll.
2020-04-23 20:21:48 -07:00
Yury Semikhatsky
7c9762fae9
fix: support blob downloads (#1954) 2020-04-23 20:04:19 -07:00
Joel Einbinder
f11113f364
feat(firefox): roll to 1085 (#1951) 2020-04-23 14:40:05 -07:00
Andrey Lushnikov
2637805ace
feat(webkit): roll to 1208 (#1948) 2020-04-23 14:20:59 -07:00
Pavel Feldman
fa6f738e4c
feat(browser): roll webkit to r1205 (#1922) 2020-04-22 14:50:56 -07:00
Yury Semikhatsky
b7afbf819f
fix(webkit): ignore WebSocket certificate errors on Mac (#1900) 2020-04-22 12:41:39 -07:00
Andrey Lushnikov
136173a93d
chore: cut v0.14.0 (#1913)
We will publish release from a branch.
2020-04-22 09:44:04 -07:00
Pavel Feldman
2320d9cbf3
feat(webkit): roll to r1201 (#1897) 2020-04-20 22:25:44 -07:00
Pavel Feldman
47c384112c
chore: bring back DEBUG= logging (#1891) 2020-04-20 20:00:55 -07:00
Andrey Lushnikov
1dff8e818a
chore: bump minimist dependency (#1866) 2020-04-20 16:49:23 -07:00
Yury Semikhatsky
fb45c75b98
feat(webkit): simulate device orientation events (#1852) 2020-04-20 14:43:44 -07:00
Pavel Feldman
1f43ae692f
feat(logging): introduce logger sink api (#1861) 2020-04-20 07:52:26 -07:00
Pavel Feldman
39c9a45219
feat(firefox): roll to r1084 (#1850) 2020-04-17 15:09:48 -07:00
Mathieu 'p01' Henri
e8bf5fd928
Update pngjs and jpeg-js dependencies (#1845) 2020-04-17 08:44:33 -07:00
Yury Semikhatsky
55c01da005
fix(firefox): fire "requestfailed" event on network errors (#1817) 2020-04-16 13:35:16 -07:00
Andrey Lushnikov
26018aae25
feat(chromium): roll Chromium to r759486 (#1823)
This roll includes:
- https://crrev.com/759486 - devtools(protocol): Input.dispatchMouseEvent to properly find target widget host

Fixes #1240
2020-04-16 09:38:28 -07:00
Joel Einbinder
69a9867e9e
feat(webkit): roll to 1197 (#1820) 2020-04-16 09:37:19 -07:00
Pavel Feldman
0426354451
feat(firefox): roll to r1082 (#1819) 2020-04-15 19:50:04 -07:00
Yury Semikhatsky
041406a664
fix(firefox): enable remaining focus tests (#1803) 2020-04-15 18:44:38 -07:00
Andrey Lushnikov
52fe02eea6
devops: enforce strict treatment of unhandled rejections (#1789)
Run all our tests with node.js flag `--unhandled-rejections=strict`.
2020-04-14 22:40:33 -07:00
Yury Semikhatsky
b232e004f5
fix(firefox): make ElementHandle.scrollIntoViewIfNeeded pass (#1786) 2020-04-14 18:24:17 -07:00
Yury Semikhatsky
1c1d81cf3a
fix(firefox): make scroll&click tests pass (#1760) 2020-04-13 18:30:00 -07:00
Pavel Feldman
9249f33709
feat(webkit): roll WebKit, migrate to Playwright.exe (#1749) 2020-04-10 21:02:28 -07:00
Yury Semikhatsky
d0c19e531d
feat(firefox): update to 1076 (#1734) 2020-04-09 19:03:59 -07:00
Yury Semikhatsky
775604d140
feat(webkit): update to 1190 (#1728) 2020-04-09 10:58:47 -07:00
Andrey Lushnikov
b385ea8415
chore: bump version to v0.13.0-post (#1721) 2020-04-08 17:30:45 -07:00
Andrey Lushnikov
17e645ad34
chore: mark version v0.13.0 (#1720) 2020-04-08 16:53:44 -07:00
Yury Semikhatsky
685f14d8ba
feat(firefox): update to 1075 (#1705) 2020-04-08 08:46:48 -07:00
Yury Semikhatsky
a7ae205254
feat(firefox): support downloads (#1689) 2020-04-07 15:01:42 -07:00
Andrey Lushnikov
949dc7b514
chore: bump extract-zip dependency (#1696)
Fixes #1510
2020-04-07 14:56:30 -07:00
Andrey Lushnikov
e15fc08d46
chore: migrate node types to 10.17.17 (#1690) 2020-04-07 07:40:57 -07:00
Pavel Feldman
3dc14eddaf
fix(colorScheme): make light scheme default on all browsers (#1668) 2020-04-06 19:49:33 -07:00
Dmitry Gozman
5673fd7040
feat(firefox): bump to 1071 (#1670) 2020-04-05 08:59:25 -07:00
Pavel Feldman
17039f1649
fix(webkit): fix non-mac screenshots w/ dsf (#1665) 2020-04-03 21:54:43 -07:00
Yury Semikhatsky
bebce8faa0
feat(webkit): bump version to 1187 (#1646) 2020-04-03 12:32:58 -07:00
Pavel Feldman
75571e8eb8
feat(downloads): support downloads on cr and wk (#1632) 2020-04-02 17:56:14 -07:00
Joel Einbinder
a1f22aae2c
chore: upgrade typescript to 3.8.3 (#1641) 2020-04-02 11:05:53 -07:00
Yury Semikhatsky
7c2ddc2e00
feat(firefox): support timezone override (#1578) 2020-04-01 22:10:56 -07:00
Pavel Feldman
e241c1bef8
chore: remove web mode (#1625) 2020-04-01 14:42:47 -07:00
Yury Semikhatsky
c218d8c25f
fix(firefox): isolate ignoreHTTPSErrors setting between contexts (#1617) 2020-04-01 12:59:48 -07:00
Pavel Feldman
dd4fe906d9
feat(webkit): roll WebKit to r1185 (#1611) 2020-03-31 13:36:43 -07:00
Pavel Feldman
307b33ab7d
feat(chromium): roll to r754895 (#1610) 2020-03-31 13:23:08 -07:00
Joel Einbinder
d130479e3c
feat(webkit): roll webkit to 1184 (#1570) 2020-03-30 14:49:40 -07:00
Dmitry Gozman
72ae3a9165
feat(firefox): emulate device size (#1565) 2020-03-26 21:40:38 -07:00
Yury Semikhatsky
59fa2cba90
test(firefox): enable locale tests (#1562) 2020-03-26 18:14:38 -07:00
Andrey Lushnikov
b24262b46f
feat(browser): roll Firefox to r1059 (#1551)
This fixes flaky user gesture in evaluation.
2020-03-26 01:16:07 -07:00
Andrey Lushnikov
f2d72b3d95
test: enable flaky worker tests on Firefox (#1548)
Drive-by: remove dead websocket test.
2020-03-25 22:46:27 -07:00
Yury Semikhatsky
89e123b708
test(firefox): enable CSP tests that use new Function() (#1542) 2020-03-25 17:49:07 -07:00
Dmitry Gozman
6ee7852f0f
chore: update release guide and helper script (#1521) 2020-03-25 13:15:29 -07:00
Pavel Feldman
ef9e04d399
fix(permissions): fix notifications permissions on firefox (#1531) 2020-03-25 11:52:50 -07:00
Pavel Feldman
5bde0b59b5
feat(auth): fix firefox auth flake (#1525) 2020-03-24 23:12:07 -07:00
Andrey Lushnikov
dc7d221722
chore: bump version to v0.12.1-post (#1516) 2020-03-24 12:08:02 -07:00
Andrey Lushnikov
a7ca2fef09
chore: mark version v0.12.1 (#1515) 2020-03-24 11:28:07 -07:00
Dmitry Gozman
ed6e0d5513
chore: bump version to v0.12.0-post (#1512) 2020-03-24 10:46:35 -07:00
Dmitry Gozman
08b94ee67b
chore: mark version v0.12.0 (#1497) 2020-03-24 10:40:02 -07:00
Andrey Lushnikov
b778789ba8
feat: re-make global browser installation (#1506)
This patch removes the `PLAYWRIGHT_GLOBAL_INSTALL=1` variable
and instead introduces a new var - `PLAYWRIGHT_BROWSERS_PATH`.

You can specify `PLAYWRIGHT_BROWSERS_PATH` to affect where playwright
installs browsers and where it looks for browsers.

Fixes #1102
2020-03-24 00:08:00 -07:00
Pavel Feldman
e139d4cae7
feat(firefox): roll to 1051 (#1494) 2020-03-23 14:55:11 -07:00
Andrey Lushnikov
a74e23a257
feat: support PLAYWRIGHT_GLOBAL_INSTALL=1 env variable (#1470)
You can install playwright with

```
PLAYWRIGHT_GLOBAL_INSTALL=1 npm i playwright
```

to make it use a single shared location for all browser
downloads.

Fixes #1102
2020-03-23 12:49:53 -07:00
Pavel Feldman
15ebe1c339
feat(exposeFunction): implement context-level expose on firefox (#1478) 2020-03-22 22:45:15 -07:00
Pavel Feldman
c68cee9fb7
feat(offline): implement offline in firefox (#1476) 2020-03-22 15:34:30 -07:00
Dmitry Gozman
6e8895fa08
fix(firefox): make interception, locale and geolocation work on browser context level (#1472) 2020-03-22 08:56:50 -07:00
Dmitry Gozman
3f90c09e6d
tests: mark popup tests as passing on Firefox (#1466) 2020-03-21 19:56:33 -07:00
Pavel Feldman
5a42cbd491
fix(permissions): manage permissions on the proxy level in webkit (#1451) 2020-03-20 19:45:35 -07:00
Pavel Feldman
e210e5601c
feat(lang): emulate language on firefox (#1453) 2020-03-20 19:32:27 -07:00
Pavel Feldman
c539325615
feat(geo): implement geo override in ff (#1438) 2020-03-20 19:17:46 -07:00
Dmitry Gozman
16c7a5bd5c
api(eval): accept zero or one arguments in all evaluation functions (#1431) 2020-03-20 15:08:17 -07:00
Joel Einbinder
fa02b841a9
test(types): add test for types (#1445) 2020-03-20 10:40:02 -07:00
Joel Einbinder
825555cddf
types: better types (#1166)
This generates typescript definitions based on the api.md, instead of autogenerating them from the typescript source code.

Now types
 - only include the public api
 - work with older versions of typescript
 - include descriptions
 - are more consistent
 - are more complete

#6
2020-03-20 01:30:35 -07:00