Skip to content

Commit 9e137ca

Browse files
feat(roll): roll to ToT Playwright (02-02-26) (#1961)
Co-authored-by: microsoft-playwright-automation[bot] <203992400+microsoft-playwright-automation[bot]@users.noreply.github.com>
1 parent 27258fb commit 9e137ca

File tree

11 files changed

+63
-84
lines changed

11 files changed

+63
-84
lines changed

dotnet/docs/api/class-video.mdx

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ Alternatively, you can use [Video.StartAsync()](/api/class-video.mdx#video-start
1818
```csharp
1919
await page.Video.StartAsync();
2020
// ... perform actions ...
21-
await page.Video.StopAsync(new() { Path = "video.webm" });
21+
await page.Video.StopAsync();
22+
await page.Video.SaveAsAsync("video.webm");
2223
```
2324

2425

@@ -117,20 +118,14 @@ await page.Video.StopAsync(new() { Path = "video.webm" });
117118

118119
<font size="2" style={{position: "relative", top: "-20px"}}>Added in: v1.59</font><x-search>video.StopAsync</x-search>
119120

120-
Stops video recording started with [Video.StartAsync()](/api/class-video.mdx#video-start) and either saves or discards the video file.
121+
Stops video recording started with [Video.StartAsync()](/api/class-video.mdx#video-start). Use [Video.PathAsync()](/api/class-video.mdx#video-path) or [Video.SaveAsAsync()](/api/class-video.mdx#video-save-as) methods to access the video file.
121122

122123
**Usage**
123124

124125
```csharp
125-
await Video.StopAsync(options);
126+
await Video.StopAsync();
126127
```
127128

128-
**Arguments**
129-
- `options` `VideoStopOptions?` *(optional)*
130-
- `Path` [string]? *(optional)*<a aria-hidden="true" tabIndex="-1" class="list-anchor-link" id="video-stop-option-path"/><a href="#video-stop-option-path" class="list-anchor">#</a>
131-
132-
Path where the video should be saved.
133-
134129
**Returns**
135130
- [void]<a aria-hidden="true" tabIndex="-1" class="list-anchor-link" id="video-stop-return"/><a href="#video-stop-return" class="list-anchor">#</a>
136131

dotnet/docs/ci.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
name: 'Playwright Tests'
7777
runs-on: ubuntu-latest
7878
container:
79-
image: mcr.microsoft.com/playwright/dotnet:v1.57.0-noble
79+
image: mcr.microsoft.com/playwright/dotnet:v1.58.0-noble
8080
options: --user 1001
8181
steps:
8282
- uses: actions/checkout@v5
@@ -159,7 +159,7 @@ trigger:
159159
160160
pool:
161161
vmImage: ubuntu-latest
162-
container: mcr.microsoft.com/playwright/dotnet:v1.57.0-noble
162+
container: mcr.microsoft.com/playwright/dotnet:v1.58.0-noble
163163
164164
steps:
165165
- task: UseDotNet@2
@@ -182,7 +182,7 @@ Running Playwright on CircleCI is very similar to running on GitHub Actions. In
182182
executors:
183183
pw-noble-development:
184184
docker:
185-
- image: mcr.microsoft.com/playwright/dotnet:v1.57.0-noble
185+
- image: mcr.microsoft.com/playwright/dotnet:v1.58.0-noble
186186
```
187187

188188
Note: When using the docker agent definition, you are specifying the resource class of where playwright runs to the 'medium' tier [here](https://circleci.com/docs/configuration-reference?#docker-execution-environment). The default behavior of Playwright is to set the number of workers to the detected core count (2 in the case of the medium tier). Overriding the number of workers to greater than this number will cause unnecessary timeouts and failures.
@@ -193,7 +193,7 @@ Jenkins supports Docker agents for pipelines. Use the [Playwright Docker image](
193193

194194
```groovy
195195
pipeline {
196-
agent { docker { image 'mcr.microsoft.com/playwright/dotnet:v1.57.0-noble' } }
196+
agent { docker { image 'mcr.microsoft.com/playwright/dotnet:v1.58.0-noble' } }
197197
stages {
198198
stage('e2e-tests') {
199199
steps {
@@ -210,7 +210,7 @@ pipeline {
210210
Bitbucket Pipelines can use public [Docker images as build environments](https://confluence.atlassian.com/bitbucket/use-docker-images-as-build-environments-792298897.html). To run Playwright tests on Bitbucket, use our public Docker image ([see Dockerfile](./docker.mdx)).
211211

212212
```yml
213-
image: mcr.microsoft.com/playwright/dotnet:v1.57.0-noble
213+
image: mcr.microsoft.com/playwright/dotnet:v1.58.0-noble
214214
```
215215

216216
### GitLab CI

dotnet/docs/docker.mdx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ This Docker image is intended to be used for testing and development purposes on
2222
### Pull the image
2323

2424
```bash
25-
docker pull mcr.microsoft.com/playwright/dotnet:v1.57.0-noble
25+
docker pull mcr.microsoft.com/playwright/dotnet:v1.58.0-noble
2626
```
2727

2828
### Run the image
@@ -34,15 +34,15 @@ By default, the Docker image will use the `root` user to run the browsers. This
3434
On trusted websites, you can avoid creating a separate user and use root for it since you trust the code which will run on the browsers.
3535

3636
```bash
37-
docker run -it --rm --ipc=host mcr.microsoft.com/playwright/dotnet:v1.57.0-noble /bin/bash
37+
docker run -it --rm --ipc=host mcr.microsoft.com/playwright/dotnet:v1.58.0-noble /bin/bash
3838
```
3939

4040
#### Crawling and scraping
4141

4242
On untrusted websites, it's recommended to use a separate user for launching the browsers in combination with the seccomp profile. Inside the container or if you are using the Docker image as a base image you have to use `adduser` for it.
4343

4444
```bash
45-
docker run -it --rm --ipc=host --user pwuser --security-opt seccomp=seccomp_profile.json mcr.microsoft.com/playwright/dotnet:v1.57.0-noble /bin/bash
45+
docker run -it --rm --ipc=host --user pwuser --security-opt seccomp=seccomp_profile.json mcr.microsoft.com/playwright/dotnet:v1.58.0-noble /bin/bash
4646
```
4747

4848
[`seccomp_profile.json`](https://github.com/microsoft/playwright/blob/main/utils/docker/seccomp_profile.json) is needed to run Chromium with sandbox. This is a [default Docker seccomp profile](https://github.com/docker/engine/blob/d0d99b04cf6e00ed3fc27e81fc3d94e7eda70af3/profiles/seccomp/default.json) with extra user namespace cloning permissions:
@@ -82,7 +82,7 @@ You can run Playwright Server in Docker while keeping your tests running on the
8282
Start the Playwright Server in Docker:
8383

8484
```bash
85-
docker run -p 3000:3000 --rm --init -it --workdir /home/pwuser --user pwuser mcr.microsoft.com/playwright:v1.57.0-noble /bin/sh -c "npx -y playwright@1.57.0 run-server --port 3000 --host 0.0.0.0"
85+
docker run -p 3000:3000 --rm --init -it --workdir /home/pwuser --user pwuser mcr.microsoft.com/playwright:v1.58.0-noble /bin/sh -c "npx -y playwright@1.58.0 run-server --port 3000 --host 0.0.0.0"
8686
```
8787

8888
#### Connecting to the Server
@@ -99,7 +99,7 @@ await using var browser = await playwright.Chromium.ConnectAsync("ws://127.0.0.1
9999
If you need to access local servers from within the Docker container:
100100

101101
```bash
102-
docker run --add-host=hostmachine:host-gateway -p 3000:3000 --rm --init -it --workdir /home/pwuser --user pwuser mcr.microsoft.com/playwright:v1.57.0-noble /bin/sh -c "npx -y playwright@1.57.0 run-server --port 3000 --host 0.0.0.0"
102+
docker run --add-host=hostmachine:host-gateway -p 3000:3000 --rm --init -it --workdir /home/pwuser --user pwuser mcr.microsoft.com/playwright:v1.58.0-noble /bin/sh -c "npx -y playwright@1.58.0 run-server --port 3000 --host 0.0.0.0"
103103
```
104104

105105
This makes `hostmachine` point to the host's localhost. Your tests should use `hostmachine` instead of `localhost` when accessing local servers.
@@ -132,9 +132,9 @@ Once this is enabled you can open the port specified in a new browser tab and yo
132132
See [all available image tags].
133133

134134
We currently publish images with the following tags:
135-
- `:v1.57.0` - Playwright v1.57.0 release docker image based on Ubuntu 24.04 LTS (Noble Numbat).
136-
- `:v1.57.0-noble` - Playwright v1.57.0 release docker image based on Ubuntu 24.04 LTS (Noble Numbat).
137-
- `:v1.57.0-jammy` - Playwright v1.57.0 release docker image based on Ubuntu 22.04 LTS (Jammy Jellyfish).
135+
- `:v1.58.0` - Playwright v1.58.0 release docker image based on Ubuntu 24.04 LTS (Noble Numbat).
136+
- `:v1.58.0-noble` - Playwright v1.58.0 release docker image based on Ubuntu 24.04 LTS (Noble Numbat).
137+
- `:v1.58.0-jammy` - Playwright v1.58.0 release docker image based on Ubuntu 22.04 LTS (Jammy Jellyfish).
138138

139139
:::note
140140

java/docs/api/class-video.mdx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ Alternatively, you can use [Video.start()](/api/class-video.mdx#video-start) and
1818
```java
1919
page.video().start();
2020
// ... perform actions ...
21-
page.video().stop(new Video.StopOptions().setPath(Paths.get("video.webm")));
21+
page.video().stop();
22+
page.video().saveAs(Paths.get("video.webm"));
2223
```
2324

2425

@@ -117,21 +118,14 @@ page.video().stop(new Video.StopOptions().setPath(Paths.get("video.webm")));
117118

118119
<font size="2" style={{position: "relative", top: "-20px"}}>Added in: v1.59</font><x-search>video.stop</x-search>
119120

120-
Stops video recording started with [Video.start()](/api/class-video.mdx#video-start) and either saves or discards the video file.
121+
Stops video recording started with [Video.start()](/api/class-video.mdx#video-start). Use [Video.path()](/api/class-video.mdx#video-path) or [Video.saveAs()](/api/class-video.mdx#video-save-as) methods to access the video file.
121122

122123
**Usage**
123124

124125
```java
125126
Video.stop();
126-
Video.stop(options);
127127
```
128128

129-
**Arguments**
130-
- `options` `Video.StopOptions` *(optional)*
131-
- `setPath` [Path] *(optional)*<a aria-hidden="true" tabIndex="-1" class="list-anchor-link" id="video-stop-option-path"/><a href="#video-stop-option-path" class="list-anchor">#</a>
132-
133-
Path where the video should be saved.
134-
135129
**Returns**
136130
- [void]<a aria-hidden="true" tabIndex="-1" class="list-anchor-link" id="video-stop-return"/><a href="#video-stop-return" class="list-anchor">#</a>
137131

nodejs/docs/api/class-video.mdx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ Alternatively, you can use [video.start()](/api/class-video.mdx#video-start) and
1818
```js
1919
await page.video().start();
2020
// ... perform actions ...
21-
await page.video().stop({ path: 'video.webm' });
21+
await page.video().stop();
22+
await page.video().saveAs('video.webm');
2223
```
2324

2425

@@ -117,21 +118,14 @@ await page.video().stop({ path: 'video.webm' });
117118

118119
<font size="2" style={{position: "relative", top: "-20px"}}>Added in: v1.59</font><x-search>video.stop</x-search>
119120

120-
Stops video recording started with [video.start()](/api/class-video.mdx#video-start) and either saves or discards the video file.
121+
Stops video recording started with [video.start()](/api/class-video.mdx#video-start). Use [video.path()](/api/class-video.mdx#video-path) or [video.saveAs()](/api/class-video.mdx#video-save-as) methods to access the video file.
121122

122123
**Usage**
123124

124125
```js
125126
await video.stop();
126-
await video.stop(options);
127127
```
128128

129-
**Arguments**
130-
- `options` [Object] *(optional)*
131-
- `path` [string] *(optional)*<a aria-hidden="true" tabIndex="-1" class="list-anchor-link" id="video-stop-option-path"/><a href="#video-stop-option-path" class="list-anchor">#</a>
132-
133-
Path where the video should be saved.
134-
135129
**Returns**
136130
- [Promise]&lt;[void]&gt;<a aria-hidden="true" tabIndex="-1" class="list-anchor-link" id="video-stop-return"/><a href="#video-stop-return" class="list-anchor">#</a>
137131

nodejs/docs/ci.mdx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ jobs:
101101
name: 'Playwright Tests'
102102
runs-on: ubuntu-latest
103103
container:
104-
image: mcr.microsoft.com/playwright:v1.58.0-noble
104+
image: mcr.microsoft.com/playwright:v1.58.1-noble
105105
options: --user 1001
106106
steps:
107107
- uses: actions/checkout@v5
@@ -335,7 +335,7 @@ trigger:
335335
336336
pool:
337337
vmImage: ubuntu-latest
338-
container: mcr.microsoft.com/playwright:v1.58.0-noble
338+
container: mcr.microsoft.com/playwright:v1.58.1-noble
339339
340340
steps:
341341
- task: UseNode@1
@@ -359,7 +359,7 @@ Running Playwright on CircleCI is very similar to running on GitHub Actions. In
359359
executors:
360360
pw-noble-development:
361361
docker:
362-
- image: mcr.microsoft.com/playwright:v1.58.0-noble
362+
- image: mcr.microsoft.com/playwright:v1.58.1-noble
363363
```
364364

365365
Note: When using the docker agent definition, you are specifying the resource class of where playwright runs to the 'medium' tier [here](https://circleci.com/docs/configuration-reference?#docker-execution-environment). The default behavior of Playwright is to set the number of workers to the detected core count (2 in the case of the medium tier). Overriding the number of workers to greater than this number will cause unnecessary timeouts and failures.
@@ -382,7 +382,7 @@ Jenkins supports Docker agents for pipelines. Use the [Playwright Docker image](
382382

383383
```groovy
384384
pipeline {
385-
agent { docker { image 'mcr.microsoft.com/playwright:v1.58.0-noble' } }
385+
agent { docker { image 'mcr.microsoft.com/playwright:v1.58.1-noble' } }
386386
stages {
387387
stage('e2e-tests') {
388388
steps {
@@ -399,7 +399,7 @@ pipeline {
399399
Bitbucket Pipelines can use public [Docker images as build environments](https://confluence.atlassian.com/bitbucket/use-docker-images-as-build-environments-792298897.html). To run Playwright tests on Bitbucket, use our public Docker image ([see Dockerfile](./docker.mdx)).
400400

401401
```yml
402-
image: mcr.microsoft.com/playwright:v1.58.0-noble
402+
image: mcr.microsoft.com/playwright:v1.58.1-noble
403403
```
404404

405405
### GitLab CI
@@ -412,7 +412,7 @@ stages:
412412
413413
tests:
414414
stage: test
415-
image: mcr.microsoft.com/playwright:v1.58.0-noble
415+
image: mcr.microsoft.com/playwright:v1.58.1-noble
416416
script:
417417
...
418418
```
@@ -427,7 +427,7 @@ stages:
427427
428428
tests:
429429
stage: test
430-
image: mcr.microsoft.com/playwright:v1.58.0-noble
430+
image: mcr.microsoft.com/playwright:v1.58.1-noble
431431
parallel: 7
432432
script:
433433
- npm ci
@@ -442,7 +442,7 @@ stages:
442442
443443
tests:
444444
stage: test
445-
image: mcr.microsoft.com/playwright:v1.58.0-noble
445+
image: mcr.microsoft.com/playwright:v1.58.1-noble
446446
parallel:
447447
matrix:
448448
- PROJECT: ['chromium', 'webkit']
@@ -458,7 +458,7 @@ To run Playwright tests on Google Cloud Build, use our public Docker image ([see
458458

459459
```yml
460460
steps:
461-
- name: mcr.microsoft.com/playwright:v1.58.0-noble
461+
- name: mcr.microsoft.com/playwright:v1.58.1-noble
462462
script:
463463
...
464464
env:
@@ -476,7 +476,7 @@ type: docker
476476
477477
steps:
478478
- name: test
479-
image: mcr.microsoft.com/playwright:v1.58.0-noble
479+
image: mcr.microsoft.com/playwright:v1.58.1-noble
480480
commands:
481481
- npx playwright test
482482
```

nodejs/docs/docker.mdx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ This Docker image is intended to be used for testing and development purposes on
2222
### Pull the image
2323

2424
```bash
25-
docker pull mcr.microsoft.com/playwright:v1.58.0-noble
25+
docker pull mcr.microsoft.com/playwright:v1.58.1-noble
2626
```
2727

2828
### Run the image
@@ -34,15 +34,15 @@ By default, the Docker image will use the `root` user to run the browsers. This
3434
On trusted websites, you can avoid creating a separate user and use root for it since you trust the code which will run on the browsers.
3535

3636
```bash
37-
docker run -it --rm --ipc=host mcr.microsoft.com/playwright:v1.58.0-noble /bin/bash
37+
docker run -it --rm --ipc=host mcr.microsoft.com/playwright:v1.58.1-noble /bin/bash
3838
```
3939

4040
#### Crawling and scraping
4141

4242
On untrusted websites, it's recommended to use a separate user for launching the browsers in combination with the seccomp profile. Inside the container or if you are using the Docker image as a base image you have to use `adduser` for it.
4343

4444
```bash
45-
docker run -it --rm --ipc=host --user pwuser --security-opt seccomp=seccomp_profile.json mcr.microsoft.com/playwright:v1.58.0-noble /bin/bash
45+
docker run -it --rm --ipc=host --user pwuser --security-opt seccomp=seccomp_profile.json mcr.microsoft.com/playwright:v1.58.1-noble /bin/bash
4646
```
4747

4848
[`seccomp_profile.json`](https://github.com/microsoft/playwright/blob/main/utils/docker/seccomp_profile.json) is needed to run Chromium with sandbox. This is a [default Docker seccomp profile](https://github.com/docker/engine/blob/d0d99b04cf6e00ed3fc27e81fc3d94e7eda70af3/profiles/seccomp/default.json) with extra user namespace cloning permissions:
@@ -82,7 +82,7 @@ You can run Playwright Server in Docker while keeping your tests running on the
8282
Start the Playwright Server in Docker:
8383

8484
```bash
85-
docker run -p 3000:3000 --rm --init -it --workdir /home/pwuser --user pwuser mcr.microsoft.com/playwright:v1.58.0-noble /bin/sh -c "npx -y playwright@1.58.0 run-server --port 3000 --host 0.0.0.0"
85+
docker run -p 3000:3000 --rm --init -it --workdir /home/pwuser --user pwuser mcr.microsoft.com/playwright:v1.58.1-noble /bin/sh -c "npx -y playwright@1.58.1 run-server --port 3000 --host 0.0.0.0"
8686
```
8787

8888
#### Connecting to the Server
@@ -105,7 +105,7 @@ const browser = await playwright['chromium'].connect('ws://127.0.0.1:3000/');
105105
If you need to access local servers from within the Docker container:
106106

107107
```bash
108-
docker run --add-host=hostmachine:host-gateway -p 3000:3000 --rm --init -it --workdir /home/pwuser --user pwuser mcr.microsoft.com/playwright:v1.58.0-noble /bin/sh -c "npx -y playwright@1.58.0 run-server --port 3000 --host 0.0.0.0"
108+
docker run --add-host=hostmachine:host-gateway -p 3000:3000 --rm --init -it --workdir /home/pwuser --user pwuser mcr.microsoft.com/playwright:v1.58.1-noble /bin/sh -c "npx -y playwright@1.58.1 run-server --port 3000 --host 0.0.0.0"
109109
```
110110

111111
This makes `hostmachine` point to the host's localhost. Your tests should use `hostmachine` instead of `localhost` when accessing local servers.
@@ -138,9 +138,9 @@ Once this is enabled you can open the port specified in a new browser tab and yo
138138
See [all available image tags].
139139

140140
We currently publish images with the following tags:
141-
- `:v1.58.0` - Playwright v1.58.0 release docker image based on Ubuntu 24.04 LTS (Noble Numbat).
142-
- `:v1.58.0-noble` - Playwright v1.58.0 release docker image based on Ubuntu 24.04 LTS (Noble Numbat).
143-
- `:v1.58.0-jammy` - Playwright v1.58.0 release docker image based on Ubuntu 22.04 LTS (Jammy Jellyfish).
141+
- `:v1.58.1` - Playwright v1.58.1 release docker image based on Ubuntu 24.04 LTS (Noble Numbat).
142+
- `:v1.58.1-noble` - Playwright v1.58.1 release docker image based on Ubuntu 24.04 LTS (Noble Numbat).
143+
- `:v1.58.1-jammy` - Playwright v1.58.1 release docker image based on Ubuntu 22.04 LTS (Jammy Jellyfish).
144144

145145
:::note
146146

@@ -164,7 +164,7 @@ To run Playwright inside Docker, you need to have Node.js, [Playwright browsers]
164164
```Dockerfile
165165
FROM node:20-bookworm
166166

167-
RUN npx -y playwright@1.58.0 install --with-deps
167+
RUN npx -y playwright@1.58.1 install --with-deps
168168
```
169169

170170

0 commit comments

Comments
 (0)