DevTools protocol for native UI
CDP
Design, record, run, and diagnose serious native UI tests through one open protocol.
Overview
A native UI testing and diagnostics platform built on Chrome DevTools Protocol, with Test Studio, YAML flows, recording, headless CI, Playwright, Selenium, Appium, inspectors, and framework adapters.
CDP is a complete native UI testing and diagnostics platform. Test Studio records interactions, authors synchronized YAML and visual flows, infers assertions, runs step-by-step, captures screenshots and telemetry, and produces reports. The same protocol surface supports headless CI, Playwright, Puppeteer, Selenium, Appium, CLI and agent workflows.
Visual Test Studio and YAML flows
Recorder, assertions, telemetry, and reports
Headless CI, Playwright, Selenium, and Appium
Avalonia, WPF, WinUI, Uno, and OS adapters
Built for
Where it fits.
- Desktop teams building repeatable end-to-end and regression suites
- QA engineers authoring visual and YAML-native test flows
- Framework, tooling, and agent authors needing inspectable native UI
Compatibility & status
Visual + YAML flows
Avalonia.Headless
Drivers
Framework adapters
In the work
Real output,
not a mockup.

Architecture
Clear layers.
Replaceable seams.
Author
Test Studio, recorder, visual node editor, YAML IntelliSense, selectors, environments, and reusable flows define intent.
Run
Desktop, CLI, headless, Playwright, Selenium, Appium, and OS automation drivers execute the same UI operations.
Observe
Screenshots, assertions, network events, CPU, memory, FPS, step timing, and reports capture evidence.
Protocol
CDP domains and Avalonia, WPF, WinUI, Uno, or OS adapters translate actions into native framework behavior.
Inside CDP
One repository.
Multiple serious systems.
Explore the focused capabilities, their package boundaries, architecture, installation, and smallest useful example.
A complete test-design workspace records interactions, synchronizes step lists with YAML, offers live selector IntelliSense and assertion inference, composes visual node flows, launches apps, runs suites, and presents screenshots, logs, telemetry, and reports.
3 modules→02 · Headless and repeatable native UI testsTesting & CIHeadless Avalonia execution, a global flow runner, Playwright and Puppeteer compatibility, Selenium and Appium orchestration, OS accessibility automation, screenshots, selectors, waits, assertions, and GitHub Actions support cover local through CI test lanes.
5 modules→03 · Chrome DevTools Protocol coreProtocol ServerA framework-neutral CDP server, session router, domain model, HTTP discovery endpoint, and WebSocket transport for exposing native application targets.
1 module→04 · Native UI inspectionFramework AdaptersAvalonia, Uno Platform, WPF, and WinUI adapters map visual trees, properties, styles, input, screenshots, and runtime state into CDP domains.
4 modules→05 · Headless, Selenium, and AppiumAutomation DriversAutomation packages connect CDP-aware applications to headless tests, Selenium, Appium, and cross-platform operating-system accessibility workflows.
4 modules→06 · Human and scripted diagnosticsInspector & CLIInspector controls, shared view models, WYSIWYG tools, a desktop client, in-process diagnostics, and CLI commands provide multiple ways to work with CDP targets.
5 modules→07 · Editors, language services, and layoutAuthoring ToolkitsStandalone Markdown, document, graph, split-layout, minimap, XAML compiler, and language-server packages extract reusable tooling from the inspector workspace.
5 modules→Quick start
From package
to first frame.
Choose the package workflow used by your repository, then start from the smallest working example. Replace VERSION with the current stable or prerelease version shown on NuGet.
dotnet add package Chrome.DevTools.Avalonia --prerelease<PackageReference Include="Chrome.DevTools.Protocol" Version="VERSION" /><PackageVersion Include="Chrome.DevTools.Protocol" Version="VERSION" />// Register the Avalonia adapter and start the CDP endpoint.// Connect Chrome DevTools, Playwright, or Puppeteer// to the exposed HTTP/WebSocket discovery URL.Package surface
Start focused.
Compose as needed.
Protocol server, sessions, transports, and domain dispatch.
↗02Chrome.DevTools.AvaloniaAvalonia DOM, CSS, input, page, overlay, and runtime domains.
↗03Chrome.DevTools.InspectorDesktop inspector and Test Studio global tool.
↗04Chrome.DevTools.Automation.HeadlessHeadless test driver and CI helpers.
↗05Chrome.DevTools.RunnerHeadless .flow.yaml test runner global tool.
↗Source, docs, samples, and releases
The repository is the source of truth.
Use the current documentation and samples, inspect changes, report issues, or support continued open-source maintenance.