65 Commits

Author SHA1 Message Date
Pavel Feldman
44887c237d
chore: reimplement socks to be readable (#8315) 2021-08-19 15:16:46 -07:00
Dmitry Gozman
8d81890e47
feat(codegen): support --save-trace option (#8267) 2021-08-18 07:27:45 -07:00
Andrey Lushnikov
51fb19561c
devops: support npx playwright install --with-deps command (#7194)
The common pattern today is to have two commands to configure CI:

```sh
npx playwright install-deps chromium
npx playwright install chromium
```

With this patch, this becomes:

```sh
npx playwright install --with-deps chromium
```

Note: `--with-deps` might call `sudo`.
2021-08-07 03:53:33 -07:00
Jan Sepke
600d82b17c
fix(cli): fix typo in help text (#7903)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-07-29 11:23:50 +02:00
Max Schmitt
2ff25522cc
test: rework port forwarding server tests to launch server out of process (#7693) 2021-07-19 07:53:12 +02:00
divdavem
87b0cc530c
feat(cli): add --ignore-https-errors option (#7671) 2021-07-16 07:33:20 -07:00
Dmitry Gozman
0742cb9076
chore: move working with browser channels to Registry Executables (#7581) 2021-07-13 19:03:49 -07:00
Dmitry Gozman
57c5e4d8cf
chore: replace Registry api with Executable list (#7544) 2021-07-13 15:57:40 -07:00
Dmitry Gozman
65606c093a
chore: simplify Registry api (#7451) 2021-07-09 16:10:23 -07:00
Dmitry Gozman
47885db116
chore: move install to Registry (#7433)
This is an effort to consolidate all handling of browser binaries in a single place.
2021-07-06 20:59:16 -07:00
Andrey Lushnikov
ec8d0629f3
feat: support msedge-beta channel (#7442)
Fixes #7232
2021-07-02 12:55:46 -07:00
Dmitry Gozman
040d81052a
fix(cli): do not suggest internal tools in install command (#7437) 2021-07-02 11:22:26 -07:00
Dmitry Gozman
4c7343fe96
chore: move installDeps to Registry (#7431)
This is an effort to consolidate all handling of browser binaries in a single place.
2021-07-01 17:14:04 -07:00
Pavel Feldman
e9246089d5
test(trace-viewer): start adding tests (#7393) 2021-06-29 22:35:50 -07:00
Dmitry Gozman
1660334357
feat(install): docs and help (#7365)
Drive-by: remove test-intro and references to it.
2021-06-28 18:50:24 -07:00
Max Schmitt
5bf69b667e
fix(test-runner): allow additional params when pw-test is not installed (#7200) 2021-06-17 13:40:49 -07:00
Pavel Feldman
3b1bae8a40
feat(codegen): allow generating tests (#7049) 2021-06-10 16:52:59 -07:00
Joel Einbinder
6788b9cf8c
fix(@playwright/test): plumbing (#6992)
`npx playwright test` should find and forward to the @playwright/test package.
2021-06-09 11:18:32 -07:00
Andrey Lushnikov
cfd49b5c01
feat: support npx playwright install msedge (#6861) 2021-06-07 00:23:22 -07:00
Dmitry Gozman
f745bf1fbc
chore: bring in folio source (#6923)
- Source now lives at `src/test`.
- Former folio tests live at `tests/playwright-test`.
- We use `src/test/internal.ts` that exposes base test without
  Playwright fixtures for most tests (to avoid modifications for now).
- Test types live in `types/testFoo.d.ts`.
- Stable test runner is installed to `tests/config/test-runner` during `npm install`.
- All deps including test-only are now listed in `package.json`.
  Non-test deps must also be listed in `build_package.js` to get included.
2021-06-06 17:09:53 -07:00
Dmitry Gozman
3de3a88930
feat(test): introduce npx playwright test (#6816) 2021-06-03 08:07:55 -07:00
Andrey Lushnikov
919d258356
feat: support npx playwright install chrome (#6835)
This will install latest-and-greatest chrome stable.
2021-06-01 23:16:55 -07:00
Andrey Lushnikov
cb4adb1446
feat: install chrome-beta via cli (#6831)
This patch starts introduces `npx playwright install chrome-beta`
command and switches our Chrome Beta tests to it.
2021-06-01 18:26:12 -07:00
Anže Vodovnik
01d8f87923
chore(CLI): let other langs specify exec name (#6719) 2021-05-25 16:49:24 +02:00
Dmitry Gozman
af2fec6bcf
fix(codegen): generate all options for java (#6698) 2021-05-21 16:17:25 -07:00
Dmitry Gozman
f529f0a25d
fix(codegen): generate acceptDownloads option for download signals (#6697) 2021-05-21 15:08:39 -07:00
Pavel Feldman
17e9dd95f7
feat(trace): support loading trace from zip (#6551) 2021-05-12 21:31:34 -07:00
Pavel Feldman
1a39843df5
docs: follow up on adding trace dir, unify launch options (#6545) 2021-05-12 16:16:36 -07:00
Pavel Feldman
21cb726b7d
chore(tracing): expose tracing api (#6523) 2021-05-12 12:21:54 -07:00
Yury Semikhatsky
460cc31941
fix: propagate custom executable path to codegen (#6509) 2021-05-12 11:45:57 -07:00
Pavel Feldman
a9219aa8b6
chore: start / stop context tracing (#6309) 2021-04-23 20:39:09 -07:00
Andrey Lushnikov
23dfaf9e9b
feat: start downloading firefox-stable channel (#6177)
This patch adds support for downloading and running Playwright with
firefox-stable channel.

References #5993
2021-04-19 21:26:33 -07:00
Dmitry Gozman
fff1f3d45c
chore: simplify remote connection protocol (#6164)
This changes the root object from RemoteBrowser to Playwright,
similar to local driver connection. This way, any remote connection
gets a Playwright object.

This also starts reusing PlaywrightServer class, and introduces
`cli run-server` hidden command that runs ws server on the
specified port.

Previous structure:
```
RemoteBrowser
  - browser (using ConnectedBrowser for remote-specific behavior)
  - selectors (special instance for this remote connection)
```

New structure:
```
Playwright
  - ...
  - selectors (special instance for this remote connection)
  - preLaunchedBrowser (using ConnectedBrowser for remote-specific behavior)
```
2021-04-12 11:14:54 -07:00
Dmitry Gozman
bd8433ba49
test: cleanup various testing env variables (#6155) 2021-04-09 07:59:09 -07:00
Andrey Lushnikov
f472c96129
feat: support webkit technology preview (#5885)
This patch adds support for `technology preview` webkit channel, which
we will keep close to the actual Safari Technology Preview releases.

This channel does not install by default. It is supposed to be installed
with the following CLI command:

```sh
$ npx playwright install webkit-technology-preview
```

Once the channel is installed, it can be used the following way:

```js
const browser = await playwright.webkit.launch({
  channel: 'technology-preview',
});
```

**NOTE:** if clients attempt using the channel without installing it,
it'll throw an error with a copyable instructions to install via CLI.

References #5884
2021-03-31 11:32:10 -07:00
Pavel Feldman
543582b4ca
chore: expose channel name literals for types (#5922) 2021-03-23 13:21:03 -07:00
Yury Semikhatsky
67c29e8155
chore: add missing await to floating promises (#5813) 2021-03-22 09:59:39 -07:00
Pavel Feldman
1dd6bd3316
infra(channel): wire release channel to all tests (#5820) 2021-03-15 08:07:57 -07:00
Pavel Feldman
a96d6a7dbb
feat: allow to pick stable channel (#5817) 2021-03-13 14:02:39 -08:00
Pavel Feldman
c4578f19f2
chore: organize per-browser dependencies (#5787) 2021-03-11 20:22:50 -08:00
Yury Semikhatsky
ddfdf8a76a
fix: install chromium along with ffmpeg (#5774) 2021-03-10 14:01:35 -08:00
Pavel Feldman
fea6669473
feat(trace): highlight action target (#5776) 2021-03-10 11:43:26 -08:00
Yury Semikhatsky
26b7db964c
feat(cli): launch-server command (#5713) 2021-03-04 10:32:06 -08:00
Pavel Feldman
a9238ce2e1
feat(debug): introduce npx playwright debug (#5679) 2021-03-03 22:25:14 -08:00
Pavel Feldman
f71bf9a42a
chore: move trace viewer into server (#5597) 2021-02-24 13:39:51 -08:00
Pavel Feldman
0c7da44465
test(inspector): add some tests (#5461) 2021-02-15 08:32:13 -08:00
Pavel Feldman
449adfd3ae
chore(recorder): move recording output into the gui app (#5425) 2021-02-11 17:46:54 -08:00
Joel Einbinder
d8f637c239
chore(typescript): enable esModuleInterop (#5409) 2021-02-11 06:36:15 -08:00
Pavel Feldman
dd9b51d68b
chore: friendlier install failure message (#5281) 2021-02-04 06:23:47 -08:00
Pavel Feldman
34adc28ed3
feat(pause): make page.pause public (#5288) 2021-02-03 16:01:51 -08:00