Commit graph

330 commits

Author SHA1 Message Date
Lukas Bockstaller bd8d044433
feat(uimode) uses relative paths to establish websocket connection (#29617) 2024-02-26 15:09:24 -08:00
Dmitry Gozman 18ce0fa370
fix(trace viewer): replace blue dot with red dot+warning (#29380)
Also how the explanation on hover.

Fixes #29263.
2024-02-06 08:27:45 -08:00
Max Schmitt 7d64ca4c54
fix(trace viewer): correctly trim locations on Windows (#29321)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-02-02 18:18:34 +01:00
Pavel Feldman 020a39860d
chore: polish network panel highlight (#29299)
Fixes https://github.com/microsoft/playwright/issues/29287
2024-02-01 13:44:26 -08:00
Dmitry Gozman cf6549687c
fix(trace viewer): reveal error location when it comes from the test (#29268)
Errors coming from the test runner do not have an associated `action`,
but have a `stack` that we can reveal.
2024-02-01 08:23:07 -08:00
Max Schmitt 36ebdfb441
fix: provisional fix for Trace Viewer source 404 (#29192)
Motivation: Sometimes the files are not available anymore on the Service
Worker side. The Trace Viewer frontend then falls back to `file?path=`
and uses its response, no matter what the response status is.

This patch checks for the response status code before using its
response.

e.g. https://github.com/microsoft/playwright-dotnet/issues/2775 after
some time / and some other reports.

---------

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-01-27 14:05:15 +01:00
Dmitry Gozman 8e607d509f
fix(recorder): disallow external imports (#29129)
Previously, new `Recorder` instance was given an existing
`InjectedScript`. However, we built a separate source for
`InjectedScript` vs `Recorder`, and both bundles contain their own copy
of all helper modules, e.g. `roleUtils`.

This resulted in two copies of helper modules, which is troublesome for
any module-level globals like a top-level cache. Depending on whether
`Recorder` or `InjectedScript` called into the helper, they would access
the different value of a module global, which lead to bugs.

To prevent this, we force any external dependencies to be imported
through the `InjectedScript.utils`.
2024-01-23 11:29:40 -08:00
Dmitry Gozman 300a0127de
Revert "feat(trace): allow Trace Viewer to include credentials when fetching traces cross-origin (#28502)" (#29024)
This reverts commit 3f3f332060.

References #29019.
2024-01-17 10:40:58 -08:00
Dmitry Gozman 48317af1cc
feat(trace): preserve noscript when javascript is disabled (#28971)
Closes #27504, closes #27532.
2024-01-12 12:11:39 -08:00
Pavel Feldman a0750b7854
chore: network panel polish (#28924) 2024-01-10 15:28:33 -08:00
Pavel Feldman fc5f34369a
chore: only highlight uncaught errors in source (#28772) 2023-12-22 14:19:53 -08:00
Pavel Feldman f5c57d0e98
chore: reuse image diff component in trace/html (#28727)
Fixes https://github.com/microsoft/playwright/issues/28685
2023-12-22 10:17:35 -08:00
Max Schmitt 696237205a
fix(ui-mode): disconnected error styling (#28681)
Fixes https://github.com/microsoft/playwright/issues/28679
Fixes https://github.com/microsoft/playwright/issues/28680
2023-12-18 17:32:57 +01:00
Matt Jennings 3f3f332060
feat(trace): allow Trace Viewer to include credentials when fetching traces cross-origin (#28502)
Add the `'credentials': include` option on the trace fetch so the
browser can include cookies when fetching from a different origin,
assuming the origin returns the correct Access-Control-Allow-Origin and
Access-Control-Allow-Credentials headers.

Fixes #28501
2023-12-14 10:41:01 -08:00
Dmitry Gozman d587435efa
feat(trace): show target point for raw mouse apis (#28459)
Fixes #27931.
2023-12-07 06:27:49 -08:00
Dmitry Gozman c7018951e5
fix(trace): title should not wrap over to the timeline (#28496) 2023-12-05 09:21:51 -08:00
Max Schmitt f44ef81af7
fix(snapshot): broken snapshot after use of setInputFiles (#28444) 2023-12-01 09:38:50 -08:00
Max Schmitt 8efa8dbc1d
fix(ui-mode): make UI Mode projects scrollable (#28438)
Fixes https://github.com/microsoft/playwright/issues/28393



https://github.com/microsoft/playwright/assets/17984549/5791e422-f4e6-4202-b66c-b77bbb476c04
2023-11-30 13:26:03 -08:00
Max Schmitt c137b23a6c
fix(trace-viewer): scroll over multiple pages (#28316)
Fixes https://github.com/microsoft/playwright/issues/28208
2023-11-29 11:27:19 -08:00
Pavel Feldman 022b36332d
chore: do not add to the internal action logs (#28365)
Fixes https://github.com/microsoft/playwright/issues/28319
2023-11-27 16:43:47 -08:00
Dmitry Gozman 5488c03d7f
chore: make asLocator() always safe (#28207) 2023-11-16 16:31:34 -08:00
Pavel Feldman 2bd7d67adc
chore: render testInfo errors in the Errors tab (#28179)
Fixes https://github.com/microsoft/playwright/issues/28056
2023-11-16 11:37:57 -08:00
Pavel Feldman eeda25c47f
chore(recorder): glue the overlay to the top (#28021) 2023-11-07 12:58:41 -08:00
Dmitry Gozman 810382c074
chore(recorder): more UX fixes for text assertions (#27995) 2023-11-06 16:40:33 -08:00
Dmitry Gozman ffd2e02aa3
feat(recorder): various UX fixes (#27967) 2023-11-04 21:18:27 -07:00
Pavel Feldman e84dd4d708
fix(ui): do not fail on clashing groups (#27943)
Fixes https://github.com/microsoft/playwright/issues/27929
2023-11-02 20:50:08 -07:00
Dmitry Gozman 3dedbced13
feat(recorder): in-page overlay (#27904) 2023-11-01 15:56:49 -07:00
Max Schmitt 08b8181632
chore: make Trace Viewer start page AAA compliant (#27879) 2023-10-31 16:35:13 +01:00
Pavel Feldman 462e70ab82
chore: render sidebar tab selector as drop down (#27844) 2023-10-27 15:31:31 -07:00
Pavel Feldman 4d82d6801f
chore: render full pathname in network panel (#27843)
Fixes #27618
2023-10-27 14:14:24 -07:00
Dmitry Gozman 88f30d1ce2
feat: support firefoxUserPrefs in launchPersistentContext (#27840)
Fixes #27773.
2023-10-27 09:24:41 -07:00
Dmitry Gozman 24deac458b
feat(expect): generate toHaveText (#27824) 2023-10-26 18:49:14 -07:00
Pavel Feldman ff206bd9c1
chore: render time in the trace viewer log (#27825) 2023-10-26 14:45:15 -07:00
Pavel Feldman 778047facc
chore: stream trace viewer logs (#27807) 2023-10-26 11:15:43 -07:00
Pavel Feldman 47733b04fb
chore: do not select after hooks automatically (#27805) 2023-10-25 17:05:06 -07:00
Pavel Feldman 0bb9f7cdf7
feat(ui): show test status in trace view (#27785) 2023-10-24 16:41:40 -07:00
Max Schmitt 5fe77f9a6f
chore: better error for trace viewer over http:// (#27722)
We saw in the past a lot of users reporting issues like this. Maybe a
more readable error helps.

Before they just saw:

```
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'register')
  at index.38834ec3.js:1:3775
  at index.38834ec3.js:1:4006
```

Fixes https://github.com/microsoft/playwright/issues/27655
2023-10-23 18:21:19 +02:00
Pavel Feldman f46c889449
chore: fix total progress reporting w/ deps (#27716) 2023-10-19 20:07:47 -07:00
Pavel Feldman d003945a7b
chore(ui): do not watch output folders (#27694) 2023-10-19 15:53:57 -07:00
Pavel Feldman 70dbb9d83a
feat(trace): allow navigating from error to source (#27464) 2023-10-05 14:59:59 -07:00
Pavel Feldman 5a7b405bdb
chore: add console icon titles (#27416)
Fixes https://github.com/microsoft/playwright/issues/27411
2023-10-03 15:52:37 -07:00
Pavel Feldman c7d9ae1c8b
ui(trace): make drawer appear under action list (#27260) 2023-09-22 10:43:44 -07:00
Dmitry Gozman 2af7d672ef
fix(tracing): bump trace version to V5, migrate V4 traces to consoleMessage.args (#27162)
This moves the fix in #27095 from `modernize` to `appendEvent`. The
reason is that `trace V4` is used both for older traces that do not have
`consoleMessage.args` and the new ones with `args`. Since we do not call
`modernize` for traces of the same version, the original fix does not
help in this case.

Fixes #27144.
2023-09-19 16:21:09 -07:00
Pavel Feldman c914d62c69
chore: nicer network grid header (#27102) 2023-09-15 09:16:29 -07:00
Pavel Feldman 699e790f69
chore: fit body in the network panel (#27100) 2023-09-14 17:15:24 -07:00
Dmitry Gozman a26f568b36
fix(tracing): support old traces with consoleMessage.args (#27095)
Fixes #27072.
2023-09-14 17:07:29 -07:00
Max Schmitt ce43ea7d99
chore: roll @zip.js/zip.js to 2.7.29 (#27047) 2023-09-13 18:39:10 +02:00
Pavel Feldman 97b3625049
chore: polish ui mode for better mac appearance (#27008) 2023-09-11 19:01:00 -07:00
Pavel Feldman 7c838653d6
chore: fix the split view, reset window on timeline click (#27007) 2023-09-11 18:16:02 -07:00
Max Schmitt 6bbc09c96c
chore: show channel name in trace viewer metadata (#26987)
Fixes https://github.com/microsoft/playwright/issues/26986
2023-09-11 23:06:56 +02:00
Pavel Feldman c3f5486dab
chore: group attachments across actions in trace (#26969) 2023-09-08 16:47:45 -07:00
Dmitry Gozman 186f86905c
chore: make @playwright/test depend on playwright (#26946) 2023-09-08 14:23:35 -07:00
Pavel Feldman 99047cba03
chore: add install browsers dialog (#26940) 2023-09-07 18:34:59 -07:00
Pavel Feldman 167c35ca66
chore: store scroll positions in trace viewer (#26938) 2023-09-07 17:14:39 -07:00
Pavel Feldman d65da74b8f
fix(trace): allow typing in selector w/ frames (#26919) 2023-09-06 16:14:40 -07:00
Pavel Feldman ea4974ce36
chore: allow resetting the time filter (#26920) 2023-09-06 16:14:26 -07:00
Pavel Feldman b4012df160
fix(trace): make locator picker work for iframes (#26883)
Fixes https://github.com/microsoft/playwright/issues/26878
2023-09-06 09:44:47 -07:00
Pavel Feldman e0db46ae14
chore: highlight ansi in browser messages as well (#26881) 2023-09-05 17:29:07 -07:00
Dmitry Gozman 740472ce8f
fix(trace viewer): retain currentSrc of all images (#26841)
When `<source>` or `srcset=` are involved, the actual image src is
determinted at runtime based on factors like `devicePixelRatio` and
media queries that depend on width/height.

Since these factors may differ in the Trace Viewer itself, we should
preserve the `currentSrc`, use it as an actual `src`, and disable
various `<source>` and `srcset=`.
2023-09-05 12:48:07 -07:00
Pavel Feldman 8c494e2519
chore: add log/error tabs and counters (#26843) 2023-09-01 20:12:05 -07:00
Pavel Feldman 1c5f53f216
chore: show innermost error in ui mode (#26840) 2023-09-01 13:48:15 -07:00
Pavel Feldman a339bead09
chore: implement faster ansi2html format for console (#26826) 2023-09-01 09:09:47 -07:00
Pavel Feldman 4948920437
fix(ui): do not log from beforeAll twice (#26799)
Fixes https://github.com/microsoft/playwright/issues/26790
2023-08-31 17:34:15 -07:00
Dmitry Gozman f3c02a5b4f
fix(trace viewer): make red dot to the center of the target element (#26825)
Also make sure red dot is visible in the popout tab.

Fixes #24532.
2023-08-31 16:52:54 -07:00
Dmitry Gozman 741c649d56
fix(trace viewer): make sure target inside shadow dom is highlighted (#26823)
References #24532.
2023-08-31 12:46:49 -07:00
Pavel Feldman 123ee9ddc1
chore: trace timeline ux (#26797) 2023-08-30 15:48:51 -07:00
Pavel Feldman fd31f5bc50
chore: fix har date types (#26783) 2023-08-30 12:40:46 -07:00
Pavel Feldman a34deffa43
chore: highlight actions and har entries in timeline (#26781) 2023-08-29 22:23:08 -07:00
Pavel Feldman c209d7e708
chore: more network panel polish (#26780) 2023-08-29 22:20:28 -07:00
Max Schmitt a9bc1a1707
fix(trace-viewer): SVG images were not loading (#26755)
Fixes https://github.com/microsoft/playwright/issues/26745

Drive-by: make Codemirror read-only.
2023-08-29 18:05:01 +02:00
Max Schmitt 39f8f2ed8d
fix(trace-viewer): use sdkLanguage for Pick Locator (#26737)
Fixes https://github.com/microsoft/playwright/issues/26736
2023-08-28 17:39:02 +02:00
Pavel Feldman ee86b9bc94
chore: network panel ui polish (#26722) 2023-08-25 19:20:36 -07:00
Pavel Feldman 0ecd561db2
chore: improve network panel rendering (#26708) 2023-08-25 12:10:28 -07:00
Pavel Feldman 197f79c933
chore: show action on hover even if there is no film (#26655) 2023-08-23 12:55:01 -07:00
Pavel Feldman 46e33cd384
feat: allow installing browsers from ui (#26628) 2023-08-23 12:26:11 -07:00
Pavel Feldman 91b784e15e
chore: update icon font (#26627) 2023-08-23 08:31:43 -07:00
Pavel Feldman 00e6540799
feat(ui): show test trace events live (#26619) 2023-08-22 15:46:41 -07:00
Pavel Feldman 65aa062ea1
fix(console): make format console message w/o args (#26620)
Fixes https://github.com/microsoft/playwright/issues/26600
2023-08-22 14:29:35 -07:00
Pavel Feldman fe7b956c3b
chore: allow toggling sidebar location (#26589) 2023-08-21 19:40:44 -07:00
Pavel Feldman c3c3c7f53c
chore: decorate console message sources (#26588) 2023-08-21 16:05:27 -07:00
Pavel Feldman 2b16860e06
chore: locator tab polish (#26568) 2023-08-21 10:59:49 -07:00
Pavel Feldman f83d81956d
chore: make console stream live in ui mode (#26562) 2023-08-21 10:59:37 -07:00
Max Schmitt 2f6148bcd1
chore: use SVG icons for web apps (#26564)
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-08-21 18:33:02 +02:00
Pavel Feldman 41c312cd04
chore: fix ui mode to show screenshots (#26563) 2023-08-20 14:47:18 -07:00
Marcin Strzyz 192b697488
chore: remove old webpack folder structure (#26560) 2023-08-19 16:16:44 -07:00
Pavel Feldman 09bb866333
chore: format console message from page (#26555) 2023-08-19 16:13:42 -07:00
Pavel Feldman 8f31191637
chore: pick locator tab (#26532) 2023-08-18 17:53:03 -07:00
Marcin Strzyz 6b2d93a890
chore: error on unused eslint disables (#26510) 2023-08-17 20:53:36 +02:00
Pavel Feldman 049f839b30
chore: use glass pane for dragging (#26513) 2023-08-17 09:36:59 -07:00
Max Schmitt 75ed251c9e
fix: download of attachments in UI Mode (#26407)
Fixes https://github.com/microsoft/playwright/issues/26326.
2023-08-17 10:57:28 +02:00
Pavel Feldman a705d68c8a
chore: filter actions, console and network based on the timeline window (#26509) 2023-08-16 16:30:17 -07:00
Dmitry Gozman 1b233a5ae2
fix(trace viewer): do not serve 304 responses (#24435)
These do not have any content, and we should server the original
response that was cached by the browser.

Fixes #24255.
2023-07-27 08:06:00 -07:00
Dmitry Gozman 9d0bba9c99
fix(tracing): do not throw on missing attachments (#24409)
Fixes #24378.
2023-07-25 14:32:56 -07:00
Pavel Feldman 49c1f9eb02
feat(ui): run deps in UI mode if dep projects are checked (#24245) 2023-07-15 15:11:31 -07:00
Pavel Feldman 5d799606c3
chore: resolve top-level vs dependency after cli filtering (#24216) 2023-07-13 17:54:08 -07:00
Pavel Feldman 33bab3652d
fix(ui): bump min sidebar size (#24193) 2023-07-13 15:14:49 -07:00
Dmitry Gozman aeba083da0
fix(snapshots): match resources by method (#24145)
Fixes #24144.

Previously, we only matched by url, which confuses GET and HEAD requests
where the latter is usually zero-sized.

Also make sure that resources are sorted by their monotonicTime, since
that's not always the case in the trace file, where they are sorted by
the "response body retrieved" time.
2023-07-10 20:04:48 -07:00
Pavel Feldman 63915dc07a
feat(trace): render Node console messages in trace (#24139) 2023-07-10 18:36:28 -07:00
Pavel Feldman 67ad2c2bf4
feat(ui): render all console / network messages in trace (#24115) 2023-07-10 12:56:56 -07:00
Pavel Feldman df57fb594c
fix(trace): render items under expect.toPass (#24016)
Fixes: https://github.com/microsoft/playwright/issues/23942
2023-07-05 11:20:28 -07:00