Class SeleniumWebBackend

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

Properties

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

Driver

public IWebDriver Driver { get; }

Property Value

IWebDriver

Name

public string Name { get; }

Property Value

string

Methods

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)

Selenium has no download API: the WebDriver protocol gives a driver no way to observe or fetch a browser download, and the download itself depends on driver-specific profile preferences. The capability fails with the documented exception instead of pretending to capture anything.

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>

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