Commit Graph

4805 Commits

Author SHA1 Message Date
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