Yury Semikhatsky
0480bd0cac
chore(bidi): launch firefox with user prefs tailored for testing ( #32817 )
...
Various settings that make Firefox behave when testing over Bidi. The
settings are copied from
ea36b7b1f0/packages/browsers/src/browser-data/firefox.ts (L190-L402) .
Unlike Playwright bundled version, we write the settings into `user.js`
in the profile folder before launching the browser.
2024-09-25 18:17:07 -07:00
Yury Semikhatsky
b6783bb18b
fix(ui-mode): respect --tsconfig option ( #32798 )
...
Fixes https://github.com/microsoft/playwright/issues/32797
2024-09-24 19:59:15 -07:00
Pavel Feldman
35158feec0
chore: fix codegen flakiness ( #32799 )
2024-09-24 19:56:31 -07:00
Pavel Feldman
755edfba5b
chore: fallback expect.extend to legacy ( #32795 )
2024-09-24 14:00:13 -07:00
Playwright Service
a4cea0c208
feat(webkit): roll to r2082 ( #32793 )
2024-09-24 19:46:12 +02:00
Playwright Service
0b69b1370a
feat(chromium-tip-of-tree): roll to r1263 ( #32791 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-24 14:44:27 +02:00
Pavel Feldman
8649b13f25
chore: start putting tv-recorder ui together ( #32776 )
2024-09-23 19:13:45 -07:00
Playwright Service
7c3dd70bf6
feat(webkit): roll to r2081 ( #32738 )
2024-09-23 19:08:01 -07:00
Yury Semikhatsky
eda0e01167
chore(bidi): bring to front, pdf ( #32698 )
2024-09-23 19:05:55 -07:00
Pavel Feldman
c7a5278fb3
fix: do not start tracing in default recorder ( #32770 )
2024-09-23 15:51:27 -07:00
Pavel Feldman
0c8b2a7c32
chore: take snapshot tab apart ( #32756 )
2024-09-23 15:51:15 -07:00
Yury Semikhatsky
11320d34c6
Revert chore: ignore third-party execution contexts ( #32437 ) ( #32771 )
...
Partially revert #32437 and add a test that console.log() messages from
content scripts are properly reported
Fixes https://github.com/microsoft/playwright/issues/32762
2024-09-23 15:48:11 -07:00
Yury Semikhatsky
c9a26e60f5
fix(webkit): 204 response is not a failure ( #32768 )
...
The login being changed was added in
https://github.com/microsoft/playwright/pull/1260 and is supposed to
only work for navigation requests.
Reference: https://github.com/microsoft/playwright/issues/32752
2024-09-23 14:30:40 -07:00
Mathias Leppich
281eff1209
docs(trial): note that modifier keys are pressed regardless of trial option ( #32734 )
2024-09-23 22:17:47 +02:00
Pavel Feldman
0cdc7ee1a3
chore: extract polling recorder ( #32749 )
...
We are reusing recorder in a snapshot tab, no need for the polling
harness to be there.
2024-09-23 08:42:18 -07:00
Playwright Service
99895005e2
feat(chromium-tip-of-tree): roll to r1262 ( #32760 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-23 14:47:44 +02:00
Max Schmitt
12ecd476dd
fix(watch): cancel waitForCommand when files change ( #32761 )
...
Fixes https://github.com/microsoft/playwright/issues/32758
2024-09-23 14:43:28 +02:00
Dmitry Gozman
b3a82bef46
feat: do not record route calls in the trace ( #32723 )
...
These are represented in the network pane instead.
2024-09-21 10:17:59 -07:00
Pavel Feldman
17ed944a84
chore: iterate towards recording into trace (4) ( #32743 )
2024-09-20 16:56:05 -07:00
Pavel Feldman
418d1c0c55
chore: allow starting recorder in traceviewer ( #32741 )
2024-09-20 15:25:49 -07:00
Pavel Feldman
dfb3fdf217
chore: iterate towards recording into trace (3) ( #32718 )
2024-09-20 13:08:33 -07:00
Playwright Service
33890eb6c5
feat(webkit): roll to r2080 ( #32721 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-09-20 08:28:46 -07:00
Dmitry Gozman
cdcaa7fab6
feat: routeWebSocket ( #32675 )
...
This introduces `WebSocketRoute` class and
`page/context.routeWebSocket()` methods.
2024-09-20 03:20:06 -07:00
Dmitry Gozman
ace8cb2427
fix(test runner): page.pause() should enable debug mode ( #32714 )
...
Fixes #32706 .
2024-09-20 00:41:16 -07:00
Playwright Service
935aa6b020
feat(webkit): roll to r2079 ( #32720 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-20 09:34:31 +02:00
Pavel Feldman
01b44ba077
chore: remove PWTEST_RECORDER_PORT as it was ignored ( #32717 )
2024-09-19 13:35:52 -07:00
Max Schmitt
2b2a57abad
chore: enable @babel/plugin-syntax-import-attributes all the time ( #32713 )
2024-09-19 16:51:35 +02:00
Dmitry Gozman
cc302fa515
fix(chromium): allow PlzDedicatedWorker ( #32711 )
...
With the recent Chromium fixes in v129, it is now safe to enable this
feature.
Fixes #31747 .
2024-09-19 06:38:58 -07:00
Playwright Service
ea284f2986
feat(chromium-tip-of-tree): roll to r1261 ( #32709 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-19 14:47:03 +02:00
Playwright Service
e8e72deac2
feat(chromium): roll to r1136 ( #32707 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-19 14:35:48 +02:00
Dmitry Gozman
5089d9f293
fix(chromium): disable ThirdPartyStoragePartitioning ( #32701 )
...
See
https://developers.google.com/privacy-sandbox/cookies/storage-partitioning
for more details.
References #32230 .
2024-09-19 03:12:21 -07:00
Max Schmitt
48030a4eff
test: fix test expecations after Node.js 22.9.0 ( #32695 )
2024-09-19 10:52:29 +02:00
Pavel Feldman
2f4acbb001
chore: use contentFrame() as a canonical locator representation ( #32697 )
2024-09-18 20:15:01 -07:00
Pavel Feldman
790dbfd78f
fix(codegen): use content_frame property in python ( #32699 )
2024-09-18 19:11:14 -07:00
Yury Semikhatsky
48d3d5554d
chore(bidi): suppress crash reporter in firefox ( #32694 )
...
Same settings as geckodriver uses upstream:
https://searchfox.org/mozilla-central/rev/c414b4538dd3c7e1dc674f7b66176e7c309afa95/testing/geckodriver/src/browser.rs#130-132
2024-09-18 16:02:10 -07:00
Pavel Feldman
427eca6f7e
chore: iterate towards recording into trace (2) ( #32693 )
2024-09-18 14:39:07 -07:00
Dmitry Gozman
f9d9ad25de
feat(locator handler): perform checkpoit during locator.waitFor ( #32683 )
...
Fixes #32255 .
2024-09-18 09:34:06 -07:00
Max Schmitt
d4eecafa8a
test: listen always on 127.0.0.1 for client certificate tests ( #32677 )
2024-09-18 17:09:08 +02:00
Max Schmitt
523ec83cad
chore: move Location type from testReporter.d.ts to test.d.ts ( #32687 )
2024-09-18 16:57:11 +02:00
Playwright Service
ddd43d0f20
feat(webkit): roll to r2078 ( #32685 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-18 15:50:43 +02:00
Max Schmitt
ec3db20743
test: fix toolbar hydration test under frozen suite ( #32684 )
2024-09-18 15:35:33 +02:00
Simon Knott
825df6c074
feat(har): record serverIPAddress for API requests ( #32660 )
...
Discovered working on
https://github.com/microsoft/playwright/pull/32658 . We're recording the
remote server address for browser requests, but not for API requests.
This PR adds that for API requests.
2024-09-18 14:51:42 +02:00
Playwright Service
7d4aa0aa8e
feat(chromium-tip-of-tree): roll to r1260 ( #32651 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-18 14:37:19 +02:00
Max Schmitt
4c31a8289f
feat(trace-viewer): add network requests 'copy as cURL' button ( #32627 )
2024-09-18 14:35:11 +02:00
Simon Knott
4460c98710
fix(har tracing): record response.bodySize for API requests ( #32656 )
...
A small drive-by that came out of working on
https://github.com/microsoft/playwright/issues/32653 .
2024-09-18 08:21:10 +02:00
Simon Knott
8a97050822
feat(har): record securityDetails for API Requests ( #32664 )
...
While working on https://github.com/microsoft/playwright/pull/32658 I
discovered that we're recording `securityDetails` for browser requests,
but not for API requests. This PR fixes that.
2024-09-18 08:18:47 +02:00
Simon Knott
443f72dcbe
feat(watch): hide show-report prompt ( #32666 )
...
Closes https://github.com/microsoft/playwright/issues/32665
2024-09-18 08:17:13 +02:00
Pavel Feldman
355c88f48f
chore: iterate towards recording into trace ( #32646 )
2024-09-17 18:26:44 -07:00
Yury Semikhatsky
4c4d74ca5b
chore: page.screenshot() in bidi ( #32671 )
...
The results are copied from the existing chromium expectations.
2024-09-17 16:51:56 -07:00
Yury Semikhatsky
8b84b20dd0
chore: back-forward in bidi ( #32670 )
2024-09-17 16:02:13 -07:00
Yury Semikhatsky
375a1c4982
chore: exposeBinding/exposeFunction in bidi ( #32669 )
2024-09-17 15:37:42 -07:00
Yury Semikhatsky
ad70e7a783
fix(trace-viewer): time delta between local and remote actions ( #32661 )
2024-09-17 11:14:15 -07:00
오소현
8761dafc73
feat(test runner): allow to pass arbitrary location to test.step ( #32504 )
...
Fixes https://github.com/microsoft/playwright/issues/30160
### Description:
This pull request introduces the ability to specify custom locations for
test steps in Playwright. By enabling the provision of arbitrary
locations to the test.step method, it resolves the limitation where
helper methods obfuscate the original call site, providing more accurate
and meaningful location data in test reports.
### Motivation:
To enhance the utility and clarity of test reports in Playwright.
Specifically, it addresses the need to trace test steps back to their
precise location in the code, which is especially important when steps
are abstracted in helper functions. This feature is crucial for
maintaining accurate documentation and facilitating debugging processes.
### Changes:
Added functionality to pass a custom location object to test.step.
### Expected Outcome:
This PR is expected to significantly improve the precision and
usefulness of diagnostic data in test reports by allowing specific
locations within helper functions to be accurately documented. It
facilitates better tracking of test executions and simplifies the
debugging process, making it easier for developers to understand and
address issues within complex tests.
### References:
Closes https://github.com/microsoft/playwright/issues/30160 -
"[Feature]: allow to pass arbitrary location to test.step"
**Code Check**
I conducted tests on this new feature by integrating it into some
existing test codes, and it worked well. I will attach the code used for
testing and a screenshot showing the successful outcome.
<details>
<summary>toggle dropdown</summary>
<div markdown="1">
```
import type { Location } from '../../../packages/playwright/types/testReporter'
...
test('should respect the back button', async ({ page }) => {
await page.locator('.todo-list li .toggle').nth(1).check();
await checkNumberOfCompletedTodosInLocalStorage(page, 1);
...
await test.step('Showing active items', async () => {
await page.getByRole('link', { name: 'Active' }).click();
}, {location});
```
<img width="1109" alt="image"
src="https://github.com/user-attachments/assets/359feafa-0949-4c71-9426-46debef21bdd ">
</div>
</details>
2024-09-17 08:11:21 -07:00
Max Schmitt
507e515cb2
chore: remove unused @babel/parser ( #32654 )
2024-09-17 16:14:24 +02:00
Simon Knott
751b939d3a
feat(fetch): record timings ( #32613 )
...
Related to https://github.com/microsoft/playwright/issues/19621
Adds some instrumentation to collect timings for `APIRequestContext`
requests and adds them to the HAR trace. Doesn't yet expose them via an
API, but makes our `Duration` field in the trace viewer show a nice
duration:
<img width="1392" alt="Screenshot 2024-09-14 at 11 46 04"
src="https://github.com/user-attachments/assets/8020382d-9494-4634-9cfd-22b6f4a1d770 ">
I'm gonna add it to our API in a separate PR.
---------
Signed-off-by: Simon Knott <info@simonknott.de>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-09-17 16:11:21 +02:00
Max Schmitt
c216c25a1d
feat(html-reporter): add file name copy button ( #32652 )
2024-09-17 15:54:22 +02:00
Simon Knott
f6219e6e79
Revert "feat(tracing): add .pwtrace to trace file extension" ( #32648 )
...
Reverts microsoft/playwright#32581
Relates
https://github.com/microsoft/playwright/issues/32226#issuecomment-2351164727
2024-09-17 15:32:30 +02:00
Simon Knott
ec2ae1ed2d
feat(watch mode): buffer mode ( #32631 )
...
Closes https://github.com/microsoft/playwright/issues/32578 .
Adds a buffer mode that can be toggled by pressing <kbd>b</kbd>. When
engaged, changed test files are collected and shown on screen. The test
run is then kicked off by pressing <kbd>Enter</kbd>.
This changes the signal to start a test run from <kbd>Cmd+s</kbd> to a
<kbd>Enter</kbd> press in the test terminal. It should help users with
auto-save and make it easier to run on long-running tests. It feels very
similar to running `npx playwright test`, but without having to write a
filter.
https://github.com/user-attachments/assets/71e16139-9427-4e90-b523-8d218f09ed9d
2024-09-17 08:45:44 +02:00
Simon Knott
b0f15b320f
fix(recorder): reattach toolbar if it was unmounted by framework hydration ( #32637 )
...
Closes https://github.com/microsoft/playwright/issues/32632 . A side
effect of Remix's hydration implementation is that it throws away the
entire DOM. This is broadly discussed in
https://github.com/remix-run/remix/issues/4822 - there might be a fix in
coming React versions, but who knows.
Besides breaking browser extensions, this also deletes our toolbar!
This PR fixes it by periodically checking in on `x-pw-glass`, and
remounting it if it was unmounted. Hacky but effective!
2024-09-17 08:37:49 +02:00
Pavel Feldman
47713e8a66
chore: make recorder tests pass in frozen mode ( #32645 )
2024-09-16 22:47:54 -07:00
Pavel Feldman
3bff7b6ab1
chore: preserve selected trace action in live trace ( #32630 )
2024-09-16 17:33:52 -07:00
Yury Semikhatsky
2a347b5494
chore: support launchPersistentContext with bidi ( #32641 )
2024-09-16 17:31:26 -07:00
Pavel Feldman
6dbde62a6b
chore: simplify signal handling while recording ( #32624 )
2024-09-16 14:39:36 -07:00
Pavel Feldman
92c6408b94
fix(recorder): address the react race condition ( #32628 )
2024-09-16 13:47:13 -07:00
Dmitry Gozman
ce06a81aa6
feat: make npx playwright clear-cache public ( #32638 )
2024-09-16 12:54:20 -07:00
Max Schmitt
21d162c945
feat(client-certificates): add support for proxies ( #32611 )
...
Fixes https://github.com/microsoft/playwright/issues/32370
2024-09-16 17:57:33 +02:00
Max Schmitt
b335b00a86
docs: add reference to locator strictness if or resolves to multiple elements ( #32633 )
2024-09-16 17:30:14 +02:00
Playwright Service
feac957475
feat(webkit): roll to r2077 ( #32636 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-16 17:18:01 +02:00
Anthony Roberts
71c43693ac
feat(reporter): add copy button for annotations ( #31790 )
...
Adds a copy-to-clipboard button for each annotation so that text can be
copied easily.
This re-uses the existing `CopyToClipboard` component and adds a `small`
variant that can be used inline. The icon size and colour have been
chosen to avoid being overwhelming when used inline.
Related to #30141
I opted not to introduce the hover behaviour from #30749 as it's less
discoverable, but can understand why that might be favourable. Certainly
open to suggestions 😄
<img width="379" alt="Screenshot 2024-07-22 at 3 23 53 PM"
src="https://github.com/user-attachments/assets/3b9998cf-2e8d-40c9-9c8a-64eab3a9ed2e ">
2024-09-16 07:57:11 -07:00
Dmitry Gozman
268357238a
fix(expect): respect custom message in expect.poll ( #32603 )
...
Fixes #32582 .
2024-09-16 00:10:06 -07:00
Simon Knott
aeb4d182f7
feat(tracing): add .pwtrace to trace file extension ( #32581 )
...
Closes https://github.com/microsoft/playwright/issues/32226
I've updated every mention of `.trace.zip` except for the release notes.
2024-09-14 10:17:07 +02:00
Yury Semikhatsky
34876e9291
chore: cookies in intercepted bidi requests ( #32623 )
2024-09-13 18:29:35 -07:00
Matthew Jee
f2a974b045
feat(api): add method to force garbage collection ( #32383 )
2024-09-13 23:09:36 +02:00
Playwright Service
5b28d2a84c
feat(firefox): roll to r1464 ( #32614 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-13 18:12:43 +02:00
Playwright Service
b82100adf5
feat(firefox-beta): roll to r1464 ( #32615 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-13 18:12:35 +02:00
Max Schmitt
79cba7d704
chore: introduce option overrides on context/browser ( #32606 )
2024-09-13 17:34:34 +02:00
Simon Knott
9bb1c86f93
feat(test runner): don't run tests on --watch start ( #32583 )
...
Closes https://github.com/microsoft/playwright/issues/32580 .
2024-09-13 17:24:38 +02:00
Max Schmitt
9e99c86f00
chore: unhide merge-reports command ( #32605 )
2024-09-13 16:13:23 +02:00
Playwright Service
e3370c9eb0
feat(webkit): roll to r2075 ( #32610 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-13 15:13:11 +02:00
Simon Knott
48c7fb6b06
feat(library): accept FormData in fetch ( #32602 )
...
Closes https://github.com/microsoft/playwright/issues/26520 by accepting
`FormData`, which became stable in Node.js in v21.
2024-09-13 13:21:02 +02:00
Pavel Feldman
cd4dabef8b
chore: remove stray codegen signal handling ( #32599 )
2024-09-12 14:38:23 -07:00
Pavel Feldman
7e3348eb0e
chore: recorder is trace viewer experiment ( #32598 )
2024-09-12 13:39:44 -07:00
Pavel Feldman
de08e729ae
chore: move recorder trace to action collector ( #32597 )
2024-09-12 12:42:28 -07:00
Pavel Feldman
d051495c7a
chore: perform double click while recording ( #32576 )
2024-09-12 11:40:44 -07:00
Max Schmitt
5e086be36b
chore: freeze ffmpeg on macOS-12 ( #32596 )
2024-09-12 20:32:34 +02:00
Simon Knott
ef4be6afff
feat(test runner): make expect.extend immutable ( #32366 )
...
Changes `expect.extend` behaviour so that it doesn't mutate the global
instance and behaves closer to what users expect. This is formally a
breaking change, and I had to remove a test that asserts the breaking
behaviour.
TODO:
- [x] decide wether this is a separate method or a flag for
`expect.extend`
- [x] figure out if we need to change docs
2024-09-12 19:56:38 +02:00
Simon Knott
c9f3eb158e
feat(ui): highlight output toggle button if terminal contains error ( #32392 )
...
Closes https://github.com/microsoft/playwright/issues/32368
<img width="412" alt="Screenshot 2024-08-30 at 13 22 39"
src="https://github.com/user-attachments/assets/76cadcd9-e92a-44d9-80fc-b4e04702e71e ">
2024-09-12 19:40:40 +02:00
Playwright Service
470b1b4922
feat(chromium-tip-of-tree): roll to r1259 ( #32588 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-12 13:46:33 +02:00
Playwright Service
b1b33efebb
feat(chromium): roll to r1135 ( #32591 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-12 13:46:15 +02:00
Teng Yang
6a0009f9ed
fix(trace-viewer): fix ui issue on network request details ( #32553 )
2024-09-12 12:26:51 +02:00
Dmitry Gozman
29a0f49e9b
chore(test runner): simplify code around running tasks ( #32557 )
...
This avoids complex boilerplate around `onConfigure`/`onEnd`/`onExit`
and managing the resulting status.
2024-09-11 13:09:00 -07:00
Playwright Service
6f52834f74
feat(webkit): roll to r2073 ( #32563 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-11 20:39:01 +02:00
Max Schmitt
7458c3292c
fix(test-runner): do not consider retries for maxFailures ( #32533 )
...
Fixes https://github.com/microsoft/playwright/issues/26350
2024-09-11 20:35:26 +02:00
Playwright Service
aaac57b948
feat(webkit): roll to r2072 ( #32550 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-11 13:02:03 +02:00
Dmitry Gozman
7335fa602c
fix(trace viewer): do not show multiple action points in iframes ( #32537 )
...
When action has an input target, we assume there is a target element in
one of the frames and show action point in its center.
Fixes #32453 .
2024-09-11 03:04:03 -07:00
Yury Semikhatsky
a4bd551597
docs: TestInfo.titlePath does not include project ( #32548 )
2024-09-10 16:52:12 -07:00
Dmitry Gozman
356517cddb
chore(test runner): extract LastRunReporter ( #32540 )
2024-09-10 12:14:44 -07:00
Dmitry Gozman
b5d968fa0e
chore: make ReporterV2 a partial interface ( #32532 )
...
This makes it easier to write reporters by avoding empty methods.
2024-09-10 06:08:54 -07:00
Simon Knott
ec40890fd8
fix(tracing): use page swap timestamp to find closest screenshot ( #32512 )
...
Follow-up to https://github.com/microsoft/playwright/pull/32248 . When we
have it, we should use the page swap timestamp we get from Chromium to
find the closest screenshot.
2024-09-10 14:32:33 +02:00
Rui Figueira
f8562e4ca7
chore: improve error message when Array.toJSON misbehaves ( #32508 )
...
Fixes : #32507
2024-09-10 04:14:24 -07:00