Class SeleniumWebBackend

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

Properties

Driver

public IWebDriver Driver { get; }

Property Value

IWebDriver

Name

public string Name { get; }

Property Value

string

PollInterval

The session assertion poll interval is this option, so one setting retimes the backend's action retries and the session's element assertions together.

public TimeSpan PollInterval { get; }

Property Value

TimeSpan

Methods

CaptureFailureAsync(WebFailureContext, CancellationToken)

Selenium has no download API: the WebDriver protocol gives a driver no way to observe or fetch a browser download. The backend does not implement IWebBackendDownloads, so WebSession.DownloadAsync reports the capability it actually lacks.

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.

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

GetCurrentAddressAsync(CancellationToken)

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 ValueTask<string?> GetCurrentAddressAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

ValueTask<string>

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