Namespace ProtoTest.Web
Classes
- By
Factory for semantic web locators.
- JQueryIdleWait
Built-in application wait that is a no-op when jQuery is absent.
- 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")]
- 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 viaProto.Context.Web(name).
- 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 viaProto.Context.Web(name).
- WebAssertions
The assertions for one element, in their positive (Should) or negated (ShouldNot) form. Each assertion polls until it passes or its timeout elapses.
- WebBackendOperationContext
One semantic operation as the backend sees it.
ParentCorrelationIdis set only when the operation was started inside another operation's explicit nesting scope (aWaitUntilAsynccondition), 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:Pagesand the frontend routes discovered fromProtoTest:Web:Pages:Source. A page is covered only when aweb.page.verifiedobservation 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/42covers/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.
- 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.
- WebNames
Shared helpers for producing safe, lowercase identifiers for web artifacts.
- 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.
- 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.
- 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.
Enums
- WebRole
Semantic roles understood by ProtoTest web backends.