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" />
<PackageReference Include="ProtoTest.Web.Playwright" />
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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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
#tool nuget:?package=ProtoTest.Web.Playwright&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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 thePlaywrightbrowser capability. - Native escape hatch —
web.GetBackendAsync<PlaywrightWebBackend>()exposesPageandBrowserContext; the synchronousGetBackend<PlaywrightWebBackend>()works only after initialization. - Skip probe —
[RequiresPlaywrightBrowser],[RequiresPlaywrightBrowser(channel: "msedge")]and[RequiresPlaywrightBrowser(Session = "Admin")]probe without launching a browser;InstallBrowsers = truenever 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 —
CurrentAddressisPage.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 | Versions 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.
-
net10.0
- Microsoft.Playwright (>= 1.62.0)
- ProtoTest.Web (>= 1.0.1)
-
net8.0
- Microsoft.Playwright (>= 1.62.0)
- ProtoTest.Web (>= 1.0.1)
-
net9.0
- Microsoft.Playwright (>= 1.62.0)
- ProtoTest.Web (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.