ProtoTest.Web.Playwright 1.0.1

dotnet add package ProtoTest.Web.Playwright --version 1.0.1
                    
NuGet\Install-Package ProtoTest.Web.Playwright -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ProtoTest.Web.Playwright" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ProtoTest.Web.Playwright" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="ProtoTest.Web.Playwright" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ProtoTest.Web.Playwright --version 1.0.1
                    
#r "nuget: ProtoTest.Web.Playwright, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ProtoTest.Web.Playwright@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ProtoTest.Web.Playwright&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=ProtoTest.Web.Playwright&version=1.0.1
                    
Install as a Cake Tool

ProtoTest.Web.Playwright

The Playwright execution backend for ProtoTest.Web, with a per-test browser pool and an opt-in install probe.

dotnet add package ProtoTest.Web.Playwright

Quick start

builder.AddWeb(options =>
{
    options.Browser = PlaywrightBrowser.Chromium;   // the default
    options.InstallBrowsers = true;                 // download it when missing (clean machines, CI)
    options.TraceRetention = PlaywrightTraceRetention.OnWebFailure;
});

// Gate browser tests when the machine may not have the browser installed.
[RequiresPlaywrightBrowser]
[ProtoTest]
public async Task Projects_render() { }

What it adds

  • Backend — AddWeb(options?) on the host builder or an application registers the Playwright backend, the browser pool and the Playwright browser capability.
  • Native escape hatch — web.GetBackendAsync<PlaywrightWebBackend>() exposes Page and BrowserContext; the synchronous GetBackend<PlaywrightWebBackend>() works only after initialization.
  • Skip probe — [RequiresPlaywrightBrowser], [RequiresPlaywrightBrowser(channel: "msedge")] and [RequiresPlaywrightBrowser(Session = "Admin")] probe without launching a browser; InstallBrowsers = true never skips.
  • Diagnostics — console, page-error and request-failure events; on failure a full-page screenshot, DOM, location and (per retention) a native playwright-{session}-trace.zip.
  • Page coverage — CurrentAddress is Page.Url, so a navigation is attributed to the page it landed on after redirects.

Configuration

Under ProtoTest:Web:Playwright, and per session under ProtoTest:Web:Sessions:{name} (session wins).

Key Type Default
Browser PlaywrightBrowser (Chromium, Firefox, Webkit) Chromium
Headless bool true
SlowMo float? (ms) null
Channel string? (msedge, chrome, …) null
InstallBrowsers bool false
Context BrowserNewContextOptions (nested keys bind) new()
TraceRetention PlaywrightTraceRetention (Off, OnWebFailure, Always) OnWebFailure
CorrelateTraceGroups bool true
ConsoleCapture PlaywrightConsoleCapture (Off, Errors, WarningsAndErrors, All) WarningsAndErrors
CapturePageErrors bool true
CaptureRequestFailures bool true

The browser pool is scoped to one test: sessions of a test share a process only when their launch options match. InstallBrowsers is ignored when Channel is set, and only a real launch can prove a channel works.

Learn more

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 112 9/20/2026
1.0.0 90 9/20/2026