Nullean.Cdp.Journeys 0.11.1

dotnet add package Nullean.Cdp.Journeys --version 0.11.1
                    
NuGet\Install-Package Nullean.Cdp.Journeys -Version 0.11.1
                    
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="Nullean.Cdp.Journeys" Version="0.11.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nullean.Cdp.Journeys" Version="0.11.1" />
                    
Directory.Packages.props
<PackageReference Include="Nullean.Cdp.Journeys" />
                    
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 Nullean.Cdp.Journeys --version 0.11.1
                    
#r "nuget: Nullean.Cdp.Journeys, 0.11.1"
                    
#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 Nullean.Cdp.Journeys@0.11.1
                    
#: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=Nullean.Cdp.Journeys&version=0.11.1
                    
Install as a Cake Addin
#tool nuget:?package=Nullean.Cdp.Journeys&version=0.11.1
                    
Install as a Cake Tool

Nullean.Cdp.Journeys

Nullean.Cdp

Synthetic journeys: plain text files written in agent-browser's command language, parsed, run against Chrome with Nullean.Cdp, and exported to agent-browser's batch JSON.

NuGet

cdp run on a journey against a local page: each checkpoint's output between nonce-fenced PAGE_CONTENT markers

Install

dotnet add package Nullean.Cdp.Journeys

Quick start

Nullean.Cdp.Journeys runs synthetic journeys: text files with one agent-browser command per line.

# checkout.journey
open /shop
find label Search fill lamp
press Enter
wait --text "results"
find role button click --name "Add to basket"
snapshot -c -s main          # a checkpoint: its output is recorded
get text .basket-count       # another
using Nullean.Cdp.Journeys;

var journey = Journey.Load("journeys/checkout.journey");
var result = await JourneyRunner.RunAsync(journey, browser, new JourneyOptions { BaseUrl = new("http://localhost:5000/") });
foreach (var checkpoint in result.Checkpoints)
    Console.WriteLine($"{checkpoint.Command}\n{checkpoint.Output}");
if (result.Failure is { } failure)
    Console.WriteLine(failure.Describe(result.Source));   // checkout.journey:5: find role button ... and why

What a journey can do

  • The commands are agent-browser's, written the same way: navigation, every element action (click, dblclick, hover, focus, fill, type, check, select, upload, drag, scroll, ...), press and keyboard, find (role, text, label, ..., first, last, nth), wait (element, time, text, URL, load state), set (viewport, media, device, geo, offline, headers, credentials), and the checkpoints snapshot, get, is, console, errors, network requests (--failed for 4xx, 5xx and requests that got no answer), links (checks the page's links: same-site by default, --external for other sites in the allow list), a11y (our own accessibility rules), and timings, vitals and metrics (raw, or --budget lcp=2500 cls=0.1 for stable transcripts). --strict on network requests, links and a11y fails the step instead of listing. screenshot [selector] <path.png> [--full] and network har start / network har stop <path> write into the artifacts folder. Left out on purpose: refs, eval, cookies and session state, tabs and downloads. Anything unsupported is an error that names the line.
  • No refs. @e3 changes from run to run, so journeys use find role … --name, find text, find label or CSS.
  • Quoting is a shell's: double or single quotes, backslash escapes. # starts a comment, but #id is a selector.
  • URLs: open /shop resolves against the base URL like a link in a page would, so a base URL for a folder needs its trailing slash.
  • Safe to share: a run reaches only the base URL's host and the hosts in the journey's allow lines, on every request including clicks, redirects and popups; file:// stays in the base folder; downloads are denied. Passwords are $env:NAME references, typed when the step runs and redacted from everything the run reports.
  • Replay in agent-browser: journey.ToAgentBrowserBatch(baseUrl) gives the batch JSON, for agent-browser batch --bail. A journey using every supported command runs there unchanged.

The same journeys replay in agent-browser, in dotnet test (with Nullean.Snapshots) and from the cdp command line tool. The npm package @nullean/journeys runs them on Playwright Test and Elastic Synthetics.

Learn more

Product Compatible and additional computed target framework versions.
.NET 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.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Nullean.Cdp.Journeys:

Package Downloads
Nullean.Snapshots.Browser

Browser journeys for Nullean.Snapshots: run agent-browser style journeys with Nullean.Cdp and compare their transcripts, accessibility trees and reads, as trees.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.11.1 0 11/12/2026
0.11.0 35 11/11/2026
0.10.0 682 11/11/2026
0.9.0 48 11/10/2026
0.8.0 356 11/10/2026
0.7.0 72 11/10/2026
0.6.0 287 11/5/2026
0.5.0 57 11/5/2026
0.4.0 59 11/5/2026
0.3.0 252 11/4/2026
0.2.0 59 11/4/2026
0.1.0 116 11/4/2026