Commit Graph

13577 Commits

Author SHA1 Message Date
Simon Knott
40670e6ffd
fix(emulate media): document "no-preference" as deprecated (#32881)
Closes https://github.com/microsoft/playwright/issues/32862.

`prefers-color-scheme: no-preference` was removed from browsers. This PR
marks it as deprecated in our docs and removes all mentions.

---------

Signed-off-by: Simon Knott <info@simonknott.de>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-10-04 16:49:32 +02:00
Simon Knott
80ff7c396a
chore(docs): fix code highlighting (#32927)
Closes https://github.com/microsoft/playwright/issues/32921

This is the diff when rolling to `playwright.dev` locally:
<img width="1262" alt="Screenshot 2024-10-02 at 14 54 42"
src="https://github.com/user-attachments/assets/aade7ad4-420c-48c4-a2c9-03fe815a3959">

---------

Signed-off-by: Simon Knott <info@simonknott.de>
2024-10-04 16:38:13 +02:00
Simon Knott
6be97f34dd
docs(test-reporters): replace reporter showcase with list of interesting OSS implementations (#32896)
As discussed yesterday, this PR replaces the "reporter showcase" with a
list of interesting implementations for folks who are writing their own
custom reporters.

---------

Signed-off-by: Simon Knott <info@simonknott.de>
2024-10-04 16:29:13 +02:00
Dmitry Gozman
84b4fd4e40
feat: wait for pending navigation to resolve before many actions (#32899)
This includes all actions that perform locator handler check.
    
Note this makes it impossible to interact with the page while a main
frame navigation is ongoing. This was already the case for Chromium, but
now WebKit and Firefox align with it.

Setting `PLAYWRIGHT_SKIP_NAVIGATION_CHECK` environment variable disables
this behavior.
2024-10-04 07:25:18 -07:00
Simon Knott
1b457b1ff8
fix(html reporter): render annotation newlines (#32948)
Closes https://github.com/microsoft/playwright/issues/32925. Before this
change, newlines in annotation descriptions weren't respected. This
change makes them shown. Here's how it looks for this annotation:

```ts
test.info().annotations.push({
  type: 'user story',
  description: '\n- user goes to the page\n- user clicks the button\n- user sees the result',
});
```

Before:

<img width="1071" alt="Screenshot 2024-10-04 at 09 55 15"
src="https://github.com/user-attachments/assets/89e74ff5-ea83-48da-a33b-833423916d95">

After:

<img width="1031" alt="Screenshot 2024-10-04 at 09 51 08"
src="https://github.com/user-attachments/assets/0f2914e8-bd88-4970-aa68-6a5a9828295c">
2024-10-04 14:18:38 +02:00
Simon Knott
ff0c498904
fix(ct-vue): update default slot should work (#32952)
Closes https://github.com/microsoft/playwright/issues/32809

We were writing onto the wrong object.
2024-10-04 14:18:21 +02:00
Dmitry Gozman
10d6812058
chore: clear pendingDocument() for the same-document navigation (#32954)
WebKit notifies about a pending same-document navigation through
`Page.frameScheduledNavigation`, and committing it should clear the
`pendingDocument()`.

Extracted from #32899.
2024-10-04 04:54:56 -07:00
Max Schmitt
895be9f8de
chore: lint java docs snippets (#32945) 2024-10-04 11:34:04 +02:00
Playwright Service
0a45549533
feat(chromium): roll to r1140 (#32949)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-04 11:14:08 +02:00
Max Schmitt
dfa4ab8726
test: speed up only-changed CT test (#32947) 2024-10-04 10:06:56 +02:00
Yury Semikhatsky
d7020cba63
test: scroll mobile page with background-attachment: fixed (#31992)
Reference: https://github.com/microsoft/playwright/issues/31551
Reference: https://github.com/microsoft/playwright/issues/23573
2024-10-03 18:16:49 -07:00
Dmitry Gozman
6b1d0361cd
fix(chromium): reset mouse position upon page reuse (#32944)
Similarly to Firefox, move the mouse to (-1, -1) upon page reuse. This
fixes the corresponding test on all platforms.
2024-10-03 08:09:00 -07:00
Dmitry Gozman
d98fa5da2f
test: update some expectations for headed chromium, unskip tests (#32943) 2024-10-03 07:59:48 -07:00
Playwright Service
076a6e84a1
feat(chromium-tip-of-tree): roll to r1266 (#32942)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-03 16:03:30 +02:00
Dmitry Gozman
0ffac886e8
test: fix android tests (#32932)
One test is removed, since it's impossible to fix. Hopefully, the rest
will pass.
2024-10-03 03:37:43 -07:00
Dmitry Gozman
3c5967d4f5
fix(trace viewer): clear old highlighted elements upon change (#32917)
When the list of highlighted elements changes over time, we should
update the elements marked as `__playwright_target__` in the snapshot.

A good example is an `expect(locator).toHaveText([...])` where the list
of elements changes from 4 items to 3 after clicking a "Delete" button.
2024-10-02 23:48:26 -07:00
Playwright Service
616425a0fb
feat(firefox): roll to r1465 (#32938) 2024-10-03 08:25:44 +02:00
Max Schmitt
8715652a0d
devops: don't run codegen tests in trace-events mode (#32810) 2024-10-02 23:22:00 +02:00
Yury Semikhatsky
d7651b8f56
chore(bidi): disable firefox tracing on CI (#32935)
Disabling as it produces [too much
output](https://github.com/microsoft/playwright/pull/32908#issuecomment-2387914821).
2024-10-02 11:16:56 -07:00
Simon Knott
29ffcdfc4e
test(html reporter): filtering by type works (#32931)
The folks who opened
https://github.com/microsoft/playwright/issues/32925 would benefit from
filtering by annotation existence. Turns out we already have it! This PR
adds a test to ensure it stays that way.
2024-10-02 16:29:27 +02:00
Dmitry Gozman
face24dc66
test: unflake/skip a few tests (#32929) 2024-10-02 06:58:21 -07:00
Max Schmitt
31a4a74598
chore: do not create a GitHub Status Check for merge results (#32928) 2024-10-02 15:23:42 +02:00
Simon Knott
3a5bf1cc1d
fix(trace viewer): reveal stack for highlighted action (#32919)
Closes https://github.com/microsoft/playwright/issues/32915.

In the `Call` and `Logs` tabs, we update the contents based on the
hovered action. We document that this is also the case for the `Source`
tab:


78054a7652/docs/src/test-ui-mode-js.md (L61-L65)

But it isn't. Not sure if it's a regression or not, but this PR fixes
it.
2024-10-02 13:30:44 +02:00
Max Schmitt
6373fe703d
docs: fix Java/.NET types for docs rolling (#32924) 2024-10-02 13:27:56 +02:00
Max Schmitt
67c37cf813
docs(ci): recommend noble instead of jammy (#32923) 2024-10-02 13:12:11 +02:00
Viet Nguyen Duc
dbf7976dd8
docs(selenium): update docker image tag in feat Playwright connect Selenium Grid (#32777) 2024-10-02 11:34:05 +02:00
Simon Knott
6ccaad3a1b
chore: call out that that the vscode extension is for Node.js (#32882)
In https://github.com/microsoft/playwright/issues/32861, an interested
.NET user wanted to try Playwright and found the VS Code Getting Started
guide. It didn't work for them because the VS Code Extension is for
usage with Node.js, and they don't have NPM installed. We can reduce
confusion by mentioning that VS Code Getting started is for Node.js.

---------

Signed-off-by: Simon Knott <info@simonknott.de>
2024-10-02 11:19:51 +02:00
Simon Knott
208a54529d
fix(ct-react): support shorthand fragment notation (#32900)
Closes https://github.com/microsoft/playwright/issues/32853

Vite turns the shorthand fragment notation `<></>` into `import {
Fragment } from "react"; <Fragment></Fragment>`. On the Node.js side of
things, this `react` import resolves to our mock version of React, which
currently mocks `Fragment` as `{}`. Currently, we pass that straight to
`React.createElement`, which throws an error.

The fix is to make our `Fragment` mock detectable with a tag, and when
we render it replace it with the real `__pwReact.Fragment`.
2024-10-02 11:19:09 +02:00
Playwright Service
0fd9452127
feat(webkit): roll to r2084 (#32912)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-02 09:02:32 +02:00
Dmitry Gozman
773202867d
feat(trace): highlight strict mode violation elements in the snapshot (#32893)
This is fixing a case where the test failed with strict mode violation,
but all the matched elements are not highlighted in the trace.

For example, all the buttons will be highlighted when the following line
fails due to strict mode violation:
```ts
await page.locator('button').click();
```

To achieve this, we mark elements during `querySelector` phase instead
of inside `onBeforeInputAction`. This allows us to only mark from inside
the `InjectedScript` and remove the other way of marking from inside the
`Snapshotter`.
2024-10-02 00:00:45 -07:00
Max Schmitt
daac0ddd24
fix(fetch): fallback to given URL if baseURL is invalid (#32911) 2024-10-01 22:43:32 +02:00
Max Schmitt
c84305ed73
test: retry installation tests up to 3 times (#32910)
Installation tests can fail due to e.g. network issues. Lets align with
library tests and retry up to 3 times.
2024-10-01 13:12:38 -07:00
Yury Semikhatsky
228eb141db
chore(bidi): enable logs in Firefox on CI (#32908) 2024-10-01 11:15:27 -07:00
Max Schmitt
78054a7652
chore: remove 'screenshot instead of snapshot' usages (#32905)
Fixes https://github.com/microsoft/playwright/issues/32904
2024-10-01 18:38:10 +02:00
Playwright Service
00e1a99d65
feat(chromium): roll to r1139 (#32906)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-01 18:18:45 +02:00
Playwright Service
8688af0580
feat(chromium-tip-of-tree): roll to r1265 (#32894)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-01 16:02:21 +02:00
Playwright Service
60db16bad3
feat(chromium): roll to r1138 (#32898)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-01 15:15:00 +02:00
Simon Knott
4bcfa56a13
chore(test runner): mention different timeout (#32883)
In https://github.com/microsoft/playwright/issues/32872, a user notes
that we document `.focus()` to not timeout by default, but in practice
when used without the test runner, it defaults to a 30s timeout.

I've discussed this with Dima, and he noted that our JS documentation
focuses on usage with the Playwright test runner, not with the library.
The test runner disables timeouts for operations in favour of timeouts
for test cases. In the library, we default to a 30s timeouts. This PR
adds this to the "key differences" table.
2024-10-01 11:46:42 +02:00
Max Schmitt
6f16b6cc08
chore: unflake 'should record' (#32880) 2024-09-30 20:32:04 +02:00
Dmitry Gozman
6f99d48a12
test: unflake two tests (#32879)
- the test that closes a context must not be a "page test";
- account for stray browser requests in the proxy test.
2024-09-30 07:49:18 -07:00
Simon Knott
c67a7335ab
chore(ui): ensure that --ignore-snapshots is respected (#32875)
Closes https://github.com/microsoft/playwright/issues/32868.

The actual fix was already delivered in
https://github.com/microsoft/playwright/pull/32798/files#diff-98ff2ff92b08ca7e8b274abb3ba6b2eec9bab332e340d062cc18ad1dfe505bf2R299,
this PR adds a test to ensure we don't regress.
2024-09-30 15:12:37 +02:00
Max Schmitt
b78103ba50
devops: simplify 'headed' testing matrix (#32878) 2024-09-30 14:40:56 +02:00
Max Schmitt
dde8090916
devops: unite channel tests into single GHA matrix workflows (#32876) 2024-09-30 14:24:05 +02:00
Dmitry Gozman
011034050b
chore: update browser patches to 09195c9 (#32877) 2024-09-30 05:14:45 -07:00
Dmitry Gozman
541ce9f0bb
chore: mark 1.49.0-next (#32873) 2024-09-30 04:24:57 -07:00
Max Schmitt
d3e38c32af
devops: align macOS versions in workflows (#32871) 2024-09-30 12:42:47 +02:00
Simon Knott
aa3146785f
fix(ui): turn "copy as fetch" into text button (#32858)
Turns the "copy as fetch" text with a copy button into a text button, as
discussed in the meeting.


https://github.com/user-attachments/assets/01f72f0b-e3f2-440e-a75d-33385aabeec4
2024-09-30 03:01:56 -07:00
Max Schmitt
412073253f
test: unflake microphone/video tests on macOS 15 (#32870) 2024-09-30 10:31:15 +02:00
Max Schmitt
df16f6efb4
test: skip avif test on linux/webkit (#32869) 2024-09-30 10:30:45 +02:00
Adam Patridge
2f7b06736f
chore(contributing.md): markdown list item adjustments (#32859) 2024-09-30 09:48:01 +02:00