Motus.Recorder
1.0.14
dotnet add package Motus.Recorder --version 1.0.14
NuGet\Install-Package Motus.Recorder -Version 1.0.14
<PackageReference Include="Motus.Recorder" Version="1.0.14" />
<PackageVersion Include="Motus.Recorder" Version="1.0.14" />
<PackageReference Include="Motus.Recorder" />
paket add Motus.Recorder --version 1.0.14
#r "nuget: Motus.Recorder, 1.0.14"
#:package Motus.Recorder@1.0.14
#addin nuget:?package=Motus.Recorder&version=1.0.14
#tool nuget:?package=Motus.Recorder&version=1.0.14
Motus.Recorder
Test session recorder for the Motus browser automation framework.
Overview
The recorder captures browser interactions by injecting a lightweight script into the page via CDP, then emits compilable C# test code. It infers selectors from captured DOM events using a ranking strategy that prefers test IDs and accessible roles over fragile CSS paths. An optional Page Object Model emitter groups related form interactions into reusable classes.
Captured Actions
- Click, Fill, KeyPress, Check, Select (form interactions)
- Navigation (URL changes)
- Scroll, Dialog, FileUpload
Code Emission
- Test code via
CodeEmittertargeting MSTest, xUnit, or NUnit - Page Object Models via
PomEmitterwith automatic form field grouping - Configurable class name, method name, namespace, and timing preservation
Installation
dotnet add package Motus.Recorder
This package depends on Motus and Motus.Abstractions.
Quick Start
using Motus;
using Motus.Recorder;
await using var browser = await MotusLauncher.LaunchAsync(new LaunchOptions { Headless = false });
var page = await browser.NewPageAsync();
var engine = new ActionCaptureEngine();
await engine.StartAsync(page);
// Interact with the browser manually...
await engine.StopAsync();
var emitter = new CodeEmitter();
var code = emitter.Emit(engine.CapturedActions, new CodeEmitOptions
{
Framework = "mstest",
TestClassName = "LoginTests"
});
await File.WriteAllTextAsync("LoginTests.cs", code);
| Product | Versions 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. |
-
net10.0
- Motus (>= 1.0.14)
- Motus.Abstractions (>= 1.0.14)
-
net8.0
- Motus (>= 1.0.14)
- Motus.Abstractions (>= 1.0.14)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.14 | 105 | 6/10/2026 |
| 1.0.13 | 97 | 6/4/2026 |
| 1.0.12 | 95 | 5/26/2026 |
| 1.0.11 | 105 | 5/2/2026 |
| 1.0.10 | 99 | 4/21/2026 |
| 1.0.9 | 107 | 4/14/2026 |
| 1.0.8 | 113 | 4/10/2026 |
| 1.0.7 | 107 | 4/5/2026 |
| 1.0.6 | 103 | 3/30/2026 |
| 1.0.5 | 111 | 3/30/2026 |
| 1.0.4 | 104 | 3/30/2026 |
| 1.0.3 | 106 | 3/30/2026 |
| 1.0.2 | 106 | 3/29/2026 |
| 1.0.1 | 106 | 3/29/2026 |