Yury Semikhatsky
e5e461c0de
fix: use logger from config if specified ( #8697 )
2021-09-03 14:21:25 -07:00
Dmitry Gozman
5d278db17b
fix(snapshot): remove CSP meta from snapshot ( #8698 )
2021-09-03 13:44:02 -07:00
Dmitry Gozman
e2b092c1a0
feat(html reporter): show log for pw:api and expect steps ( #8692 )
2021-09-03 13:08:17 -07:00
Max Schmitt
e7d4d61442
feat: add forced-colors media query emulation ( #6903 )
2021-09-03 21:48:06 +02:00
github-actions[bot]
97717f25d2
feat(chromium): roll to r917400 ( #8685 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-03 14:47:43 +02:00
Pavel Feldman
5ac11a7760
fix(headers): fix webkit win headers tests ( #8675 )
2021-09-02 22:05:22 -07:00
Pavel Feldman
0d5b41ce7b
feat(headers): add Headers.headers that would mimic the behavior of the deprecated getters ( #8665 )
2021-09-02 20:48:23 -07:00
Dmitry Gozman
620712a5d9
feat(expect): support array of RegExp objects in toHaveText/toHaveClass ( #8667 )
2021-09-02 15:48:04 -07:00
Dmitry Gozman
e691b649de
feat(test runner): describe.parallel ( #8662 )
2021-09-02 15:42:07 -07:00
Pavel Feldman
94170dacbd
chore: rename rawHeaders to allHeaders ( #8659 )
2021-09-02 11:46:52 -07:00
Yury Semikhatsky
f9312061bf
fix(firefox): use startTime of the same response when computing responseEndTime ( #8642 )
2021-09-02 10:59:07 -07:00
Pavel Feldman
54bda2c8dd
fix(size): fix some of the request.size() problems ( #8645 )
2021-09-02 10:39:57 -07:00
Fokke Zandbergen
0ae38b5aec
fix(test-runner): WebServer: use socket for reuseExistingServer to detect servers that aren't using SO_REUSEADDR ( #8537 )
2021-09-02 18:39:41 +02:00
Yury Semikhatsky
bafa426231
feat(runner): support multiple names in project filter ( #8600 )
2021-09-02 09:29:55 -07:00
Chad Sheets
23daf84cdd
fix(har): favicon redirect handling ( #8176 )
2021-09-02 08:31:25 -07:00
Henrik Nygren
0202cdf797
fix(codegen): use new toHaveURL syntax ( #8624 )
2021-09-02 17:24:31 +02:00
Maximilian Hils
242d4d23c1
fix(recorder): improve rendering of multiline selectors ( #8651 )
2021-09-02 07:43:55 -07:00
Dmitry Gozman
798f894f47
feat(html reporter): show test source ( #8643 )
2021-09-01 21:15:11 -07:00
Pavel Feldman
42e44f888b
feat(rawheaders): introduce initial plumbing ( #8638 )
2021-09-01 18:28:20 -07:00
Pavel Feldman
6b371f83f2
chore: few html report tweaks ( #8631 )
2021-09-01 14:35:11 -07:00
Dmitry Gozman
9618a8477b
feat(trace viewer): show call duration ( #8634 )
2021-09-01 13:41:47 -07:00
Dmitry Gozman
4f4cf448c2
fix(test runner): generate unique outputDir for beforeAll/afterAll ( #8633 )
2021-09-01 13:41:35 -07:00
Dmitry Gozman
1a9215a6ec
fix(html reporter): do not throw when attachment is actually missing ( #8630 )
2021-09-01 12:20:28 -07:00
Dmitry Gozman
b8f8ca7493
feat(tracing): tracing.{start,stop}Chunk instead of tracing._export ( #8521 )
2021-08-31 17:03:31 -07:00
Dmitry Gozman
bee8ed117b
feat(html reporter): preview source code, steps and step errors ( #8598 )
2021-08-31 16:34:52 -07:00
Pavel Feldman
0fd5078b2b
chore: simplify client-side browserType.connect routine ( #8596 )
2021-08-31 15:56:55 -07:00
Pavel Feldman
26e7c2825b
chore: audit code for new Promise(async) ( #8601 )
2021-08-31 15:55:32 -07:00
Pavel Feldman
1c169289b2
chore: move async utils into a separate file ( #8595 )
2021-08-31 14:44:08 -07:00
Pavel Feldman
246ac6aea6
chore: implement browserType.connect on the driver side ( #8566 )
2021-08-31 12:51:13 -07:00
Pavel Feldman
0e6620ce94
fix(ff): throw friendly message on fetching redirect body ( #8594 )
2021-08-31 12:11:32 -07:00
Dmitry Gozman
900362ec0b
fix(test runner): report unhandled rejections during worker teardown ( #8592 )
2021-08-31 10:50:30 -07:00
Yury Semikhatsky
9f8e8444d8
feat(fetch): support response decompression ( #8571 )
2021-08-31 09:34:58 -07:00
Maximilian Hils
4d26fb9ccb
chore: use a regular import for browsers.json ( #8579 )
...
Fixes #8512
2021-08-31 07:50:17 -07:00
github-actions[bot]
900cb0982d
feat(webkit): roll to r1538 ( #8575 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-31 11:14:40 +02:00
Pavel Feldman
a205ee27cb
fix(network): extra info can arrive before will send request ( #8569 )
2021-08-30 20:43:40 -07:00
Yury Semikhatsky
dd6dacb125
fix(fetch): throw on network error ( #8565 )
2021-08-30 14:34:31 -07:00
Yury Semikhatsky
6d51ed6e4d
feat(fetch): support baseURL, add tests for invalid args ( #8562 )
2021-08-30 13:41:25 -07:00
Dmitry Gozman
e3cc5b3e3f
chore: simplify responseExtraInfo handling ( #8560 )
2021-08-30 12:57:44 -07:00
github-actions[bot]
b6b9b4c170
feat(chromium): roll to r916288 ( #8551 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-08-30 19:51:06 +02:00
Pavel Feldman
e47bacdecb
fix(cookies): read response headers off extra info event, if any ( #8526 )
2021-08-30 09:58:44 -07:00
Max Schmitt
65dc238b32
chore(channels): generate dispatcher event types ( #8540 )
2021-08-30 18:43:18 +02:00
Pavel Feldman
e574f4b7fd
feat(api): introduce setChecked convenience method ( #8525 )
2021-08-29 20:00:40 -07:00
Pavel Feldman
dd31f3bd43
chore: introduce manual promise helper ( #8533 )
2021-08-29 11:21:06 -07:00
Dmitry Gozman
37a897c9b4
fix(test runner): report beforeAll timeout instead of hanging ( #8529 )
...
We used to not report fatal error and hang forever because worker
did not run any tests but also did not report any errors.
Also properly show stack-less errors.
2021-08-28 07:19:45 -07:00
Yury Semikhatsky
60b0f46b60
feat(fetch): support setHTTPCredentials ( #8528 )
2021-08-27 23:47:33 -07:00
Yury Semikhatsky
3727aa5b67
feat(fetch): send extra http headers ( #8527 )
2021-08-27 23:47:21 -07:00
Yury Semikhatsky
951b9ac21a
fix(fetch): handle cookies on redirects ( #8519 )
2021-08-27 15:28:36 -07:00
Max Schmitt
f3dde0650f
feat(network): expose bodySize, transferSize, and headerSize ( #8234 )
2021-08-27 22:53:57 +02:00
Max Schmitt
89245de0ef
fix(har): rewrite sizes and make transferSize work in WK/Linux ( #8504 )
2021-08-27 20:42:45 +02:00
Yury Semikhatsky
768a97cfdc
feat(fetch): set user-agent and other default headers ( #8491 )
2021-08-27 08:26:19 -07:00
Michael Rienstra
ed0c47a06f
fix(test-runner): minor error message typo ( #8489 )
2021-08-27 10:15:16 +02:00
Pavel Feldman
47ecd28a3d
fix(strict): erase injected script stack from strict error ( #8493 )
2021-08-26 21:21:19 -07:00
Pavel Feldman
4ed976f2e9
chore: remove isContextDestroyedError heuristic ( #8456 )
2021-08-26 18:44:49 -07:00
Yury Semikhatsky
210ad72228
fix: remove node-fetch dependency, use custom fetch implementation ( #8486 )
2021-08-26 16:18:54 -07:00
Max Schmitt
998f2ab959
chore: hide Route.fulfill._response from API ( #8483 )
2021-08-27 00:44:20 +02:00
Ross Wollman
a1313727e8
fix(har): HAR artifacts need to be marked remote ( #8462 )
...
This is a follow-up fix to microsoft/playwright#8385 .
Testing options are limited right now, but this change was confirmed
with a client running on my physical machine and a LaunchServer running
in a Docker container.
Before this change, the har.spec.ts only passed when the client and
server were on the some filesystem.
microsoft/playwright#8450 will likely give us options to test this in an
automated way in the official CI suite.
2021-08-26 11:26:08 -07:00
github-actions[bot]
183ebeaae5
feat(firefox): roll to r1288 ( #8460 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-26 10:08:45 -04:00
Andrey Lushnikov
2198769f6c
fix(react-vue): support nested trees ( #8467 )
...
Turns out you can mount nested trees in both React and Vue.
This patch changes root discovery to support nested trees.
Fixes #8455
2021-08-26 03:07:33 -07:00
github-actions[bot]
fe96cc274f
feat(webkit): roll to r1535 ( #8457 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-26 11:47:34 +02:00
Pavel Feldman
c627927bf5
fix: make preview take 3/4 of the screen ( #8446 )
2021-08-25 14:51:18 -07:00
Pavel Feldman
95be45967a
feat(strict): list ambiguous matches when throwing strict exception ( #8449 )
2021-08-25 14:51:03 -07:00
Dmitry Gozman
02bef1eded
fix(tracing): modernize old resources to new har format ( #8453 )
2021-08-25 14:36:52 -07:00
Ross Wollman
cd110e6477
feat(har): Remotely accessible HAR file ( #8385 )
...
This change ensure's the HAR file is saved at `recordHar.path` on the
client instead of the server.
NB: The goal was to make this change transparent to the user and NOT
introduce any new APIs. Namely, I want to leave the API open for
potential `context.har.start()` and `context.har.stop()`.
This does BREAK servers that expect the HAR to be at the `recordHar.path`
on the server, but I think that's OK since there haven't been reports
of missing HAR on client making me think not many users are getting
HAR with client and server on different hosts anyways.
Closes #8355
2021-08-25 13:32:56 -07:00
Dmitry Gozman
de85d8bb83
fix(test runner): do not special case test.fail ( #8447 )
...
This makes `test.fail` tests considered as passing when they actually fail:
- Stop restarting the worker.
- Retry when it passes instead of a fail.
- Behaves similar to regular tests in a `describe.serial` suite.
2021-08-25 12:19:50 -07:00
Dmitry Gozman
e726c18788
chore: use 'mime' for various mimeType-extension mappings ( #8426 )
2021-08-25 11:18:35 -07:00
Joel Einbinder
fc991fe897
chore(typescript): turn on noImplicitOverride ( #7810 )
2021-08-25 10:11:18 -04:00
Joel Einbinder
943c22c9c4
fix(protocol): remove unnused strict in QSA and add it to waitForSelector docs ( #8140 )
...
Strict doesn't make sense in querySelectorAll, but it was in the protocol.
And we had a strict option in ElementHandle.waitForSelector but it
was not surfaced in the docs/api.
2021-08-25 10:10:40 -04:00
Max Schmitt
8189de42cf
test: fix package installation tests ( #8430 )
2021-08-25 13:34:54 +02:00
Dmitry Gozman
29eb6cb777
chore: migrate tracing to har ( #8417 )
...
chore: migrate tracing to har
- `HarTracer` is used by both `HarRecorder` that implements
`recordHar` context option, and by tracing.
- We keep the `trace.network` format for now, so it is not
yet a valid har file, but it contains har entries.
2021-08-24 21:09:41 -07:00
Dmitry Gozman
b188468fa4
fix(tracing): rewrite blob urls so that we can intercept them ( #8423 )
2021-08-24 17:05:26 -07:00
Max Schmitt
712a36649b
fix(test-runner): do not start web-server when tests are listed ( #8414 )
2021-08-24 23:39:24 +02:00
Yury Semikhatsky
7f02e9ebb1
chore: enable logical assignment babel plugin ( #8416 )
2021-08-24 14:29:20 -07:00
Yury Semikhatsky
c0010d16c6
feat: introduce BrowserContext._fetch ( #8349 )
2021-08-24 14:29:04 -07:00
Joel Einbinder
c9718359f1
fix(codegen): properly escape everything for windows ( #8415 )
2021-08-24 17:09:05 -04:00
Dmitry Gozman
b0a7843247
chore: migrate tracing ResourceSnapshot to follow har entry format ( #8391 )
...
This will ease the migration of tracing to har.
2021-08-24 13:17:58 -07:00
Max Schmitt
8e20f13079
feat(routes): add support for the times option ( #8399 )
2021-08-24 20:45:50 +02:00
Yury Semikhatsky
59422a00f5
feat(route): rename method, add response option ( #8386 )
2021-08-24 11:07:54 -07:00
Joel Einbinder
a8a3799e9d
fix(test-runner): use describe name in output dir ( #8282 )
2021-08-24 10:33:40 -04:00
Dmitry Gozman
47724fed5a
chore(tracing): rework start/export chunks ( #8378 )
...
Instead of filtering the whole trace file on export, we write
into separate trace file for each chunk. We also write a separate
trace.network file with all resources, because it is reused between
chunks.
This brings us towards `tracing.startFile()/stopFile()` api.
2021-08-23 16:08:09 -07:00
Joel Einbinder
0ed3c79d51
fix(selectors): nicer errors if the selector engine returns a bad value ( #8259 )
...
Co-authored-by: Pavel Feldman <pavel.feldman@gmail.com>
2021-08-23 22:54:02 +02:00
Dmitry Gozman
827a909d36
docs: deprecate timeout option in isVisible/isHidden methods ( #8371 )
2021-08-23 12:32:06 -07:00
Joel Einbinder
60829f8909
fix(codegen): escape tricky characters ( #8350 )
2021-08-23 12:22:19 -04:00
Dmitry Gozman
f9b87268a7
fix(test runner): afterAll error should not mask beforeAll error ( #8358 )
2021-08-23 09:21:40 -07:00
Ross Wollman
25a4c7b3df
feat(launchServer): accept wsPath option ( #8353 )
2021-08-22 09:04:47 -07:00
Pavel Feldman
0997c13151
fix(test-runner): do not attach non-existent diff ( #8297 )
2021-08-20 13:40:27 -07:00
Max Schmitt
c4eb2d4b1e
chore: move sdkLanguage over to the protocol init call ( #8329 )
2021-08-20 21:32:21 +02:00
Andrey Lushnikov
48e94c15c1
feat: support multiple roots in React and Vue selectors ( #8313 )
...
Fixes #8230
2021-08-20 05:05:52 -07:00
Dmitry Gozman
7818f5fa0b
test: add a tracing bot that collects a trace for most contexts ( #8316 )
2021-08-19 19:09:19 -07:00
Dmitry Gozman
e5be2c9205
feat(test runner): show failure details for flaky test runs ( #8332 )
...
Currently, we just say "foo.spec.ts > my test" is flaky, but do not
show how exactly the failed run went.
2021-08-19 18:20:53 -07:00
Dmitry Gozman
9c96468b9e
fix(tracing): do not stall while capturing snapshot with an open dialog ( #8328 )
2021-08-19 18:20:15 -07:00
Pavel Feldman
80dded6ccf
feat(proxy): bind proxy to open port ( #8331 )
2021-08-19 18:08:55 -07:00
Dmitry Gozman
70eca0401d
fix(test runner): avoid internal error for step end without begin ( #8327 )
...
fix(test runner): avoid internal error for step end without begin
Consider the following scenario:
- Test finishes and starts tearing down fixtures.
- Fixture teardown starts a step S and then times out.
- We declare the test finished (with timeout).
- Dispatcher shuts down the worker and spins a new one for a retry.
Additionally, it clears steps information for the test to be
ready for the new retry. Step S information is lost.
- Meanwhile, during worker teardown, the step S does
actually finish (usually with an error), and we send stepEnd for S.
- Dispatcher does not know what to do with step S end and
prints an internal error.
The fix is to ignore certain messages from the shutting down worker that failed.
2021-08-19 17:04:09 -07:00
Pavel Feldman
cad7fc2ef7
feat(proxy): support local.playwright for proxying ( #8330 )
2021-08-19 16:56:06 -07:00
Pavel Feldman
44887c237d
chore: reimplement socks to be readable ( #8315 )
2021-08-19 15:16:46 -07:00
Max Schmitt
96a9a26f9f
fix: strict mode on page.* methods on context level ( #8324 )
2021-08-19 23:08:28 +02:00
Max Schmitt
ddcdb6d413
chore(protocol): do client hello instead of server hello ( #8019 )
2021-08-19 17:31:14 +02:00
Dmitry Gozman
f06e7b91fb
fix(tracing): serialize resource writes against trace export ( #8296 )
...
Inlining TraceSnapshotter makes it easier to serialize writes and removes no-op glue.
We also stop writing the same resource twice.
2021-08-19 07:26:24 -07:00
Andrey Lushnikov
d9206ebefc
chore: pretend world is win64 ( #8306 )
...
It looks like we have a very small share of users on 32-bit windows.
This is a tiny change that stops Playwright from using 32-bit windows
binaries.
References #8045
2021-08-19 06:09:04 -07:00
Dmitry Gozman
ee9863387b
feat(html report): show video inline ( #8293 )
2021-08-18 14:30:55 -07:00
Pavel Feldman
6ef76e333e
feat(strict): add context-level selector strictness ( #8290 )
2021-08-18 12:51:45 -07:00
Dmitry Gozman
8d81890e47
feat(codegen): support --save-trace option ( #8267 )
2021-08-18 07:27:45 -07:00
Pavel Feldman
710cec80a0
feat(test-runner): render step titles ( #8270 )
2021-08-17 16:41:36 -07:00
Pavel Feldman
97ba4f22f3
feat(test-runner): report nested steps ( #8266 )
2021-08-17 13:57:26 -07:00
Joel Einbinder
de4464cb9a
fix(expect): highlight diff in toHaveText ( #8262 )
2021-08-17 16:56:21 -04:00
Dmitry Gozman
99993e173b
fix(snapshots): account for malformed headers ( #8241 )
...
When browser receives multiple header values for the same header name,
we present them as LF-separated value. This is not considered valid in
Node, so we should split by LF when serving a snapshot.
There more invalid characters in headers, so just in case we try/catch it.
2021-08-16 17:40:46 -07:00
Dmitry Gozman
246495f705
fix(tracing): improve captureStackTrace ( #8236 )
...
- Simplify by only considering client/ vs non-client/
- Fix stack traces when calling from other playwright code, e.g. from the cli
- Account for re-entrant calls that happen when
instrumenting context creation/desctruction
- Add tests
- Fix StackTraceView on Windows
2021-08-16 17:06:38 -07:00
Dmitry Gozman
2aff06ec73
fix(test runner): make sure tracing is not running on non-retries ( #8232 )
...
When sharing a context between tests and using `'on-first-retry'` we
could end up with tracing still running in non-retried tests. That's
extra overhead without a reason.
2021-08-16 16:46:35 -07:00
Yury Semikhatsky
8cc4140933
fix: throw if intercepted response fails ( #8195 )
2021-08-16 16:40:47 -07:00
Bùi Gia Thịnh
1e8e547023
fix(devices): typo in device name Desktop Edge ( #8233 )
2021-08-16 22:38:26 +02:00
Ross Wollman
101662765c
api(cdp): newCDPSession accepts frames, too ( #8157 )
...
Without this, Playwright's CDP feature leaves unreachable
targets (namely OOPIFs).
This change allows for more advanced experimentation in user-land
without relying on out-of-band CDP connections and clients.
Now you can, for example, call `DOM.getDocument` on the
page OR main frame, observe there is an iframe node with
no `contentDocument` (i.e. OOPIF), make note of the referenced
`frameId`, and then iterate of page.frames() calling `Target.getInfo`
on each to link the Playwright Frame with the CDP `frameId` and
then recurse.
Relates #8113
2021-08-16 12:49:10 -07:00
Yury Semikhatsky
90385a7941
browser(firefox): failure response interception ( #8194 )
2021-08-16 09:36:28 -07:00
Yury Semikhatsky
39f663834f
test: intercepted response status line ( #8189 )
2021-08-13 16:28:42 -07:00
Dmitry Gozman
5327b8ca6d
feat(firefox): bump firefox to 1283, firefox-beta to 1277 ( #8184 )
2021-08-13 08:29:25 -07:00
Dmitry Gozman
d32d50a906
fix(test runner): make sure we always teardown all fixtures ( #8158 )
...
Even if one of the fixtures throws, we should teardown all of them
so that we can run afterAll hooks.
2021-08-12 09:08:56 -07:00
Pavel Feldman
f3b35b2bbd
fix(trace-viewer): restore action error icon ( #8163 )
...
Fixes #8051
2021-08-12 08:41:34 -07:00
Andrey Lushnikov
819287cc0e
fix: do not show the "accept incoming network connections" dialog ( #8162 )
...
The dialog is provoked by a [MediaRouter chromium component](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/mac_build_instructions.md#avoiding-the-incoming-network-connections-dialog )
In general, this is a very narrow functionality that should be safe
to disable to not affect majority of users on MacOS.
Fixes #7937
2021-08-12 08:33:02 -07:00
Pavel Feldman
d2d71c4cdb
fix(reporter): group fixture initialization under before hooks ( #8072 )
2021-08-12 07:58:00 -07:00
Dmitry Gozman
44cdda43fe
feat(test runner): show stdio for failures in terminal reporters ( #8150 )
2021-08-11 16:44:19 -07:00
Yury Semikhatsky
59df541de5
fix: fulfill intercepted response with empty body ( #8151 )
2021-08-11 14:47:05 -07:00
Yury Semikhatsky
41770bf444
feat(webkit): response interception after redirects ( #8017 )
2021-08-11 11:14:50 -07:00
Pavel Feldman
1d4e2fe98c
feat(nth): make nth and visible selectors public ( #8142 )
2021-08-11 11:06:09 -07:00
Andrey Lushnikov
aaf565c9ce
chore: update webkit version to 15.0 ( #8143 )
2021-08-11 10:48:21 -07:00
Andrey Lushnikov
7c017a6c1f
feat(firefox): roll firefox to M91 ( #8137 )
2021-08-11 10:13:09 -07:00
Yury Semikhatsky
252238f25c
feat(webkit): bump to 1530 ( #7991 )
2021-08-11 08:56:35 -07:00
Dmitry Gozman
a5e0965087
feat(test runner): implement test.describe.serial ( #8132 )
2021-08-10 21:26:45 -07:00
Joel Einbinder
64da74fba8
feat(test-runner): allow non-ascii characters in the output dir path ( #8093 )
2021-08-10 21:24:35 -07:00
Pavel Feldman
21b510c6e7
chore(tracing): remove resource id ( #8131 )
2021-08-10 21:23:31 -07:00
Dmitry Gozman
708fa43f03
fix(tracing): clear recording state at the end of tracing.stop ( #8120 )
...
This ensures that any tracing operations can access the recording state.
When stopping, we await for all operations to finish and then clear the state.
To avoid reentrancy, a new flag `isStopping` is introduced.
2021-08-10 17:36:06 -07:00
Andrey Lushnikov
4975f4179e
feat: make React and Vue selectors experimental ( #8106 )
2021-08-10 17:21:16 -07:00
Andrey Lushnikov
792986c92d
feat: support props matching in react and vue selectors ( #8104 )
2021-08-10 17:10:14 -07:00
Pavel Feldman
b800c1d35c
feat(reporter): render attachments in html report ( #8125 )
2021-08-10 17:06:25 -07:00
Pavel Feldman
76150f1bcb
chore(tracing): remove proactive snapshotSizes caching ( #8126 )
2021-08-10 17:06:14 -07:00
Dmitry Gozman
c9c1ea6546
fix(test runner): disallow use(workerFixture) in describes ( #8119 )
...
Using a worker fixture forces a new worker. This might be unexpected
when part of the test file runs in one worker, and another runs
in another worker. Top-level use of worker fixtures is still fine.
2021-08-10 16:32:32 -07:00
Pavel Feldman
a9e1916672
chore(tracing): do not produce cached resources maps ( #8110 )
2021-08-10 12:08:19 -07:00
Dmitry Gozman
9d6c7cdf20
fix(test runner): ensure we run after hooks after failures ( #8102 )
2021-08-10 10:54:05 -07:00
Dmitry Gozman
2744cd6c9a
feat(test runner): remove createContext fixture ( #8109 )
...
We can now use `browser.newContext()` or `browser.newPage()` instead.
2021-08-10 09:26:36 -07:00
Dmitry Gozman
3bf3318350
fix(test runner): make sure options, trace and screenshot apply to all contexts ( #8083 )
...
- Uses some auto fixtures to set default options and instrumentation on BrowserType.
- Moves screenshot, trace and video to worker-scoped fixtures.
- Throws in page/context when used from beforeAll/afterAll.
- Plumbs around BrowserType to be accessible from Browser and BrowserContext.
2021-08-09 18:09:11 -07:00
Pavel Feldman
8eac1e96d3
chore: add extensions to the trace resources ( #8105 )
2021-08-09 16:36:24 -07:00
Dmitry Gozman
e638c4597f
fix(test runner): do not swallow afterAll failure ( #8099 )
2021-08-09 14:21:53 -07:00
Andrey Lushnikov
29f7dfa3ee
feat(chromium): roll Chromium to M94 ( #8047 )
2021-08-09 13:57:17 -07:00
Dmitry Gozman
87548f94c1
feat(test runner): support test fixtures in beforeAll/afterAll ( #8082 )
...
Each hook gets its own test scope. This is not too useful for
object fixtures like `page` (although one can use a page in
`beforeAll` to save storage state), but much more useful for option
fixtures like `viewport`.
2021-08-09 13:26:33 -07:00
Dmitry Gozman
41949e559e
Revert "feat(test runner): file scope fixtures ( #7969 )" ( #8081 )
...
This reverts commit 1bbf86d060 ,
leaving small improvements around.
2021-08-09 12:33:16 -07:00
Andrey Lushnikov
f455b6edc0
feat: introduce vue selector engine ( #8070 )
...
This patch adds support for the `vue` selector engine that allows
selecting DOM elements based on the component name.
> **NOTE**: `vue` engine supports Vue2 and Vue2.
References #7189
2021-08-09 01:34:52 -07:00
Pavel Feldman
290f601dae
feat(expect): introduce explicit default async expect timeout ( #8071 )
2021-08-07 22:08:56 -07:00
Andrey Lushnikov
755cf60496
feat(test): write missing snapshots to test-results ( #7879 )
...
By default, CI's are set up to upload `//test-results` folder to
artifacts storage. Storing missing snapshots in the `//test-results`
folder too will simplify collecting new baselines from the CI.
2021-08-07 16:52:11 -07:00
Andrey Lushnikov
f3ba2b54ff
feat: introduce react selectors ( #8069 )
...
This patch adds support for the `react` selector engine that allows
selecting DOM elements based on the component name.
> **NOTE**: in case of multi-root components (React.Fragment), `react`
engine will select all root DOM elements.
> **NOTE**: `react` engine supports react v15+.
References #7189
2021-08-07 16:51:39 -07:00
Pavel Feldman
40fb9d85e0
feat(test-result): render image diff ( #8061 )
2021-08-07 15:47:03 -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
Pavel Feldman
b1dc84c953
chore: add debug logging to localize steps error ( #8062 )
2021-08-06 20:37:57 -07:00
Pavel Feldman
3424f59e67
chore(expect): polish matcher names, remote arguable ones ( #8060 )
2021-08-06 16:58:42 -07:00