Skip to content

Bump playwright to v1.60.0#419

Merged
Tsingis merged 1 commit into
mainfrom
renovate/playwright
May 22, 2026
Merged

Bump playwright to v1.60.0#419
Tsingis merged 1 commit into
mainfrom
renovate/playwright

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 22, 2026

This PR contains the following updates:

Package Change Age Confidence Type Update
Microsoft.Playwright 1.59.01.60.0 age confidence nuget minor
mcr.microsoft.com/playwright/dotnet v1.59.0-noblev1.60.0-noble age confidence final minor

Release Notes

microsoft/playwright-dotnet (Microsoft.Playwright)

v1.60.0

💬 Custom assertion messages

Expect() overloads now accept a custom message that is prepended to any failure, giving extra context in test reports:

await Expect(page.Locator("#status"), "Should be logged in").ToBeVisibleAsync();

When the assertion fails, the message is prefixed:

Should be logged in
Locator expected to be visible

🌐 HAR recording on Tracing

Tracing.StartHarAsync() / Tracing.StopHarAsync() expose HAR recording as a first-class tracing API, with the same Content, Mode and UrlFilter options as RecordHar:

await context.Tracing.StartHarAsync("trace.har");
var page = await context.NewPageAsync();
await page.GotoAsync("https://playwright.dev");
await context.Tracing.StopHarAsync();

🪝 Drop API

New Locator.DropAsync() simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches dragenter, dragover, and drop with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:

await page.Locator("#dropzone").DropAsync(new() {
    Files = new FilePayload() {
        Name = "note.txt",
        MimeType = "text/plain",
        Buffer = Encoding.UTF8.GetBytes("hello"),
    },
});

await page.Locator("#dropzone").DropAsync(new() {
    Data = new Dictionary<string, string> {
        ["text/plain"] = "hello world",
        ["text/uri-list"] = "https://example.com",
    },
});

🎯 Aria snapshots

New APIs

Browser, Context and Page
Locators and Assertions
Network
  • WebSocketRoute.Protocols returns the WebSocket subprotocols requested by the page.
  • New option NoDefaults in BrowserType.ConnectOverCDPAsync() disables Playwright's default overrides on the default context (download behavior, focus emulation, media emulation), so attaching to a user's daily-driver browser doesn't disturb its state.
Errors

🛠️ Other improvements

  • Trace Viewer adds a pretty-print toggle for JSON / form request and response bodies in the network details panel.

Breaking Changes ⚠️

  • Docker image bumped to .NET SDK 10; no more docker images are published for Ubuntu Jammy.
  • Removed long-deprecated Handle option on BrowserContext.ExposeBindingAsync and Page.ExposeBindingAsync.

Browser Versions

  • Chromium 148.0.7778.96
  • Mozilla Firefox 150.0.2
  • WebKit 26.4

This version was also tested against the following stable channels:

  • Google Chrome 147
  • Microsoft Edge 147

Configuration

📅 Schedule: (in timezone Europe/Helsinki)

  • Branch creation
    • Between 09:00 PM and 10:59 PM, only on Wednesday (* 21-22 * * 3)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@sonarqubecloud
Copy link
Copy Markdown

@Tsingis Tsingis merged commit 66df58e into main May 22, 2026
12 checks passed
@renovate renovate Bot deleted the renovate/playwright branch May 22, 2026 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant