Commit graph

6319 commits

Author SHA1 Message Date
Yury Semikhatsky 1b4adfb916
fix(webkit): deduce response mime type from content-type (#9264) 2021-10-01 13:04:03 -07:00
Yury Semikhatsky 235eaca34a
fix(fetch): use data, form and multipart for different post data (#9248) 2021-10-01 12:11:33 -07:00
Dmitry Gozman f3648a66a3
chore: split ContextRecorder from inspector (#9250) 2021-10-01 12:07:35 -07:00
Nick Partridge b126a5685b
feat: add path option to toMatchSnapshot (#9156) 2021-10-01 09:15:44 -07:00
Sidharth Vinod 3296c21a80
feat(cli): Support trace file URLs (#9030) 2021-10-01 07:08:41 -07:00
Diego Pino 46b5c81f82
browser(webkit): roll to 23/09/21 (#9107) 2021-10-01 16:03:13 +02:00
github-actions[bot] 131e26c65e
feat(chromium): roll to r926934 (#9259)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-01 15:57:19 +02:00
github-actions[bot] 94a9691122
browser(chromium): roll to r926934 (#9255)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-01 12:07:11 +02:00
Max Schmitt 1302e10637
test: fix 'should fulfill with fetch result and overrides' test (#9252) 2021-10-01 09:47:04 +02:00
Max Schmitt e674d873a3
feat(test-runner): add reuse context mode to share a single context between tests (#9115) 2021-10-01 09:16:03 +02:00
Sidharth Vinod 2cf3448b6b
fix(docs): test-runner location column type (#9222) 2021-10-01 08:53:59 +02:00
Dmitry Gozman 5e3ad63b42
fix(test runner): do not write missing snapshot until the last retry (#9246)
This prevents future retries from passing because of the actual
snapshot being written.

In theory, we can avoid running the retry since it should fail anyway.
However, this brings problems, for example in the `describe.serial` mode
where running a test also has some side effects and so it should not be
skipped. Since running a test without a snapshot is rare, it should be
fine to retry it.
2021-09-30 16:44:52 -07:00
Sidharth Vinod fcb7d2b15a
feat(reporters): Add error position to JSON Report (#9151) 2021-09-30 14:18:36 -07:00
Yury Semikhatsky 4e372dccb5
feat(fetch): import/export storageState (#9244) 2021-09-30 14:14:29 -07:00
Max Schmitt a1d0878fa1
fix: allow binary response interception (#9236) 2021-09-30 23:12:33 +02:00
Pavel Feldman a1558d5c70
test(cookies): add a test for SameSite=None cookies (#9242) 2021-09-30 13:56:20 -07:00
Andrey Lushnikov c63348bd03
feat(webkit): roll WebKit to 1550 (#9239) 2021-09-30 10:41:09 -07:00
Max Schmitt ceafa6548d
test: add test for downloading PDF files (#9235) 2021-09-30 17:50:13 +02:00
Max Schmitt 7c89bc162a
fix: leaking route handlers when times is used in Page.route (#9234) 2021-09-30 12:37:05 +02:00
Max Schmitt cf12a1a97e
chore: upgrade commander.js to version 8 (#9230) 2021-09-30 12:24:24 +02:00
Yury Semikhatsky 2d428c8a4e
feat(fetch): store cookies between requests (#9221) 2021-09-29 17:15:32 -07:00
Dmitry Gozman 5633520f45
fix(selenium connect): register in gracefullyCloseAll for driver cleanup (#9218)
Otherwise, killing the driver does not cleanup sessions in the grid.
2021-09-29 14:54:24 -07:00
Pavel Feldman f78302e8dd
fix(toBeHidden): return true to missing elements (#9205) 2021-09-28 17:11:04 -07:00
Max Schmitt 55ddc553a5
chore: fix PlaywrightClient disconnection logic (#9149) 2021-09-29 01:54:10 +02:00
Dmitry Gozman 0a690778e4
fix(expect): beautiful expect stacks (#9204)
We now mark our wrapper as `__PWTRAP__[expect.toHaveText]` and
find it later in the stack trace.

Added trace/inspector tests to ensure this behavior in the future.
2021-09-28 16:02:34 -07:00
Yury Semikhatsky b93718daea
feat(fetch): support ignoreHTTPSErrors option (#9206) 2021-09-28 15:33:36 -07:00
Pavel Feldman 2b055b3092
feat(api): introduce locator.waitFor (#9200) 2021-09-28 13:57:11 -07:00
Yury Semikhatsky 64657c3b65
feat(fetch): send Playwright as default user-agent for global fetch (#9195) 2021-09-28 13:01:35 -07:00
Dmitry Gozman ed9b42a92d
feat(test runner): collect test error from worker teardown (#9190)
When the test fails (usually with timeout), we wait until all hooks are run
and worker scope is teared down before reporting test end result.

This allows us to collect any error details populated by teardown
in addition to the "timed out" message.
2021-09-28 10:56:50 -07:00
Yury Semikhatsky ebe4e41606
test: add tests for Cross-Origin-Opener-Policy navigation (#9184) 2021-09-28 09:56:07 -07:00
Yury Semikhatsky 962547e716
test: get response body for COOP responses (#9196) 2021-09-28 09:54:05 -07:00
Dmitry Gozman 9a94ccaf0f
chore(test runner): remove DonePayload.failedTestId (#9186)
We now track failed tests on the dispatcher side.
This is a preparation for capturing more errors from
afterAll and worker teardown and attributing them to the last test.
2021-09-27 21:38:19 -07:00
Yury Semikhatsky 563652cc1d
browser(webkit): disable COOP support (#9185) 2021-09-27 16:40:46 -07:00
Dmitry Gozman fa536786f2
fix(test runner): proper serial mode with beforeAll/afterAll failures (#9183) 2021-09-27 15:58:26 -07:00
Pavel Feldman 37ff9db7a0
chore: remove browserType.connect from .net - not yet ready (#9182) 2021-09-27 14:45:42 -07:00
Yury Semikhatsky 6be908d959
test: canvas updates are reflected on screenshots (#9180) 2021-09-27 13:45:03 -07:00
Pavel Feldman c4c6efe7c7
chore: dedupe return types in the dotnet api generator (#9181) 2021-09-27 13:25:07 -07:00
Szymon Marczak 44c3b0270e
docs: mention empty string in userDataDir (#9069) 2021-09-27 12:50:35 -07:00
Dmitry Gozman 8dc8777ab4
feat(expect): toContainText(array) (#9160)
This matches when each expected item from the array
is matched to one of the resolved elements, in order.
Note this performs both "sub-array" and "substring" matching.

Drive-by: documentation fixes.
Drive-by: added "selector resolved to 3 elements" log line
when expecting arrays.
2021-09-27 11:14:35 -07:00
Max Schmitt cd22072685
chore: enable object-curly-spacing in ESLint (#9168) 2021-09-27 18:58:08 +02:00
github-actions[bot] 03376ed44b
feat(chromium): roll to r925110 (#9175)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-27 18:26:09 +02:00
Pavel Feldman 241411ad42
chore: render expect in trace viewer (#9141) 2021-09-27 09:19:59 -07:00
Max Schmitt 1a2aa0e2e5 devops: use Node.js 16 when rolling browsers 2021-09-27 15:32:07 +02:00
Kumar Aditya 3394bec364
docs(python): add docs about threading (#8829)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-09-27 12:22:16 +02:00
github-actions[bot] 83910a9469
browser(chromium): roll to r925110 (#9171)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-27 12:06:06 +02:00
Max Schmitt 4573ce0cf8
chore(test-runner): launch -> webServer (#9167) 2021-09-27 11:32:57 +02:00
Dmitry Gozman 0801a8c486
docs: cleanup test.describe.parallel.only doc (#9159) 2021-09-26 21:30:11 -07:00
Dmitry Gozman ee25fefb62
chore: remove FatalDOMError (#9119)
We can now throw stackless errors instead.
Also fixed stackless errors on Firefox.
2021-09-24 20:51:09 -07:00
Dmitry Gozman d22dd4a4e7
feat(test runner): improve fixture typings for function fixtures (#9138)
When fixture value `R` is a function, TypeScript sometimes confuses
function `R` and function `async ({}, use) => {}`. This leads to
`any` types in the latter because it could be either of the functions
as TS thinks.

The solution is to only accept the second syntax, assuming that noone
passes fixture value that is a function as is:

```js
// This will stop working.
test.extend<{ foo: (x: number) => number }>({
  foo: x => 2 * x,
});

// This will get inferred types and autocomplete.
test.extend<{ foo: (x: number) => number }>({
  foo: async ({}, use) => {
    await use(x => 2 * x);
  },
});
```
2021-09-24 19:59:30 -07:00
Dmitry Gozman f4aaebfba0
fix(expect): produce "waiting for selector" log, corner cases (#9140) 2021-09-24 18:55:45 -07:00