Commit Graph

627 Commits

Author SHA1 Message Date
Marcin Strzyz
6b2d93a890
chore: error on unused eslint disables (#26510) 2023-08-17 20:53:36 +02:00
Marcin Strzyz
0e6deb7c8d
chore: Update to latest version of TS Eslint to get TS 5.1 support. (#26511)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-08-17 10:57:13 +02:00
Andrey Lushnikov
a61431f6bb
chore: cut 1.37.0 branch (#26357) 2023-08-09 01:46:29 -07:00
Max Schmitt
1634ec8766
chore: introduce code snippet linting infra (#23960) 2023-07-24 22:27:44 +02:00
Marcin Strzyz
d5e7b4f16f
chore: update rimraf package to version 4 to eliminate "promisify" (#24190)
Migrate to version 4 which returns a promise rather than leverages a
callback. -> https://www.npmjs.com/package/rimraf?activeTab=readme

- contains its own types, eliminate "@types/rimraf"
- Parameter `maxBusyTries` changed to `maxRetries`
2023-07-18 19:58:07 +02:00
Max Schmitt
18dfe680f5
chore: remove heapdump dependency (#24218) 2023-07-13 21:31:58 +02:00
Pavel Feldman
53bf1995db
chore: do not leak internal page handles after closing page (#24169)
Partial fix for https://github.com/microsoft/playwright/issues/6319

After this fix, the following scenario won't leak and the context state
(cookies, storage, etc) can be reused by the new page sessions:

```js
  for (let i = 0; i < 1000; ++i) {
    const page = await context.newPage();
    await page.goto('...');
    await page.close('...');
  }
```
2023-07-12 14:51:13 -07:00
Max Schmitt
1c2313d641
chore: upgrade esbuild to 0.18.11 (#24123) 2023-07-10 22:35:05 +02:00
Andrey Lushnikov
a9560253f8
chore: cut 1.36.0 (#24104) 2023-07-07 13:01:17 -07:00
Andrey Lushnikov
c3bc8e0620
chore: cut 1.35.0 (#23579) 2023-06-07 12:41:56 -07:00
dependabot[bot]
0feef340c9
chore(deps): bump vite from 4.3.3 to 4.3.9 (#23537) 2023-06-06 11:12:07 +02:00
Max Schmitt
a97bdd0016
chore: update typescript to 5.1.3 (#23461)
https://devblogs.microsoft.com/typescript/announcing-typescript-5-1/
2023-06-02 18:57:09 +02:00
Kristo Jorgenson
a4a363f4f4
chore: upgrade @types/node to 16.x (#23429)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-06-02 10:04:41 +02:00
Andrey Lushnikov
b31511e0c9
chore: cut v1.34.0 (#23121) 2023-05-17 19:05:38 -07:00
Sander
5b69c4cf52
chore: bump vite to 4.3.3 (#22711) 2023-05-01 15:19:49 -07:00
dependabot[bot]
76a2afc836
chore(deps-dev): bump yaml from 1.10.2 to 2.2.2 (#22601) 2023-04-25 09:36:42 +02:00
Andrey Lushnikov
4408738d9c
chore: cut 1.33.0 (#22600) 2023-04-24 12:48:02 -07:00
dependabot[bot]
b20bd09f5e
chore(deps-dev): bump xml2js from 0.4.23 to 0.5.0 (#22320) 2023-04-14 12:03:40 +02:00
Pavel Feldman
a4f67c64e3
chore: allow ts decorators (#22080) 2023-03-29 20:43:08 -07:00
Pavel Feldman
d39ff3dc5a
chore: update typescript to 5.0.2 (#22079) 2023-03-29 17:13:09 -07:00
Sander
2428ff8b8b
chore: bump vite to 4.2.1 (#22061) 2023-03-29 14:00:00 -07:00
Andrey Lushnikov
32d33cb8d5
chore: cut 1.32 (#21773) 2023-03-17 19:36:43 -07:00
Dmitry Gozman
d904a6129f
chore: run check-deps for all packages (#21395) 2023-03-03 14:50:43 -08:00
Pavel Feldman
d7a0b3bb4e
chore: implement pick locator in trace viewer (#20965)
Fixes https://github.com/microsoft/playwright/issues/7853
2023-02-17 11:19:53 -08:00
Dmitry Gozman
e77e2d8c7f
chore: mark 1.32.0-next (#20929) 2023-02-15 16:15:42 -08:00
Sander
ec17a1ac75
chore(ct): bump packages (#20724) 2023-02-13 13:19:59 -08:00
Dmitry Gozman
0cc0d168cd
chore: mark 1.31-next (#20268) 2023-01-20 19:29:14 -08:00
Sander
b363902e1b
feat(ct): https (#19697) 2022-12-28 17:04:23 -08:00
Sander
c5d9b8d0fb
chore: update to vite 4 (#19690) 2022-12-27 09:14:39 -08:00
Andrey Lushnikov
0be1fc8559
chore: cut version 1.29 (#19489) 2022-12-15 11:22:35 -08:00
dependabot[bot]
9b29bd232f
chore(deps): bump qs and formidable (#19304) 2022-12-08 10:09:03 +01:00
Dmitry Gozman
81c8620bfe
chore: upgrade internal types to support TypeScript 4.9.3 (#19280)
Fixes https://github.com/microsoft/TypeScript/issues/51619

Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-12-05 17:22:25 -08:00
Andrey Lushnikov
6d82460a02
feat: implement a new image comparison function (#19166)
This patch implements a new image comparison function, codenamed
"ssim-cie94". The goal of the new comparison function is to cancel out
browser non-determenistic rendering.

To use the new comparison function:

```ts
await expect(page).toHaveScreenshot({
  comparator: 'ssim-cie94',
});
```

As of Nov 30, 2022, we identified the following sources of
non-determenistic rendering for Chromium:
- Anti-aliasing for certain shapes might be different due to the
  way skia rasterizes certain shapes.
- Color blending might be different on `x86` and `aarch64`
architectures.

The new function employs a few heuristics to fight these
differences.

Consider two non-equal image pixels `(r1, g1, b1)` and `(r2, g2, b2)`:
1. If the [CIE94] metric is less then 1.0, then we consider these pixels
   **EQUAL**. (The value `1.0` is the [just-noticeable difference] for
   [CIE94].). Otherwise, proceed to next step.
1. If all the 8 neighbors of the first pixel match its color, or
   if the 8 neighbors of the second pixel match its color, then these
   pixels are **DIFFERENT**. (In case of anti-aliasing, some of the
   direct neighbors have to be blended up or down.) Otherwise, proceed
   to next step.
1. If SSIM in some locality around the different pixels is more than
   0.99, then consider this pixels to be **EQUAL**. Otherwise, mark them
   as **DIFFERENT**. (Local SSIM for anti-aliased pixels turns out to be
   very close to 1.0).

[CIE94]: https://en.wikipedia.org/wiki/Color_difference#CIE94
[just-noticeable difference]:
https://en.wikipedia.org/wiki/Just-noticeable_difference
2022-12-02 15:22:05 -08:00
Max Schmitt
f8355b940e
chore: bump Babel dependencies (#19026) 2022-11-23 09:37:31 -10:00
winches
d09184c34c
chore: add eslint cache (#18876) 2022-11-22 08:46:11 -08:00
Andrey Lushnikov
bc78db07df
chore: cut 1.28 branch (#18746) 2022-11-11 15:30:15 -08:00
Andrey Lushnikov
db826c9c8c
chore: drive-by fixes for the snapshotPathTemplate (#18715)
- Use `snapshotPathTemplate` for docker screenshots in html-reporter
- Mark the snapshot path template test as slow since it re-spawns
  worker for each project.
- Fix docker smoke tests
2022-11-10 15:50:13 -08:00
Pavel Feldman
2183d9e9a2
chore: use codemirror for editor (#18482) 2022-11-01 15:04:30 -07:00
sand4rt
fabe42dc28
chore(ct): bump vite to v3.2.1 (#18427) 2022-10-31 08:58:11 -07:00
sand4rt
098de5009e
chore: bump vite to 3.1.8 (#18095) 2022-10-18 13:09:32 -07:00
Dmitry Gozman
a23ee6f14d
test: fix "getByText should work" with tracing enabled, docker smoke tests (#17864) 2022-10-05 21:31:25 -07:00
Dmitry Gozman
ed6ecbca2a
chore: cut v1.27.0 (#17859) 2022-10-05 15:30:35 -07:00
Pavel Feldman
cadd4d1dd0
chore: migrate http server to ts (#17677) 2022-09-28 17:01:13 -07:00
Andrey Lushnikov
0abb1c773b
devops: fix npm run dtest (#17516)
The `npx playwright docker test` command does not exist any more.
2022-09-21 12:45:25 -07:00
Andrey Lushnikov
a12112c24d
devops(docker): add docker integration smoke tests (#17267) 2022-09-14 15:05:18 -07:00
Andrey Lushnikov
bc942ef9ea
chore: cut v1.26.0 (#17265) 2022-09-12 10:45:27 -07:00
Andrey Lushnikov
3708ba7a1f
chore: drop adm-zip from dev dependencies (#17198)
This was used in the `repack-juggler`.
2022-09-08 09:04:01 -07:00
Max Schmitt
904801a5eb
test: add initial webview2 tests (#16827) 2022-09-07 20:09:22 +02:00
Max Schmitt
85698f51c7
chore: add missing esbuild to package.json (#17064) 2022-09-05 16:33:05 +02:00
Pavel Feldman
535f3d1564
chore: bump lock deps (#16953) 2022-08-31 18:30:26 -07:00
Robert Niznik
664d4a271e
chore(ct-react): bump vite to v3 and @vitejs/plugin-react to v2 (#15733) 2022-08-21 13:52:02 +02:00
Max Schmitt
2e242e2dff
chore: roll Electron to 19.0.11 (#16024) 2022-08-10 10:41:55 +02:00
Andrey Lushnikov
0c7f086096
chore: cut v1.25 branch (#16390) 2022-08-09 17:09:58 -07:00
Pavel Feldman
5a79054544
feat(innerloop): allow reusing browsers over the remote connection (#16065) 2022-07-31 14:31:17 -07:00
Max Schmitt
6482ff7a7f
chore: roll Electron to 16.2.8 (#16017) 2022-07-28 15:41:32 +02:00
Pavel Feldman
55cd3928b7
chore: reuse context in the innerloop mode (#15719) 2022-07-15 10:36:36 -07:00
Andrey Lushnikov
df9beb4045
chore: cut v1.24 (#15654) 2022-07-14 09:42:40 -07:00
Andrey Lushnikov
35720e2fcd
devops: adapt repack-juggler script to work with win (#15254)
This patch:
- Uses some folder in `CWD` instead of `/tmp` on win32 to store
  builds
- Drops usage of `find`, `zip` and `unzip` posix tools. Instead, rely
  on `adm-zip` package.
2022-06-30 11:04:59 -07:00
Max Schmitt
3a61938628
chore: mark 1.24-next (#14857) 2022-06-21 19:32:15 +02:00
Pavel Feldman
4cc25725f9
fix(types): follow up to react 18 changes (#14671) 2022-06-06 21:05:47 -07:00
Pavel Feldman
e3a590ed80
chore: update to react18, but use react17 mode (#14645) 2022-06-06 17:14:01 -07:00
Pavel Feldman
61c38f3b92
chore: update to TS 4.7.2 (#14519) 2022-05-31 13:11:39 -07:00
Max Schmitt
e02e5e66f0
chore: bump TypeScript to 4.6 (#14358) 2022-05-23 22:59:33 +03:00
Pavel Feldman
f0b077ea82
test(stress): add stress tests (#14240) 2022-05-18 09:50:58 -07:00
Andrey Lushnikov
f7adbd83ee
chore: cut v1.22.0 (#14098) 2022-05-12 11:12:01 -07:00
Max Schmitt
37bee74ae5
chore: set minimum version to Node.js 14 (#13469) 2022-04-26 17:52:32 +02:00
Ross Wollman
e69e836c40
chore: port installation tests to @playwright/test (#13644) 2022-04-25 09:30:14 -07:00
Pavel Feldman
007e908cd9
chore: bundle pwt deps (#13622) 2022-04-18 21:47:18 -07:00
Pavel Feldman
7989427ea6
chore: bundle core deps (#13621) 2022-04-18 20:20:49 -07:00
Pavel Feldman
63ea81ec54
chore: make bundles typed (#13620) 2022-04-18 17:50:25 -07:00
Pavel Feldman
58d79e5e4d
chore: add core utils bundle (#13615) 2022-04-18 13:47:23 -07:00
Pavel Feldman
4f0103fef0
chore: babel, expect, zip bundles (#13588) 2022-04-18 11:31:58 -07:00
Pavel Feldman
5f843c347d
chore: bundle pixelmatch, it has not changed for 2 years (#13585) 2022-04-15 16:58:31 -07:00
Andrey Lushnikov
91333daf09
chore: cut v1.21.0 (#13405) 2022-04-07 18:16:22 -07:00
Pavel Feldman
bd6e88b8be
test: start adding component tests (#13159) 2022-03-29 13:27:37 -07:00
Pavel Feldman
1961959dcb
chore: migrate injected scripts to esbuild (#13143) 2022-03-28 23:10:17 -07:00
Pavel Feldman
a58707b8a6
chore: group tests under tests/ (2) (#13082) 2022-03-25 23:09:02 -07:00
Pavel Feldman
6b81e76c2b
chore: migrate trace-viewer and recorder to vite (#13076) 2022-03-25 14:12:00 -07:00
Pavel Feldman
e9fa098bf3
chore: add ct examples (#12693) 2022-03-11 15:46:11 -08:00
Ross Wollman
72b95b9ffa
chore: dogfood dotenv (#12673)
Use a top-level .env file to control the internal testing setup.

This allows for easy manipulation of environment variables regardless
of your setup (VSCode Extension, CLI, etc.).
2022-03-11 15:12:25 -08:00
Andrey Lushnikov
4bccf2f6aa
chore: cut v1.20 branch (#12593) 2022-03-08 14:01:20 -08:00
Pavel Feldman
51344c6924
chore: parse-skip .tsx (#12143) 2022-02-16 15:45:35 -08:00
Andrey Lushnikov
3eba252f2e
chore: cut v1.19.0 (#11944) 2022-02-08 16:01:44 -08:00
Andrey Lushnikov
39ed705904
chore: unify workspace helper scripts (#11925)
This patch unifies a variety of different workspace
scripts into a single `//utils/workspace.js`.

Fixes #11362
2022-02-08 10:35:00 -08:00
Max Schmitt
028afb167b
chore: bump production dependencies (#11787) 2022-02-01 21:27:34 +01:00
Max Schmitt
e0c4e66272
chore: bump dev dependencies (#11779) 2022-02-01 17:12:11 +01:00
Pavel Feldman
136fab7041
fix(prepare): don't change package files on prepare (#11579) 2022-01-24 11:25:24 -08:00
Pavel Feldman
db0cda9df5
chore: rename default config to match extension pattern (#11446) 2022-01-18 13:31:12 -08:00
Andrey Lushnikov
9285596806
chore: cut v1.18.0 (#11358)
Drive-by: fix the `//utils/bump_package_versions.js` script.
2022-01-12 11:50:44 -08:00
Pavel Feldman
f579f9c806
chore: parse tsx tests (#10917) 2021-12-14 19:25:07 -08:00
Pavel Feldman
e55f96d466
test: add component tests for html report (#10900) 2021-12-13 18:30:48 -08:00
Pavel Feldman
541248006c
chore: remove create-playwright, it is in monorepo by mistake (#10654) 2021-12-01 13:09:35 -08:00
Max Schmitt
b8b0d7139c
chore: bump ESLint to version 8 (#10433) 2021-11-19 18:48:33 +01:00
Dmitry Gozman
c470080aec
test: move grid tests to installation-tests (#10418)
- Determine the actual chrome version.
- Download chromedriver.
- Run tests.
2021-11-18 15:32:09 -08:00
Max Schmitt
119a2e8f1b
chore: show ESLint warnings on CI (#10295) 2021-11-13 00:10:56 +01:00
Dmitry Gozman
f38f611478
chore: add npm run lint-tests (#10252) 2021-11-11 13:27:50 -08:00
Andrey Lushnikov
b2af576796
chore: cut v1.17 (#10203) 2021-11-09 17:56:26 -08:00
github-actions[bot]
cc72299cbc
feat(chromium): roll to r938553 (#10112)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-07 17:50:03 +01:00
Andrey Lushnikov
1a577ac344
chore: introduce docker integration dogfood (#9998)
This patch:
- rolls stable-test-runner to Nov 2, 2021 tip-of-tree
- introduces a new npm script, `npm run vtest`, to run Visual Regression
  Tests for our HTML reporter
2021-11-03 15:26:18 -07:00
Andrey Lushnikov
0dcb6f44a1
chore: drop basetest from package.json (#9843)
We don't need it any more since we migrated to monorepo.
2021-10-28 02:15:39 -07:00