Commit Graph

5768 Commits

Author SHA1 Message Date
Nav-2d
e7a7a0cfc1
docs(test-configuration): Add actionTimeout to configuration (#8994) 2021-09-17 15:11:48 -07:00
Yury Semikhatsky
e359e95fcc
chore(fetch): fix typo (#8991) 2021-09-17 12:43:00 -07:00
Diego Pino
2408a5dfb9
browser(webkit): Follow-up #8980 (#8993)
Bring back snippet of code that was removed in #8802
2021-09-17 20:10:14 +02:00
Yury Semikhatsky
43a690c204
feat(fetch): set content-length header if post data is present (#8979) 2021-09-17 09:00:18 -07:00
github-actions[bot]
8dd0387641
feat(chromium): roll to r922354 (#8987)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-17 16:14:41 +02:00
Joel Einbinder
cd88119313
browser(webkit): Page.overridePlatform (#8443)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-09-17 13:52:22 +02:00
Max Schmitt
b5f6952f23
docs(core-concepts): mention newPage in browser context section (#8984) 2021-09-17 13:33:55 +02:00
github-actions[bot]
d13b7703a7
browser(chromium): roll to r922354 (#8985)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-17 12:07:01 +02:00
Max Schmitt
6eee71a09b
docs: add GHA config for the deployment API (#8983) 2021-09-17 11:22:14 +02:00
Timm Krause
4cdc6f20c3
docs: fix "brower" typo in multi-pages doc 2021-09-17 10:36:51 +02:00
Yury Semikhatsky
d3c71cc207
docs: clarify waitForURL(string) behavior (#8952) 2021-09-17 10:34:49 +02:00
Diego Pino
44b4c2f792
browser(webkit): Reenable OS_DARK_MODE_SUPPORT (#8980) 2021-09-17 10:15:14 +02:00
Yury Semikhatsky
806a71a4f0
feat(fetch): support form data and json encodings (#8975) 2021-09-16 17:48:43 -07:00
Dmitry Gozman
43213614a1
fix(test runner): after hooks step should not be nested (#8969) 2021-09-16 15:51:27 -07:00
Pavel Feldman
bca283837c
browser(webkit): compute raw header size in soup (#8977) 2021-09-16 14:17:50 -07:00
Joel Einbinder
eafba43e15
fix(snapshot): render adoptedStyleSheets used in more than one node (#8886)
.
2021-09-16 09:37:38 -04:00
Max Schmitt
abc989eb3e
chore: use Node.js 14 (LTS) for driver (#8965) 2021-09-16 15:14:11 +02:00
Max Schmitt
5689d9bc24
chore: cut v1.15.0 release (#8964) 2021-09-16 14:59:55 +02:00
Andrey Lushnikov
1b49eec96c
devops: enable manual publishing of canary docker (#8959) 2021-09-16 02:02:19 -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
Dmitry Gozman
5379b2dcba
fix(test runner): account for errors with inconsistent stack/message (#8950) 2021-09-15 21:28:36 -07:00
Dmitry Gozman
9b08871b4d
fix(test runner): print flaky tests summary in yellow, not in red (#8951) 2021-09-15 16:28:57 -07:00
Dmitry Gozman
545d793956
docs: an overview of reporter methods (#8948) 2021-09-15 15:29:06 -07:00
Yury Semikhatsky
2380b07f30
feat(fetch): introduce FetchRequest.dispose, fulfill with global fetch (#8945) 2021-09-15 14:02:55 -07:00
Max Schmitt
f68ae4a2e0
chore(create-playwright): enhance UX follow-ups and add more verbose Playwright Test config (#8942) 2021-09-15 22:07:50 +02:00
Darrell Breeden
d82cb9a2ff
feat: addition of tags to JSON reporter output (#8920) 2021-09-15 12:30:22 -07:00
Pavel Feldman
fc972fcadd
fix: center image diff (#8947) 2021-09-15 12:26:00 -07:00
Max Schmitt
131239569d
feat(test-runner): add --debug CLI flag (#8938) 2021-09-15 21:19:31 +02:00
Max Schmitt
96355b3a7a
chore: hide npx playwright debug command (#8946) 2021-09-15 21:19:16 +02:00
Pavel Feldman
14bc663742
chrome: don't nest pw:api steps (#8932) 2021-09-15 11:34:23 -07:00
Dmitry Gozman
2ec82b9a5c
fix(oopifs): ignore events from stale frames (#8926)
This is a speculative fix for the following scenario:
- Main frame A creates a child frame B.
- B navigates cross-origin and forces an oopif.
- Target.attachedToTarget for B arrives.
- B loads and creates execution contexts.
- Process with A creates an execution context in the
  (still local) frame B (e.g. with document.write?)
- Process with A sends executionContextCreated and
  overwrites the execution context that came from B.
- Process with A finally sends frameDetached for B,
  and we ignore it since we already have the B target.
This sequence results in a stale execution context
from process A that is actually not present in B.

Overall, events coming from process A for the frame
that has already moved to an oopif B should be ignored.
Seems totally safe! This is also pure specultation
from analyzing protocol logs, no easy repro found.
2021-09-15 10:26:02 -07:00
Joel Einbinder
04fa5e6b2d
chore: remove unused .idea folder (#8844) 2021-09-15 11:42:31 -04:00
Joel Einbinder
70a3aab486
fix(httpServer): speed up closing by destroying active sockets (#8919) 2021-09-15 11:40:54 -04:00
Diego Pino
a2ede38551
browser(webkit): roll to 15/09/21 (#8935) 2021-09-15 08:34:00 -07:00
github-actions[bot]
b69818d9f4
feat(webkit): roll to r1542 (#8791)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-15 09:51:32 +02:00
Nav-2d
476a3c59a3
docs(test-reporters): fix allure result path (#8930) 2021-09-14 20:56:28 -07:00
Dmitry Gozman
b8a46580dd
fix(expect): toHaveText, toContainText and toHaveTitle normalize whitespace (#8929) 2021-09-14 19:24:29 -07:00
Yury Semikhatsky
c58f34fb2e
feat(fetch): introduce global fetch request (#8927) 2021-09-14 18:31:35 -07:00
Pavel Feldman
5253a7eb54
feat(html): restore trace, video, screenshot (#8925) 2021-09-14 16:26:31 -07:00
Max Schmitt
e641bf2bed chore: hide Route.fulfill.response from != JS 2021-09-14 23:31:46 +02:00
Pavel Feldman
e91243ac90
feat(html): auto-open report (#8908) 2021-09-14 13:55:31 -07:00
Yury Semikhatsky
5141407c6b
fix(fetch): prefix request with underscore (#8922) 2021-09-14 12:56:09 -07:00
Yury Semikhatsky
bdea9c74c4
fix(connect): report all frames in existing page to the client (#8910) 2021-09-14 12:44:49 -07:00
Mark Skelton
5f704edc6c
Update testExpect.d.ts (#8923) 2021-09-14 12:40:17 -07:00
Joel Einbinder
afae5bef5d
feat(mouse): page.mouse.wheel (#8690) 2021-09-14 15:22:52 -04:00
Joel Einbinder
351c20be48
chore(expect): remove some dependencies on jest internals (#8782) 2021-09-14 11:47:06 -04:00
Max Schmitt
6a3d2b9fb9
fix(install-deps): make it work without sudo (#8914) 2021-09-14 14:09:37 +02:00
Max Schmitt
299a55c562
chore(create-playwright): UX follow-ups (#8897) 2021-09-14 13:14:43 +02:00
browse
95e1cfa0c1
docs(python): fix incorrect syntax in CDP snippet (#8909) 2021-09-14 11:18:28 +02:00
Will 保哥
db1c8b2693
fix(codegen): NUnit's Equal API should be Assert.AreEqual (#8859) 2021-09-13 21:19:21 -07:00