Commit Graph

12298 Commits

Author SHA1 Message Date
Dmitry Gozman
e4403dd6c8
fix(chromium): race between requestPaused and requestWillBeSent in workers (#30125)
Workers use page's session for `Fetch` domain and worker's session for
`Network` domain. Therefore, `CRNetworkManager` should keep track of the
right session for each domain separately.

This is covered by currently flaky tests:
- `should report and intercept network from nested worker`,
- `should intercept network activity from worker`,
- `should intercept network activity from worker 2`.
2024-03-26 11:11:09 -07:00
Dmitry Gozman
dd1eca2a9d
fix(trace viewer): show correct number of pages without screencast (#30124)
Exposed by the flaky "should open two trace files" test.
2024-03-26 10:25:12 -07:00
Pavel Feldman
0bf635ecce
chore: ensure max failures exit yields erroneous status code (#30120)
Fixes https://github.com/microsoft/playwright/issues/30118
2024-03-26 09:20:13 -07:00
Julian Luis Almandos
c27ec77d55
docs(test-projects-js.md): fix typo in "Test filtering" section (#30114) 2024-03-26 08:15:02 -07:00
Pavel Feldman
2de8a6b002
chore: move filter params into the clearCookies (#30111) 2024-03-26 08:12:26 -07:00
Playwright Service
1824ba118e
feat(chromium-tip-of-tree): roll to r1205 (#30119)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-26 15:19:59 +01:00
Andrey Lushnikov
397244c026
test: add a test for disabled cache with context-wide request interception (#30072)
References #30000
2024-03-25 22:03:24 -07:00
Max Schmitt
599185dd07
feat(ui-mode): show native tags in test tree (#30092)
This brings up the question that we would show the tag name twice if its
a tag in a title. This would be aligned to how HTML report is doing it.

Fixes https://github.com/microsoft/playwright/issues/29927

---------

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-03-26 01:06:22 +01:00
Dmitry Gozman
051afb9ce0
fix(test runner): update fixture teardown error message (#30109)
With the recent change that gave after hooks a separate timeout, fixture
teardown does not imply that "test finished successfully, but fixture
teardown was slow".
2024-03-25 17:04:03 -07:00
Playwright Service
8e27d67ecd
feat(webkit): roll to r1992 (#30110)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-26 00:06:46 +01:00
Max Schmitt
65d82797f1
fix(ct): ct ID clash on similar imports (#30108)
This restores the [best
effort](https://github.com/microsoft/playwright/pull/29407/files#diff-8dd3534dc5013c3779edeaded71324b0dd1c1807668f3c6d9e9a1aab1c20ae91L152)
logic if its a relativ path.

Fixes https://github.com/microsoft/playwright/issues/30085

---------

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Pavel Feldman <pavel.feldman@gmail.com>
2024-03-25 23:50:45 +01:00
Pavel Feldman
7039ad0d11
chore: follow up to the api review for test server (#30097) 2024-03-25 15:42:58 -07:00
Yury Semikhatsky
a849ea9741
feat(fetch): multiple fields with the same name in post data (#30104)
Rerefence https://github.com/microsoft/playwright/issues/28070
2024-03-25 15:39:45 -07:00
Dmitry Gozman
911d8effb9
feat(test runner): do not mock tty in the worker process (#30107)
This was historically done to make `console.log()` have colors. However,
this makes any other code that checks `process.stdout.isTTY` incorrectly
assume real TTY support.

Node18 and Node20 now respect `FORCE_COLOR=1` in console, so our default
behavior of forcing colors in the worker process just works out of the
box. See https://github.com/nodejs/node/pull/48034.
2024-03-25 15:31:58 -07:00
Yury Semikhatsky
4b3c596874
docs(fetch): multiple fields with the same name in java and .net (#30105)
Reference https://github.com/microsoft/playwright/issues/28070
2024-03-25 13:49:09 -07:00
Playwright Service
05cbb14d28
feat(firefox): roll to r1447 (#30080)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-25 19:48:38 +01:00
Max Schmitt
253a2f9a9c
chore: address UI Mode keyboard shortcut feedback (#30088)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-03-25 19:48:20 +01:00
Max Schmitt
e69355a6e2
test: skip 'should fulfill with gzip and readback' on Electron and Android (#30103) 2024-03-25 19:35:44 +01:00
Playwright Service
2e8db67f07
feat(firefox-beta): roll to r1447 (#30100)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-25 19:22:59 +01:00
Max Schmitt
f5823786fd
docs: migrate to newer :::warning syntax (#30089)
- Migrate from `:::warning` to `:::danger[Warning]`.
- Migrate from `:::caution` to `:::warning`.
- `:::warning` and `:::caution` were the color same before.
- `:::caution` is deprecated and gets removed in v4 of Docusaurus
- Also migrate to the [newer title
syntax](3877c1254f/packages/docusaurus-utils/src/markdownUtils.ts (L86-L91))

---------

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-03-25 19:22:15 +01:00
Max Schmitt
032f27ff84
docs: change if: always() to if: !cancelled() (#30102)
Fixes https://github.com/microsoft/playwright/issues/29451

See
https://github.com/microsoft/playwright/issues/29451#issuecomment-2008476721
for investigation.
2024-03-25 19:17:05 +01:00
Shriphad Rao
82804cce64
fix: time in ms for skip test (#30078)
Fixes https://github.com/microsoft/playwright/issues/29861
2024-03-25 08:51:09 -07:00
Dmitry Gozman
95d649b406
feat: address api review feedback for 1.43 (#30066)
- Update docs for `trace: retain-on-first-failure`.
- Update docs for `devtools` option.
- Rename `Locator.enterFrame()` to `Locator.contentFrame()`.
- Rename `FrameLocator.exitFrame()` to `FrameLocator.owner()`.
2024-03-25 07:42:13 -07:00
Dmitry Gozman
7a3c002944
fix(ct): allow importing json files (#30067)
While we are not fully resolving imports during compilation, do not
treat `json` as a non-importable asset.

Fixes #29926.
2024-03-25 07:41:54 -07:00
Pavel Feldman
1539cde034
chore: allow passing path to config to the test server (#30068) 2024-03-22 16:04:59 -07:00
Pavel Feldman
ee9432b9da
chore: send test params over the wire in ui mode (#30046) 2024-03-22 13:49:28 -07:00
Dmitry Gozman
c8e8d8f8bb
test: fulfilling with gzip should allow to read the body (#30065)
Fixes #29261.
2024-03-22 13:32:28 -07:00
Playwright Service
2443d6560f
feat(firefox-beta): roll to r1446 (#30062)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 21:27:33 +01:00
Dmitry Gozman
c1400a3db5
Revert "feat(codegen): add button to generate toHaveScreenshot statement (#29996)" (#30064)
This reverts commit 1bb463163b. Decided to
wait for a better VRT story.

References #29250.
2024-03-22 13:26:22 -07:00
Max Schmitt
14cd7953f3
devops(merge): validate zip before uploading (#30061) 2024-03-22 21:22:19 +01:00
Max Schmitt
4a67437704
devops(gha): move from always() to !cancelled() (#30060)
**Investigation:**

- According to
[here](https://github.com/microsoft/playwright/actions/runs/8351676198),
the job got cancelled, because someone force-pushed and another commit
took priority.
- We have `if: always()` for uploading the blobs, even if they are
cancelled. We expect, that the task before (`npx playwright test`)
finished writing the blob, but it didn't - cancelled in between. We
still upload - a broken one.
- We download the broken zip and it breaks from there on.

Proposed change: Instead of uploading always, upload if it did not get
cancelled.

Quoting from the GitHub Actions docs about `always()`:

> Warning: Avoid using always for any task that could suffer from a
critical failure, for example: getting sources, otherwise the workflow
may hang until it times out. If you want to run a job or step regardless
of its success or failure, use the recommended alternative: if: `${{
!cancelled() }}`

This is phase 1/2 where it changes our code to use this new condition.
The actual roll-out happens once it works for us.

Relates https://github.com/microsoft/playwright/issues/29451
2024-03-22 19:25:13 +01:00
Yury Semikhatsky
a511731f55
fix(html): keep projects from different bots separate (#30051) 2024-03-22 10:02:00 -07:00
Playwright Service
9ce83e10f4
feat(firefox): roll to r1446 (#30053)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 13:00:38 +01:00
Playwright Service
b834c0b9ed
feat(webkit): roll to r1991 (#30049)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 13:00:15 +01:00
Playwright Service
63cc132daa
feat(firefox-beta): roll to r1445 (#30028)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 12:59:21 +01:00
Dmitry Gozman
348d0c2bfa
test: can register service workers in an iframe (#30045)
References #29267.
2024-03-21 15:34:23 -07:00
Pavel Feldman
a9fc4de37e
chore: queue run and list commands from ui (#30033) 2024-03-21 14:28:07 -07:00
Dmitry Gozman
e0588446c0
feat(firefox): roll to 1445 (#30043) 2024-03-21 13:26:02 -07:00
Dmitry Gozman
ef57489cf9
test: iframe is covered by service workers (#30042)
References #29267.
2024-03-21 11:27:27 -07:00
Max Schmitt
352cb7fa08
feat(browser): roll Chromium to 1110 (#30039)
Browser roll bot was broken, got fixed by
3d4e0061bc.
2024-03-21 14:26:42 +01:00
Playwright Service
86d43131e9
feat(chromium-tip-of-tree): roll to r1204 (#30038)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-21 14:23:38 +01:00
Max Schmitt
3d4e0061bc
devops: fix roll_browser script
Signed-off-by: Max Schmitt <max@schmitt.mx>
2024-03-21 13:39:24 +01:00
Pavel Feldman
7ad0a12c23
chore: remove ui mode update globals (#30031) 2024-03-20 21:09:49 -07:00
Dmitry Gozman
3e73a6ce69
feat(test runner): show multiple errors, at most one per stage (#30024)
Previously, there was at most one "hard error", as opposite to multiple
"soft errors". This was done to preserve the historic behavior at the
time of introducing multiple `TestInfo.errors`.

With this change, every user callback that is executed `withRunnable()`
can throw an error and/or timeout, and both of these will end up in
`TestInfo.errors`.

Additionally, there is at most one "unhandled exception" error, to avoid
flooding the report with mass failures.

Drive-by: remove boolean arguments from `_failWithError()`.

Fixes #29876.
2024-03-20 21:01:30 -07:00
Dmitry Gozman
6f360f7207
feat(trace): do not record events that are not used in the viewer (#30030)
This is especially useful for network events that are already in the
har, but also get into the trace.
2024-03-20 21:01:17 -07:00
Dmitry Gozman
9d40f619c4
feat: deprecate "devtools" launch option (#30025)
References #29899.
2024-03-20 16:48:00 -07:00
Yury Semikhatsky
69e90f38c7
fix(codegen): import re in python (#30026)
Fixes https://github.com/microsoft/playwright/issues/30019
2024-03-20 16:38:28 -07:00
Pavel Feldman
8a1ff34578
chore: split ui mode view into files (#30029) 2024-03-20 16:00:35 -07:00
Yury Semikhatsky
69f2ae1e4d
test: intercepted requests bypass disk cache (#30011)
Reference https://github.com/microsoft/playwright/issues/30000
2024-03-20 15:43:29 -07:00
Pavel Feldman
48ccc9cbcd
chore: prepare to reuse test server from ui mode (6) (#30008) 2024-03-20 13:43:26 -07:00