Motus.Abstractions 1.0.6

dotnet add package Motus.Abstractions --version 1.0.6
                    
NuGet\Install-Package Motus.Abstractions -Version 1.0.6
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Motus.Abstractions" Version="1.0.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Motus.Abstractions" Version="1.0.6" />
                    
Directory.Packages.props
<PackageReference Include="Motus.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Motus.Abstractions --version 1.0.6
                    
#r "nuget: Motus.Abstractions, 1.0.6"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Motus.Abstractions@1.0.6
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Motus.Abstractions&version=1.0.6
                    
Install as a Cake Addin
#tool nuget:?package=Motus.Abstractions&version=1.0.6
                    
Install as a Cake Tool

Motus.Abstractions

Pure interfaces and types for the Motus browser automation framework.

Overview

This package contains every interface that defines the Motus API surface: the browser hierarchy, input devices, network layer, and the plugin system. Plugin authors reference only this package, with no dependency on the engine or any protocol implementation.

Browser Hierarchy

Interface Purpose
IBrowser Top-level browser instance; create contexts and pages
IBrowserContext Isolated session with its own cookies, cache, and storage
IPage Single browser tab; navigation, locators, evaluation, screenshots
IFrame Frame-level counterpart to IPage
ILocator Element finder with action methods (ClickAsync, FillAsync, TypeAsync, etc.)
IElementHandle Low-level reference to a DOM element
IJSHandle Reference to a JavaScript object

Input and Network

Interface Purpose
IKeyboard Keyboard input simulation
IMouse Mouse input with button and coordinate control
ITouchscreen Touch gesture simulation
IRequest / IResponse Network request and response inspection
IRoute Intercept and modify network requests
IDialog Handle JavaScript dialogs (alert, confirm, prompt)
IDownload Track and save file downloads
ITracing Chromium trace capture

Plugin System

Interface Purpose
IPlugin Base plugin interface with lifecycle hooks
IPluginContext Registration point for selector strategies, wait conditions, lifecycle hooks, and reporters
ISelectorStrategy Custom element selection logic
IWaitCondition Custom wait-until conditions
ILifecycleHook Intercept navigation, actions, page creation, console messages, and errors
IReporter Custom test result reporting

Concurrency

Interface Purpose
IBrowserPool Pool of browser instances for parallel test execution
IBrowserLease Scoped lease on a pooled browser

Installation

dotnet add package Motus.Abstractions

Usage

using Motus.Abstractions;

[MotusPlugin]
public class RetryClickHook : IPlugin, ILifecycleHook
{
    public string PluginId => "retry-click";
    public string Name => "Retry Click";
    public string Version => "1.0.0";

    public Task OnLoadedAsync(IPluginContext context)
    {
        context.RegisterLifecycleHook(this);
        return Task.CompletedTask;
    }
}
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on Motus.Abstractions:

Package Downloads
Motus

Motus browser automation engine. Communicates with Chromium over CDP via WebSocket with no Node.js dependency.

Motus.Testing

Shared browser fixture for Motus test framework integrations.

Motus.Recorder

Test session recorder for Motus. Captures browser interactions and emits reproducible Motus test code.

Motus.Testing.xUnit

xUnit integration for Motus browser automation. Provides collection and class fixtures for parallel test execution.

Motus.Testing.MSTest

MSTest integration for Motus browser automation. Provides a base test class with per-test browser context isolation.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.6 152 3/30/2026
1.0.5 177 3/30/2026
1.0.4 169 3/30/2026
1.0.3 185 3/30/2026
1.0.2 171 3/29/2026
1.0.1 172 3/29/2026