Joel Einbinder
40ae28e3bb
feat(test runner): add some fixture debugging ( #8918 )
2021-09-23 11:56:39 -04:00
Joel Einbinder
219d00d17b
chore(typescript): bump typescript to v4.4.3 ( #9087 )
2021-09-23 11:55:44 -04:00
Pavel Feldman
e03db79682
fix(firefox): use global eval in injected script ( #9101 )
2021-09-22 21:49:14 -07:00
Dmitry Gozman
2afe76d86d
feat(launch): connect to process.env.SELENIUM_REMOTE_URL instead of local launch ( #9056 )
2021-09-22 21:13:32 -07:00
Pavel Feldman
de4aa50d55
chore: simplify dom tasks ( #9089 )
2021-09-22 17:17:49 -07:00
Dmitry Gozman
568ec05a97
fix(junit): produce a single system-out entry ( #9091 )
...
Instead of multiple `system-out` entries we produce a single one
with concatenated content. This is compatible with various junit xml
parsers in the wild.
2021-09-22 15:28:57 -07:00
Dmitry Gozman
f0d23b5d4d
fix(css selector): absolutize relative CSS selectors ( #9088 )
...
Selectors like `> div` are replaced by `:scope > div`,
which is useful for combining them with parent selectors.
This is a part of CSS Level 4 spec.
2021-09-22 14:13:00 -07:00
Yury Semikhatsky
79eb7744bc
feat(fetch): support options in playwright._newRequest ( #9061 )
2021-09-22 12:44:22 -07:00
Joel Einbinder
c673ef5330
chore(registry): refactor logic of what browsers to download to top level ( #9078 )
2021-09-22 11:43:13 -07:00
Dmitry Gozman
e85a3a5a41
fix(page.content): throw a nice error when navigation intervenes ( #9080 )
2021-09-22 10:40:15 -07:00
Max Schmitt
449a593050
fix(fetch): be compatible with a 0 timeout ( #9071 )
2021-09-22 10:30:56 -07:00
Max Schmitt
d354d14fb9
chore: move Frame.waitForTimeout to the server side ( #9053 )
2021-09-21 22:06:14 +02:00
Max Schmitt
f9c5279c3a
fix(test-runner): toHaveURL respect baseURL ( #9050 )
2021-09-21 21:41:24 +02:00
Yury Semikhatsky
9b0e0c2273
fix: restore support for slowmo connect option ( #9038 )
2021-09-21 09:12:44 -07:00
Dmitry Gozman
5200134749
chore: improve http request utilities ( #9031 )
2021-09-20 13:50:26 -07:00
github-actions[bot]
e5b8c02c93
feat(chromium): roll to r922811 ( #9024 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-20 15:32:32 +02:00
github-actions[bot]
d61148c39a
feat(webkit): roll to r1548 ( #8996 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-18 07:50:42 +02:00
Dmitry Gozman
b575c0e2e6
fix(actions): do not throw evaluate protocol errors from actions ( #8997 )
...
When using `evaluate` or `evaluateHandle` internally during actions
like `click`, we can sometimes get protocol errors if page
navigates. In this case, we throw the protocol error right away.
Instead, we can treat such a protocol error similar to "detached"
error and retry in the new execution context.
2021-09-17 22:18:00 -07:00
Yury Semikhatsky
cc15227327
fix: do not dedup header values ( #8998 )
2021-09-17 17:19:13 -07:00
Pavel Feldman
63ff405e6e
fix(inspector): stop on all snapshottable actions ( #8990 )
2021-09-17 15:24:15 -07:00
Yury Semikhatsky
e359e95fcc
chore(fetch): fix typo ( #8991 )
2021-09-17 12:43:00 -07: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
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
Joel Einbinder
eafba43e15
fix(snapshot): render adoptedStyleSheets used in more than one node ( #8886 )
...
.
2021-09-16 09:37:38 -04: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
Yury Semikhatsky
2380b07f30
feat(fetch): introduce FetchRequest.dispose, fulfill with global fetch ( #8945 )
2021-09-15 14:02:55 -07: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
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
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
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
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
Will 保哥
db1c8b2693
fix(codegen): NUnit's Equal API should be Assert.AreEqual ( #8859 )
2021-09-13 21:19:21 -07:00
Yury Semikhatsky
1b66581e34
fix(fetch): do clear responses when context closes ( #8902 )
2021-09-13 21:15:23 -07:00
Pavel Feldman
16baaa317d
chore: remove stale html experiments ( #8905 )
2021-09-13 20:34:46 -07:00
Pavel Feldman
1925c85dfb
feat(report): render attachment as a part of failure ( #8903 )
2021-09-13 18:07:40 -07:00
Pavel Feldman
b76e993951
chore: remove log from htmlreport ( #8898 )
2021-09-13 18:07:15 -07:00
Dmitry Gozman
d9d2d809a2
fix(test): make use in config accept option values only ( #8828 )
...
Also include default options in FullConfig/FullProject.
Also make examples compile and add a test.
2021-09-13 17:50:31 -07:00
Dmitry Gozman
ed34a67d4a
fix(junit reporter): put stdio under testcase ( #8900 )
...
When output happened during test execution, it should be
under `<testcase><system-out>...</system-out></testcase>`.
2021-09-13 17:50:08 -07:00
Pavel Feldman
478a7bcc90
fix(recorder): check that glass pane is in the current document ( #8891 )
2021-09-13 16:17:34 -07:00
Yury Semikhatsky
b79be5d98d
feat(fetch): introduce failOnStatusCode ( #8896 )
2021-09-13 15:38:27 -07:00
Pavel Feldman
bb33b8923e
feat(report): add show-report option ( #8895 )
2021-09-13 15:19:40 -07:00
Yury Semikhatsky
f8c0f0d637
feat(fetch): support query params ( #8893 )
2021-09-13 14:29:44 -07:00
Pavel Feldman
64f9c3ba1d
feat(api): move fetch api into the namespace ( #8871 )
2021-09-13 12:43:07 -07:00
Joel Einbinder
bf35da3656
fix(test-runner): accept unix separators even on windows ( #8881 )
...
.
2021-09-13 12:09:38 -04:00
github-actions[bot]
ec2cbad76f
feat(chromium): roll to r920619 ( #8879 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-13 16:09:14 +02:00
Ross Wollman
549411dc33
feat(har): add _requestref ( #8847 )
2021-09-11 17:25:00 -07:00
Pavel Feldman
798d0bfa9b
chore: fix headers api again ( #8854 )
2021-09-11 13:27:00 -07:00
Yury Semikhatsky
b6180055df
feat(fetch): make fetch api public ( #8853 )
2021-09-10 18:36:55 -07:00
Max Schmitt
cfe7c1a7e3
fix(sizes): responseBodySize on CR & WK macOS ( #8846 )
2021-09-10 23:19:34 +02:00
Yury Semikhatsky
ebdad167f2
feat(fetch): support new headers api ( #8843 )
2021-09-10 14:03:56 -07:00
github-actions[bot]
b1b801a3a7
feat(firefox): roll to r1295 ( #8842 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-10 21:45:20 +02:00
github-actions[bot]
6096c9e4ab
feat(firefox): roll to r1294 ( #8785 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-09-10 19:31:45 +02:00
Pavel Feldman
ccff6e3036
chore(html): render steps and errors ( #8826 )
2021-09-10 07:52:29 -07:00
github-actions[bot]
09afd50ab3
feat(chromium): roll to r920003 ( #8833 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-10 15:34:50 +02:00
Dmitry Gozman
bcb0c1745b
fix(waitForEventInfo): reply from the server side ( #8825 )
...
Otherwise, client thinks that `waitForEventInfo` is a pending operation.
2021-09-09 21:20:26 -07:00
Pavel Feldman
665143d629
chore(report): don't generate file per test ( #8822 )
2021-09-09 17:35:31 -07:00
Dmitry Gozman
e85fba1c7d
fix(check): allow checking/unchecking role=radio elements ( #8821 )
...
We already do this for `role=checkbox` but not for radio.
2021-09-09 16:01:21 -07:00
Pavel Feldman
7bbb63d143
feat(test): start authoring raw reporter ( #8790 )
2021-09-09 14:17:18 -07:00
Andrey Lushnikov
c5ce263de7
fix: make sure page.goto navigates away from pages with beforeunload ( #8770 )
...
As of today, we can't navigate away from a page with beforeunload unless
we have an explicit `beforeunload` handler.
This patch updates our dialog auto-closing logic so that it auto-accepts
all beforeunload dialogs.
Fixes #8144
2021-09-09 13:19:50 -07:00
Dmitry Gozman
eca82eee4a
fix(video): reduce buffering in ffmpeg, avoid overbooking cpu ( #8786 )
...
This is an attempt to improve video performance when encoding
does not keep up with frames. This situation can be reproduced
by running multiple encoders at the same time.
Added `utils/video_stress.js` to manually reproduce this issue.
Observing ffmpeg logs, it does not do any encoding initially and
instead does "input analysis / probing" that detects fps and other
parameters. By the time it starts encoding (launches vpx and creates
the video file), we already have many frames in the buffer.
Reducing probing helps:
`-avioflags direct -fpsprobesize 0 -probesize 32 -analyzeduration 0`
Another issue observed is questionable default `-threads` value.
We compile without threads support, so logs say "using emulated threads".
For some reason, setting explicit `-threads 1` (or any other value)
makes it better when cpu is loaded.
2021-09-09 12:41:06 -07:00
houmingjie
fb1b887135
chore: fix wrong assert message in rewriteCookies ( #8797 )
2021-09-09 11:22:02 +02:00
github-actions[bot]
cfeadcdd52
feat(chromium): roll to r918973 ( #8783 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-09 11:17:06 +02:00
Yury Semikhatsky
81ae790288
feat(fetch): support ignoreHTTPSErrors ( #8795 )
2021-09-08 20:32:52 -07:00
Yury Semikhatsky
5550f58284
feat(fetch): fetch with request parameter ( #8793 )
2021-09-08 16:31:58 -07:00
Yury Semikhatsky
b11b274b0d
feat(fetch): fulfill without passing fetch response body client<->server ( #8789 )
2021-09-08 14:59:12 -07:00
Pavel Feldman
5a305a9c2e
fix(recorder): move recorder scripts into the main world ( #8761 )
2021-09-08 14:27:05 -07:00
Dmitry Gozman
41088029f4
fix(html reporter): show fetch error message and use no-cache ( #8788 )
2021-09-08 14:21:11 -07:00
Yury Semikhatsky
b4ca77be23
feat(fetch): get body lazily ( #8784 )
2021-09-08 13:40:07 -07:00
Yury Semikhatsky
77b3b0965a
feat(fetch): timeout option and default timeout ( #8762 )
2021-09-08 10:01:40 -07:00
Andrey Lushnikov
32ea4f542b
fix: a human-readable error when lock cannot be acquired ( #8768 )
...
Fixes #8709
2021-09-08 06:03:16 -07:00
Max Schmitt
25b5927a4d
docs: sizes enhancements ( #8771 )
2021-09-08 14:09:11 +02:00
github-actions[bot]
ffb5ddbcde
feat(webkit): roll to r1541 ( #8764 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-08 13:26:13 +02:00
Yury Semikhatsky
6263361284
feat(fetch): browser proxy credentials ( #8760 )
2021-09-07 17:42:31 -07:00
Yury Semikhatsky
afe92a6fcf
fix(runner): avoid line wrapping in list reporter ( #8705 )
2021-09-07 17:42:17 -07:00
Dmitry Gozman
bcbb792cf3
fix(tracing): retain script resources, but no body ( #8758 )
2021-09-07 15:23:13 -07:00
Dmitry Gozman
b30772c67e
fix(tracing): collect apiName for mouse/keyboard/touchscreen ( #8755 )
2021-09-07 13:48:30 -07:00
Daniel Dyssegaard Kallick
b2c59a15dd
feat(test-runner): include test step in json report ( #8476 )
2021-09-07 13:35:30 -07:00
Dmitry Gozman
3739113e74
fix(test runner): allow dot-files and dot-directories with tests ( #8751 )
2021-09-07 10:32:47 -07:00
Joel Einbinder
e914f6bbc7
feat(network): remove Headers class and add headersArray method ( #8749 )
2021-09-07 10:27:53 -07:00
Max Schmitt
4f4bc72828
chore: add more tests for Request.sizes() ( #8686 )
2021-09-07 19:19:12 +02:00
Max Schmitt
e1c2d67359
fix(cli): allow unknown parameters in debug command ( #8732 )
2021-09-07 18:35:01 +02:00
Max Schmitt
e40b805782
feat(test-runner): support baseURL in toHaveURL ( #8743 )
2021-09-07 18:34:02 +02:00
Kai Hao
a1f26976b0
fix(locators): not waiting until handle is disposed ( #8735 )
2021-09-07 11:16:43 +02:00