Commit Graph

1014 Commits

Author SHA1 Message Date
Dmitry Gozman
6750a02506
fix(api): hide TestConfig.groups (#17853)
Also fix types for `FullConfig.configFile`.
2022-10-05 14:24:14 -07:00
Max Schmitt
e8413264fa
chore: fix .NET generator (#17849) 2022-10-05 21:01:57 +02:00
Stephen Li
0b1b718afc
feat(core): type addInitScript function arg (#17651)
Allows autocomplete on the arg passed to the init script

```ts
await page.addInitScript((arg) => {
    window.localStorage.setItem('init_user_state', JSON.stringify(arg.initUserState)) // arg was previously 'any'
}, {
    initUserState: { foo: 'bar' },
})
```
2022-10-05 09:08:30 -07:00
Pavel Feldman
e09945c637
chore: handle unexpected ws response (#17714) 2022-09-29 14:04:19 -07:00
Pavel Feldman
a97deb1600
chore: hide reporter project id (#17710) 2022-09-29 12:51:06 -07:00
Yury Semikhatsky
9f17ee6871
feat: group filter (#17646) 2022-09-28 18:45:01 -07:00
Pavel Feldman
cadd4d1dd0
chore: migrate http server to ts (#17677) 2022-09-28 17:01:13 -07:00
Pavel Feldman
d8f67eb75d
feat(api): introduce getByTestId (#17645) 2022-09-27 21:06:07 -07:00
Pavel Feldman
8ad201b802
chore: add snippet to the json report (#17567) 2022-09-27 13:23:08 -07:00
Pavel Feldman
bfd38bf7df
chore: introduce md templates (#17632) 2022-09-27 10:29:34 -07:00
Pavel Feldman
0a3cfc1c21
chore: annotate md utils to compile with ts-check (#17600) 2022-09-27 09:27:23 -07:00
github-actions[bot]
15c6488c8f
chore(driver): roll driver to recent Node.js LTS version (#17620)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-27 13:53:07 +02:00
Max Schmitt
cf75f8ca20
chore: custom error if HTML report gets uploaded in Trace Viewer (#17558)
Fixes https://github.com/microsoft/playwright/issues/17309
2022-09-26 20:57:05 +02:00
Max Schmitt
a5eee6d960
fix(driver): with CWD which contained spaces (#17579)
Fixes https://github.com/microsoft/playwright-python/issues/1561
Fixes https://github.com/microsoft/playwright-python/issues/1565
2022-09-26 19:19:04 +02:00
Andrey Lushnikov
4cd2176155
feat(containers): introduce separate container commands (#17541)
This patch introduces hidden commands to control container
lifecycle:
- `npx playwright docker install-server-deps` to install fluxbox,
  vnc, novnc & to configure them.
- `npx playwright docker run-server` to run a server inside the
  container.

Drive-by: remove old version of container image when building a new
version with the same name. This way we won't pile up untagged
container images.
2022-09-22 13:38:54 -07:00
Andrey Lushnikov
d431958603
chore: move container integration back to playwright-core (#17487) 2022-09-21 12:45:43 -07:00
Pavel Feldman
53ab3d19e8
fix(protocol): update build tools (#17515) 2022-09-21 12:43:18 -07:00
Pavel Feldman
df143031e7
chore: move protocol and trace types into the top-level packages (#17486) 2022-09-20 18:41:51 -07:00
Pavel Feldman
854c783019
chore: project.id, configFile in reporter apis (#17346) 2022-09-14 14:56:28 -07:00
Andrey Lushnikov
462fa7d79d
devops: upload reports to a new container (#17298)
This patch:
- adds `gitBranchName` to the infra metadata to the report
- starts uploading persistent reports to a different container, prefixed
with utc year-month-date.
2022-09-13 10:55:39 -07:00
Max Schmitt
c7367b7065
chore(dotnet): no nested namespace in transport channels (#17273) 2022-09-12 23:13:59 +02:00
Max Schmitt
0b4de0df7f
chore(dotnet): use csharp 10 namespace declaration (#17248) 2022-09-12 11:01:49 -07:00
Andrey Lushnikov
af042beb13
feat: introduce docker integration (#16382)
This patch introduces the following commands:
- `npx playwright docker build` that builds a VRT docker image
  locally that is based off the `mcr.microsoft.com/playwright:jammy`
- `npx playwright docker start` that launches a docker container with
  browsers.
- `npx playwright docker stop` that stops given docker container.
- `npx playwright docker test` that runs all the tests inside a
  launched docker container.
2022-09-09 15:25:42 -07:00
Yury Semikhatsky
fbf9ca5316
fix: avoid using builtins in injected script bundles (#17145) 2022-09-06 17:25:02 -07:00
nate-ro
409bab59ea
chore: added starting time of test to the base json reporter (#16885) 2022-08-30 20:03:21 -07:00
sand4rt
ad46e980bc
feat(ct): initial solid (#16703) 2022-08-23 14:08:53 -07:00
Ross Wollman
aa23914659
chore: remove invalid device configurations (#16777)
Resolves #16622.

- removes current invalid configurations
- validates future changes
2022-08-23 14:03:41 -07:00
Andrey Lushnikov
e7fa9432fb
fix: ensure browser versions in browsers.json (#16760)
Fixes #15702
2022-08-23 09:22:54 -07:00
Yury Semikhatsky
b51b7e7f67
fix: devices is a map not an array (#16729) 2022-08-22 11:34:53 -07:00
github-actions[bot]
4a04d8d0b0
chore(driver): roll driver to recent Node.js LTS version (#16632)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-08-18 10:35:05 +02:00
Yury Semikhatsky
d133b58a96
fix(driver): PLAYWRIGHT_NODEJS_PATH test in sh (#16554) 2022-08-15 12:24:52 -07:00
Elizaveta Bezyaikna
9f22ae9aa9
chore: add id for each test to JSONReporter (#16494) 2022-08-15 09:28:21 -07:00
Yury Semikhatsky
ed1e5efc5c
feat: allow running driver with preinstalled node.js (#16518) 2022-08-15 09:27:35 -07:00
Max Schmitt
e725b5f8a9
fix(esm): fix TS type check with NodeNext mode (#16340) 2022-08-09 20:06:06 +02:00
Max Schmitt
841ee02dc2
test: add host GPU support on Android tests (#16241) 2022-08-04 09:36:04 +02:00
Dmitry Gozman
445fe032f5
feat(test runner): separate interrupted status from skipped (#16124) 2022-08-02 12:55:43 -07:00
Max Schmitt
153670978d
chore: fix Android 13 compatibility (#16139) 2022-08-02 18:22:27 +02:00
Pavel Feldman
5a79054544
feat(innerloop): allow reusing browsers over the remote connection (#16065) 2022-07-31 14:31:17 -07:00
Yury Semikhatsky
7d306bbc66
feat: return value from step (#16060) 2022-07-29 15:16:07 -07:00
Dmitry Gozman
e830fe821d
feat(test runner): introduce test.describe.fixme (#16059) 2022-07-29 12:44:22 -07:00
Yury Semikhatsky
af8e3e7afa
feat: print response text when toBeOK fails (#16040) 2022-07-29 11:46:48 -07:00
Max Schmitt
db5e097aca
chore: add 'gpg' package to Docker images (#15917) 2022-07-25 12:49:51 +02:00
Max Schmitt
004cd9273c
fix(test-runner): multiple webServer types (#15901) 2022-07-25 10:39:06 +02:00
Max Schmitt
501b24a078
test: android test enhancements (#15797) 2022-07-20 18:27:08 +02:00
Pavel Feldman
55cd3928b7
chore: reuse context in the innerloop mode (#15719) 2022-07-15 10:36:36 -07:00
Max Schmitt
98ea418124
fix(expect): expect.not types (#15487) 2022-07-11 18:31:53 +02:00
github-actions[bot]
88015d3791
chore(driver): roll driver to recent Node.js LTS version (#15534)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-11 15:56:07 +02:00
Max Schmitt
02ed5b4cd6 devops: auto roll Node.js version of driver follow-up 2022-07-11 15:54:46 +02:00
Max Schmitt
9110d64917
devops: add auto driver Node.js roll bot (#15531) 2022-07-11 15:27:44 +02:00
Ross Wollman
799d4703bc
feature(test-runner): multiple web servers (#15388)
Fixes #8206.

Since #8206 is a long-awaited (~ 1 year old), popular (~ 45 reactions, frequently requested in community channels, etc.), this PR aims to unblock folks.

Notably, we do not innovate on the `webServer` API, despite knowing we're not in love with it. We'll save the innovation for either Plugins or a new `LaunchConfigs` option. (We haven't yet arrived at a Plugin API we like, and instead of launching a new option guessing what the "better" launchConfig API would be, let's wait and see how folks use this new Array-variant of `webServer` which—despite its name—can be used for non-Web Server launches!
2022-07-07 15:27:21 -07:00
Dmitry Gozman
89c16cbc8b
feat(runner): anonymous describes (#15424)
Useful to set some options without coming up with an artificial name.

```js
test.describe(() => {
  test.use({ colorScheme: 'dark' });

  test('my test', () => {});
})
```
2022-07-06 13:54:11 -07:00
Pavel Feldman
6181b0dcaf
docs: annotate since (#15386) 2022-07-05 17:24:50 -07:00
Dmitry Gozman
4eccb89a79
chore: do not serialize buffers into base64 in local mode (#15316) 2022-07-05 08:58:34 -07:00
Dmitry Gozman
82032be368
chore(server): validate/convert protocol both ways (#14811)
Previously, we only validated/converted on the way to the server,
but not from the server.

Validating both ways catches issues earlier, and allows us to
perform automatic conversions, for example only converting
buffers to base64 when sending over wire.
2022-07-01 09:58:07 -07:00
Max Schmitt
f6bdf3a3cc
chore: generate types always with LF (#15245) 2022-06-29 23:19:49 +02:00
Ross Wollman
3805e942a1
docs(java): fix pom.xml (and auto-generate) (#15192) 2022-06-28 11:37:53 -07:00
Andrey Lushnikov
857d46ca93
docs: add Java release notes (#15158) 2022-06-27 15:31:41 -07:00
Pavel Feldman
d60f84d06a
chore: fix api.json (#15093) 2022-06-23 16:15:14 -07:00
Dmitry Gozman
033c250f6d
fix(har): remove types/har.d.ts, update har.ts per spec (#15046)
Drive-by: typo fix in `notFound` option name.
2022-06-22 12:16:29 -07:00
Pavel Feldman
9525bedc1f
feat(har): re-add routeFromHAR (#15024) 2022-06-21 22:12:37 -07:00
Dmitry Gozman
e3da3ebfa4
feat(har): do not expose HAR types, remove HARResponse fulfill (#14992) 2022-06-20 15:19:54 -07:00
Dmitry Gozman
5397394653
feature(har): add testOptions.har (#14991)
Can now be used with `test.use({ har })`.
Also added more tests for latest har features.
2022-06-20 13:37:31 -07:00
Pavel Feldman
225ab68d1c
fix(test): fix the route test (#14890) 2022-06-15 16:15:45 -07:00
Yury Semikhatsky
e00a26a11d
feat(route): fulfill with HARResponse (#14865) 2022-06-14 15:07:22 -07:00
Max Schmitt
4f1ab2fa62 devops: fix Docker publishing 2022-06-14 11:20:29 +02:00
Ross Wollman
b76d3f2b40
chore: fix publish_docker.sh (#14851)
Started failing a few days ago (https://github.com/microsoft/playwright/runs/6871909784?check_suite_focus=true)
with:

```
./utils/docker/publish_docker.sh: line 82: syntax error near unexpected
token `else'
```
2022-06-13 18:19:57 -07:00
Pavel Feldman
76abb3a5be
chore: unify tab generation (#14802) 2022-06-10 17:34:31 -07:00
Max Schmitt
d1a7fa2901
chore: add Ubuntu 22 Docker image (#14755) 2022-06-09 23:19:54 +02:00
Andrey Lushnikov
b1aa295923
devops: fix canary publishing (#14746)
The first time a scoped package is published, it is considered to be
private.

See https://stackoverflow.com/a/44862841/314883
2022-06-09 07:22:05 -07:00
Max Schmitt
3853014fa7
chore: add ubuntu 22 support (#14588) 2022-06-09 13:20:18 +02:00
Ross Wollman
85d03714d9
feat: add allow/block serviceWorkers option (#14714)
Adds cross-browser support for easily allowing/blocking Service Workers via a Context option.

Includes plumbing for Playwright Test's `use`.

Resolves #14522.

Relates #1090.
Supercedes #14321.
2022-06-08 18:27:51 -04:00
Pavel Feldman
ca2afaaebd
chore: update babel (#14646) 2022-06-06 15:49:31 -07:00
Pavel Feldman
74b846270b
feat(ct): support Vue2 (#14600) 2022-06-02 17:37:43 -07:00
Dmitry Gozman
dbcf039717
chore: remove experimental types (#14560) 2022-06-01 15:22:43 -07:00
Max Schmitt
88ba9c2ff2
docs(dotnet): fix APIResponse.headers type (#14518) 2022-05-31 17:46:03 +02:00
Ross Wollman
cfc9aa64a6
chore: produce meaningful bundle notice diffs (#14396) 2022-05-24 22:19:54 -07:00
Max Schmitt
7f640d8a49
docs(dotnet): add API testing (#13889) 2022-05-23 22:12:57 +03:00
Max Schmitt
806b9c8764
chore(dotnet): generate object types from protocol (#14342) 2022-05-23 19:10:46 +03:00
Dmitry Gozman
ba0cfaeb2d
fix(chromium): work around about:blank issue on Chromium (#14068)
fix(chromium): work around about:blank issue on Chromium

We don't receive the `loaderId` which translates to `newDocumentId`,
so we expect the same-document navigation. Instead, we can wait
for any new-document navigation as a workaround, only for `about:blank`.

This also reverts commit f0f65fa247.
2022-05-10 20:32:19 +01:00
Pavel Feldman
cf89a36181
chore: serialize circular objects (#14045) 2022-05-09 18:51:53 -07:00
Pavel Feldman
f0f65fa247 Revert "feat(chromium): roll to r1005 (#13999)"
This reverts commit 56b3bca8db.
2022-05-09 18:28:39 -07:00
Pavel Feldman
e9378ba5fc
chore: hide plugins again (#14038) 2022-05-09 10:06:13 -07:00
github-actions[bot]
56b3bca8db
feat(chromium): roll to r1005 (#13999)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-05-09 15:52:00 +01:00
Pavel Feldman
1bbefce9af
Revert "chore: use plugins for component testing again (#13977)" (#13998)
This reverts commit a2f9f15e3e.
2022-05-06 12:02:07 -07:00
Andrey Lushnikov
b07636d5a7
devops: fix flakiness dashboard (#13997)
These fields are crucial for report processing.
2022-05-06 10:58:15 -07:00
Pavel Feldman
a2f9f15e3e
chore: use plugins for component testing again (#13977) 2022-05-05 14:26:56 -07:00
Pavel Feldman
058f32caff
chore: fixtures-via-plugin implementation (#13950) 2022-05-05 10:14:00 -07:00
Andrey Lushnikov
bfafb2680d
fix: put browserVersion in the browsers.json (#13946)
This patch:
- adds `browserVersion` field to the `browsers.json`. This is
  updated every time we roll browser.
- starts using `browserVersion` to display browser version that's
  been downloaded.

The downloading output now looks like this:

```bash
Downloading Chromium 101.0.4951.41 (playwright build v1003) - 118.9 Mb [====================] 100% 0.0s
Chromium 101.0.4951.41 (playwright build v1003) downloaded to /Users/andreylushnikov/Library/Caches/ms-playwright/chromium-1003
Downloading FFMPEG playwright build v1007 - 1 Mb [====================] 100% 0.0s
FFMPEG playwright build v1007 downloaded to /Users/andreylushnikov/Library/Caches/ms-playwright/ffmpeg-1007
Downloading Firefox 99.0.1 (playwright build v1323) - 67.5 Mb [====================] 100% 0.0s
Firefox 99.0.1 (playwright build v1323) downloaded to /Users/andreylushnikov/Library/Caches/ms-playwright/firefox-1323
Downloading Webkit 15.4 (playwright build v1632) - 52.7 Mb [====================] 100% 0.0s
Webkit 15.4 (playwright build v1632) downloaded to /Users/andreylushnikov/Library/Caches/ms-playwright/webkit-1632
```

Fixes #13198
2022-05-05 04:17:13 -07:00
Ross Wollman
95f7acf1e4
chore: widen Metadata type (#13942) 2022-05-04 13:16:11 -07:00
Andrey Lushnikov
0dd8ab9c6d
devops: more compact commits for the flakiness dashboard (#13912)
- do not collect commit info since we don't use
- do not store CI plugin information
- do not store test timings
2022-05-04 09:43:07 -07:00
Ross Wollman
3b3cad7d69
feat: rewrite gitCommitInfo plugin, drop GlobalInfo & attachments (#13837) 2022-05-02 16:28:14 -07:00
Max Schmitt
2dafbfc2dc
chore(dotnet): do not rely on auto camel case for channel initializers (#13867) 2022-05-02 15:29:35 +01:00
Pavel Feldman
e756528ad2
feat(plugins): expose suite to plugin setup (#13807) 2022-04-28 08:16:17 -07:00
Dmitry Gozman
3aba94dbef
chore: remove unnecessary types from overrides-test (#13794) 2022-04-27 16:14:37 +01:00
Pavel Feldman
bc6f8e1f20
feat(poll): expose custom poll interval (#13776) 2022-04-26 21:32:38 -07:00
Dmitry Gozman
8e5854033a
fix: types generation for attach and GlobalInfo (#13727) 2022-04-25 13:56:37 +01:00
Ross Wollman
3eac9c694c
fix(test-runner): mark attach as async (#13687)
Also brings back generation of experimental types as part of lint.
2022-04-22 09:27:02 -07:00
Pavel Feldman
7989427ea6
chore: bundle core deps (#13621) 2022-04-18 20:20:49 -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