Commit Graph

89 Commits

Author SHA1 Message Date
Pavel Feldman
27048adebe
chore: introduce testInfo.testId (#21670) 2023-03-14 15:58:55 -07:00
Pavel Feldman
65117702e7
chore: consistent xterm naming (#21446) 2023-03-06 20:39:52 -08:00
Pavel Feldman
cffb6ac269
chore: move sever/isomorphic to utils/ to use it in client (#21445) 2023-03-06 18:49:14 -08: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
Pavel Feldman
739b64a09a
chore: render typed locators in the recorder (#18162) 2022-10-18 16:39:58 -07:00
Pavel Feldman
7989427ea6
chore: bundle core deps (#13621) 2022-04-18 20:20:49 -07:00
Pavel Feldman
845e32cbb8
chore: use utils via index export (6) (#13417) 2022-04-07 21:48:41 -07:00
Pavel Feldman
1c3db811f5
chore: move to folder-based deps lists (#13361) 2022-04-06 14:40:19 -07:00
Pavel Feldman
8758cf8cbf
chore: migrate html reporter to vite (#13116) 2022-03-28 18:21:19 -07:00
Pavel Feldman
6b81e76c2b
chore: migrate trace-viewer and recorder to vite (#13076) 2022-03-25 14:12:00 -07:00
Pavel Feldman
07c1a27732
chore(deps): prepare deps for monorepo (#13057) 2022-03-25 08:43:29 -07:00
Pavel Feldman
1215057ca1
chore: use ipc transport for out-of-process driver (#11826) 2022-02-02 21:26:45 -08:00
Max Schmitt
028afb167b
chore: bump production dependencies (#11787) 2022-02-01 21:27:34 +01:00
Yury Semikhatsky
ab9d5a0dc4
chore(tracing): add tracing to APIRequestContext (#11502) 2022-01-22 11:25:13 -08:00
Pavel Feldman
a82a3f1128
chore: move html report to package (#10898) 2021-12-13 16:38:26 -08:00
Yury Semikhatsky
976af162b0
feat(tracing): pack sources to trace on the driver side (#10815) 2021-12-09 17:21:17 -08:00
Pavel Feldman
b9731a904e
chore: add validations into check_deps (#10661) 2021-12-01 18:14:13 -08:00
Pavel Feldman
e31b96cc26
feat(tracing): make context.request appear in the trace (#9555) 2021-10-15 15:22:49 -07:00
Pavel Feldman
c0945d9d00
chore(trace): make trace viewer a pwa (#9438) 2021-10-12 14:42:50 -07:00
Pavel Feldman
9dfc0a3394
chore: make sw global in trace viewer (#9431) 2021-10-11 20:52:28 -07:00
Joel Einbinder
c89d5a50dd
chore: migrate to monorepo (#9421) 2021-10-11 16:52:17 +02:00
Michael Rienstra
09250fd265
chore: bump 'expect' dev dep from v26 to v27 (#8718)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-10-08 17:01:31 +02:00
Dmitry Gozman
edf07949be
test: use separate Playwright instance to automate inspector (#9270)
This will prevent inspector from picking up test actions.
2021-10-01 17:06:13 -07:00
Pavel Feldman
0908dc98c8
chore: migrate expect(locator).toMatchText to protocol (#9117) 2021-09-23 16:46:46 -07:00
Andrey Lushnikov
4f762ba90a
feat: introduce experimental general-purpose grid (#8941)
This patch adds a general-purpose grid framework to parallelize
Playwright across multiple agents.

This patch adds two CLI commands to manage grid:

- `npx playwright experimental-grid-server` - to launch grid
- `npx playwrigth experimental-grid-agent` - to launch agent in a host
  environment.

Grid server accepts an `--agent-factory` argument. A simple
`factory.js` might look like this:

```js
const child_process = require('child_process');

module.exports = {
  name: 'My Simple Factory',
  capacity: Infinity, // How many workers launch per agent
  timeout: 10_000, // 10 seconds timeout to create agent
  launch: ({agentId, gridURL, playwrightVersion}) => child_process.spawn(`npx`, [
    'playwright'
    'experimental-grid-agent',
    '--grid-url', gridURL,
    '--agent-id', agentId,
  ], {
    cwd: __dirname,
    shell: true,
    stdio: 'inherit',
  }),
};
```

With this `factory.js`, grid server could be launched like this:

```bash
npx playwright experimental-grid-server --factory=./factory.js
```

Once launched, it could be used with Playwright Test using env variable:

```bash
PW_GRID=http://localhost:3000 npx playwright test
```
2021-09-16 01:20:36 -07:00
Pavel Feldman
16baaa317d
chore: remove stale html experiments (#8905) 2021-09-13 20:34:46 -07:00
Pavel Feldman
7bbb63d143
feat(test): start authoring raw reporter (#8790) 2021-09-09 14:17:18 -07:00
Max Schmitt
5f6ec04cfe
fix(test-runner): add jest-matcher-utils to dependencies (#8501) 2021-09-02 19:56:30 +02:00
Pavel Feldman
a8d404cd29
feat(test-runner): basic html reporter (#7994) 2021-08-05 13:36:47 -07:00
Max Schmitt
08da9d207e
chore: move processLauncher into src/utils (#7504) 2021-07-07 21:14:16 +02:00
Max Schmitt
98bcf26656
feat(test-runner): add webServer (#7368) 2021-07-07 20:19:42 +02: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
Pavel Feldman
f52a53e21e
feat(trace-viewer): add nicer params rendering (#7448) 2021-07-02 16:45:09 -07:00
Pavel Feldman
99d7d196c5
feat(trace-viewer): render call info w/ params, result (#7438) 2021-07-02 14:33:38 -07:00
Pavel Feldman
8fb0454488
fix(trace-viewer): fall back to stable channels (#7429) 2021-07-01 15:26:55 -07:00
Joel Einbinder
1a6d46d844
chore(typescript): compile with babel, lint everything with tsc (#6872) 2021-06-23 18:01:48 -07:00
Pavel Feldman
9550106e1d
fix(test-runner): video: 'retain-on-failure' leaves empty folders behind (#7125) 2021-06-15 10:06:49 -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
Pavel Feldman
7b844c5fab
chore(tracing): simplify resource treatment (#6571) 2021-05-13 20:41:32 -07:00
Pavel Feldman
922d9ce1fb
chore(tracing): fix some of the start/stop scenarios (#6337) 2021-04-27 11:07:07 -07:00
Pavel Feldman
97cf86d20a
chore: make instrumentation per-context (#6302) 2021-04-23 18:34:52 -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
Pavel Feldman
1a94ea5f6c
chore: refactor trace viewer to reuse snapshot storage (#5756) 2021-03-08 19:49:57 -08:00
Pavel Feldman
992f808210
chore(snapshot): implement in-memory snapshot (#5624) 2021-02-25 13:09:26 -08:00
Pavel Feldman
2ff6d54f26
chore: extract snapshotter from trace viewer (#5618) 2021-02-25 09:33:32 -08:00
Pavel Feldman
6bf3fe8432
chore: make trace model a class (#5600) 2021-02-24 14:22:34 -08:00
Pavel Feldman
f71bf9a42a
chore: move trace viewer into server (#5597) 2021-02-24 13:39:51 -08:00
Pavel Feldman
48c237b3cf
chore: move trace to server (#5565) 2021-02-23 22:08:14 -08:00
Pavel Feldman
b2227c1bcf
feat(inspector): allow selecting file (#5483) 2021-02-17 14:05:41 -08:00