Namespace ProtoTest.Web

Classes

AndWebLocator
AttributeWebLocator
By

Factory for semantic web locators.

CssWebLocator
HasTextWebLocator
JQueryIdleWait

Built-in application wait that is a no-op when jQuery is absent.

LabelWebLocator
LoginAsAttribute<TStrategy>

Logs a named Web session in during test setup using an application-owned TStrategy, without storing credentials in attribute metadata. Usage: [LoginAs<AdminUiLogin>("Administrator")] or [LoginAs<ApiTokenLogin>("Administrator", "tenant-a")]

NthWebLocator
PlaceholderWebLocator
PlaywrightWebHostBuilderExtensions

Playwright registration for IProtoHostBuilder. Reference the ProtoTest.Web.Playwright package and call AddWeb(...); the backend is implied by the referenced package. Sessions are created per test via Proto.Context.Web(name).

ProtoExecutionContextExtensions
ProtoHostBuilderExtensions
RoleWebLocator
SeleniumWebHostBuilderExtensions

Selenium registration for IProtoHostBuilder. Reference the ProtoTest.Web.Selenium package and call AddWeb(...); the backend is implied by the referenced package. Sessions are created per test via Proto.Context.Web(name).

TableCellByHeaderWebLocator
TableCellWebLocator
TestIdWebLocator
TextWebLocator
WebActionabilityException
WebAssertionException
WebAssertions

The assertions for one element, in their positive (Should) or negated (ShouldNot) form. Each assertion polls until it passes or its timeout elapses.

WebBackendCapabilityException
WebBackendOperationContext

One semantic operation as the backend sees it. ParentCorrelationId is set only when the operation was started inside another operation's explicit nesting scope (a WaitUntilAsync condition), which lets a backend group native diagnostics by operation lineage instead of guessing from flow-local state.

WebComponent

Base class for lazily scoped, reusable page components.

WebComponentCollection<TComponent>

A lazy collection of typed components selected inside a parent component.

WebCoverageCollector

Aggregates page coverage: every page path the suite visited, verified or discovered, plus the inventory in ProtoTest:Web:Pages and the frontend routes discovered from ProtoTest:Web:Pages:Source. A page is covered only when a web.page.verified observation was recorded for it; a page that was merely visited, or that only exists in the inventory, is reported uncovered. A concrete path that matches an inventory pattern lands on the pattern: verifying /users/42 covers /users/{id}.

WebDownload

A file the browser downloaded while a web operation ran.

WebElement

A cheap, reusable reference to an element; native resolution occurs per operation.

WebElementReference

The immutable semantic reference passed to a concrete web backend.

WebElementResolutionException
WebFailureContext
WebFlowExtensions
WebFlow<TComponent>

A typed, sequential interaction plan whose individual actions retain normal tracing and waits.

WebLocator

A structured, backend-neutral description of how to find an element.

WebLoginContext
WebNames

Shared helpers for producing safe, lowercase identifiers for web artifacts.

WebOperationContext
WebPage

A top-level component with navigation support.

WebSession

Test-scoped entry point for pages, operations, and explicit native backend access.

WebSessionAttribute

Declares a named web session for the test during setup, created on demand like any other session. Optionally navigates it to a start URL. Combine with LoginAsAttribute<TStrategy> when the session also needs authentication; use Order to sequence the two if needed.

WebTableRow

Base row with zero-based and one-based cell addressing for conventional and legacy tables.

WebTable<TRow>

Typed table foundation built on the same lazy component collection as lists and grids.

WebWaitContext
WebWaitObservation
WebWaitTimeoutException
WebXPath

Shared XPath construction for web backends: literals, text predicates, and the table-cell-by-header expression. Public so additional backend packages translate identically.

Interfaces

IWebBackend

Executes ProtoTest web concepts using a concrete browser technology.

IWebBackendDiagnostics

Optional backend capability: captures best-effort diagnostics for a failed operation.

IWebBackendDownloads

Optional backend capability: captures a file the browser downloads. Playwright implements it with its native download waiter. Selenium implements it by throwing WebBackendCapabilityException because the WebDriver protocol has no download API, so a session using Selenium fails before the trigger runs instead of quietly capturing nothing.

IWebBackendFactory
IWebBackendJavaScript

Optional backend capability: evaluates JavaScript in the page.

IWebLoginStrategy

An application-owned login flow applied by LoginAsAttribute<TStrategy>. Define one implementation per distinct way your application logs a user in (driving the real login page, calling an API and injecting a token, loading captured storage state, impersonation, ...); nothing about ProtoTest constrains how many you have or what they're named.

IWebOperationMiddleware

Wraps semantic web operations without exposing backend-specific pipeline stages.

IWebWaitCondition

Enums

WebKey
WebOperationKind
WebRole

Semantic roles understood by ProtoTest web backends.

WebWaitTiming

Delegates

WebOperationDelegate