{"repo":"DataficationSDK/Motus","free":true,"listed":false,"github":"https://github.com/DataficationSDK/Motus","clone":"git clone https://github.com/DataficationSDK/Motus.git","description":"Extensible browser automation and testing framework for .NET. Communicates directly with Chromium (CDP) and Firefox (WebDriver BiDi) over WebSocket, no Node.js dependency. Source generated protocol bindings, Roslyn analyzers, a test recorder, a Blazor visual runner, and an MCP server for AI agents, all built on public plugin interfaces.","language":"C#","stars":15,"topics":["browser-automation","cdp","chrome-devtools-protocol","csharp","dotnet","playwright-alternative","selenium-alternative","testing-framework","webdriver-bidi","ai-agents"],"license":"MIT","category":"scrapers-browser-automation","readme_excerpt":"Motus Extensible browser automation and testing framework for .NET, built on a fully extensible architecture. The Story Every .NET browser automation framework either wraps a JavaScript tool behind a process boundary or bolts extensibility on as an afterthought. Playwright for .NET proxies commands through a Node.js sidecar. Selenium's extension model grew organically over fifteen years and it shows. Motus started from a premise proven by the architecture of Verso: if the framework's own features are built on the same public plugin interfaces available to third-party authors, the architecture stays honest. Every built-in selector strategy, lifecycle hook, wait condition, and reporter is registered through the same IPluginContext that any consumer can use. There are no internal shortcuts. The result is a framework that talks directly to Chromium and Firefox over WebSocket (CDP and WebDriver BiDi), ships source-generated protocol bindings for NativeAOT, and gives you compile-time diagnostics for common automation mistakes before your tests ever run. Getting Started Prerequisites - .NET 8 SDK or .NET 10 SDK - Chrome, Edge, or Firefox installed (or use motus install to download a browser binary) Install Write Your First Test Generate Page Objects from Live Pages This navigates to the URL, crawls the DOM for interactive elements, infers the best selector for each using pluggable strategies, and emits a typed .g.cs Page Object Model class. Use --detect-listeners to also discover el","default_branch":null,"files":null,"tree":[],"storefront":"/r/DataficationSDK","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/DataficationSDK/Motus/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}