Class PlaywrightWebBackend

Namespace
ProtoTest.Web.Playwright
Assembly
ProtoTest.Web.Playwright.dll
public sealed class PlaywrightWebBackend : IWebBackend, IAsyncDisposable, IWebBackendJavaScript, IWebBackendDiagnostics, IWebBackendDownloads
Inheritance
PlaywrightWebBackend
Implements
Inherited Members
Extension Methods

Properties

BrowserContext

public IBrowserContext BrowserContext { get; }

Property Value

IBrowserContext

CurrentAddress

The address the browser is on now, or null when the backend cannot report one. Page coverage reads it after a navigation (so a redirect is attributed to its final page) and after a passing assertion.

public string? CurrentAddress { get; }

Property Value

string

Name

public string Name { get; }

Property Value

string

Page

public IPage Page { get; }

Property Value

IPage

Methods

BeginOperationAsync(WebBackendOperationContext, CancellationToken)

Starts native trace correlation for a semantic operation. Grouping follows operation lineage: an operation joins the trace group of its explicit nesting scope (a WaitUntilAsync condition) instead of waiting on the gate that scope still holds. A second top-level operation started while another is in flight is not nested, and a fire-and-forget operation cannot leave a stale correlation behind because nothing is stored per flow.

public ValueTask BeginOperationAsync(WebBackendOperationContext operation, CancellationToken cancellationToken = default)

Parameters

operation WebBackendOperationContext
cancellationToken CancellationToken

Returns

ValueTask

CaptureFailureAsync(WebFailureContext, CancellationToken)

public ValueTask<IReadOnlyList<ProtoTestAttachment>> CaptureFailureAsync(WebFailureContext failure, CancellationToken cancellationToken = default)

Parameters

failure WebFailureContext
cancellationToken CancellationToken

Returns

ValueTask<IReadOnlyList<ProtoTestAttachment>>

CheckAsync(WebElementReference, bool, CancellationToken)

public ValueTask CheckAsync(WebElementReference element, bool isChecked, CancellationToken cancellationToken = default)

Parameters

element WebElementReference
isChecked bool
cancellationToken CancellationToken

Returns

ValueTask

ClickAsync(WebElementReference, CancellationToken)

public ValueTask ClickAsync(WebElementReference element, CancellationToken cancellationToken = default)

Parameters

element WebElementReference
cancellationToken CancellationToken

Returns

ValueTask

CompleteAsync(CancellationToken)

Finalizes artifacts while Core's normal test teardown can still publish them.

public ValueTask CompleteAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

ValueTask

CountAsync(WebElementReference, CancellationToken)

public ValueTask<int> CountAsync(WebElementReference elements, CancellationToken cancellationToken = default)

Parameters

elements WebElementReference
cancellationToken CancellationToken

Returns

ValueTask<int>

DisposeAsync()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.

public ValueTask DisposeAsync()

Returns

ValueTask

A task that represents the asynchronous dispose operation.

DownloadAsync(Func<CancellationToken, Task>, TimeSpan?, CancellationToken)

Runs the trigger and waits for the download it starts with Playwright's own waiter, then reads the completed file and its suggested name.

public ValueTask<WebDownload> DownloadAsync(Func<CancellationToken, Task> trigger, TimeSpan? timeout = null, CancellationToken cancellationToken = default)

Parameters

trigger Func<CancellationToken, Task>
timeout TimeSpan?
cancellationToken CancellationToken

Returns

ValueTask<WebDownload>

EndOperationAsync(WebBackendOperationContext, ProtoTraceOutcome, Exception?, CancellationToken)

Closes native diagnostic correlation started for a semantic operation.

public ValueTask EndOperationAsync(WebBackendOperationContext operation, ProtoTraceOutcome outcome, Exception? exception = null, CancellationToken cancellationToken = default)

Parameters

operation WebBackendOperationContext
outcome ProtoTraceOutcome
exception Exception
cancellationToken CancellationToken

Returns

ValueTask

EvaluateBooleanAsync(string, CancellationToken)

public ValueTask<bool> EvaluateBooleanAsync(string script, CancellationToken cancellationToken = default)

Parameters

script string
cancellationToken CancellationToken

Returns

ValueTask<bool>

EvaluateJsonAsync(string, CancellationToken)

Evaluates a JavaScript expression that answers with a JSON string (or null) and returns that string. The default answers null, so a backend that only speaks booleans stays usable; callers treat the result as best-effort.

public ValueTask<string?> EvaluateJsonAsync(string script, CancellationToken cancellationToken = default)

Parameters

script string
cancellationToken CancellationToken

Returns

ValueTask<string>

FillAsync(WebElementReference, string, CancellationToken)

public ValueTask FillAsync(WebElementReference element, string value, CancellationToken cancellationToken = default)

Parameters

element WebElementReference
value string
cancellationToken CancellationToken

Returns

ValueTask

IsCheckedAsync(WebElementReference, CancellationToken)

public ValueTask<bool> IsCheckedAsync(WebElementReference element, CancellationToken cancellationToken = default)

Parameters

element WebElementReference
cancellationToken CancellationToken

Returns

ValueTask<bool>

IsEnabledAsync(WebElementReference, CancellationToken)

public ValueTask<bool> IsEnabledAsync(WebElementReference element, CancellationToken cancellationToken = default)

Parameters

element WebElementReference
cancellationToken CancellationToken

Returns

ValueTask<bool>

IsVisibleAsync(WebElementReference, CancellationToken)

public ValueTask<bool> IsVisibleAsync(WebElementReference element, CancellationToken cancellationToken = default)

Parameters

element WebElementReference
cancellationToken CancellationToken

Returns

ValueTask<bool>

NavigateAsync(Uri, CancellationToken)

public ValueTask NavigateAsync(Uri address, CancellationToken cancellationToken = default)

Parameters

address Uri
cancellationToken CancellationToken

Returns

ValueTask

PressAsync(WebElementReference, WebKey, CancellationToken)

public ValueTask PressAsync(WebElementReference element, WebKey key, CancellationToken cancellationToken = default)

Parameters

element WebElementReference
key WebKey
cancellationToken CancellationToken

Returns

ValueTask

ReadTextAsync(WebElementReference, CancellationToken)

public ValueTask<string> ReadTextAsync(WebElementReference element, CancellationToken cancellationToken = default)

Parameters

element WebElementReference
cancellationToken CancellationToken

Returns

ValueTask<string>

ReadValueAsync(WebElementReference, CancellationToken)

public ValueTask<string?> ReadValueAsync(WebElementReference element, CancellationToken cancellationToken = default)

Parameters

element WebElementReference
cancellationToken CancellationToken

Returns

ValueTask<string>

SelectOptionAsync(WebElementReference, string, CancellationToken)

public ValueTask SelectOptionAsync(WebElementReference element, string value, CancellationToken cancellationToken = default)

Parameters

element WebElementReference
value string
cancellationToken CancellationToken

Returns

ValueTask