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
<PackageReference Include="Nullean.Cdp.Journeys" Version="0.11.1" />
<PackageVersion Include="Nullean.Cdp.Journeys" Version="0.11.1" />
<PackageReference Include="Nullean.Cdp.Journeys" />
paket add Nullean.Cdp.Journeys --version 0.11.1
#r "nuget: Nullean.Cdp.Journeys, 0.11.1"
#:package Nullean.Cdp.Journeys@0.11.1
#addin nuget:?package=Nullean.Cdp.Journeys&version=0.11.1
#tool nuget:?package=Nullean.Cdp.Journeys&version=0.11.1
Nullean.Cdp.Journeys

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.

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, ...),pressandkeyboard,find(role, text, label, ..., first, last, nth),wait(element, time, text, URL, load state),set(viewport, media, device, geo, offline, headers, credentials), and the checkpointssnapshot,get,is,console,errors,network requests(--failedfor 4xx, 5xx and requests that got no answer),links(checks the page's links: same-site by default,--externalfor other sites in the allow list),a11y(our own accessibility rules), andtimings,vitalsandmetrics(raw, or--budget lcp=2500 cls=0.1for stable transcripts).--strictonnetwork requests,linksanda11yfails the step instead of listing.screenshot [selector] <path.png> [--full]andnetwork 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.
@e3changes from run to run, so journeys usefind role … --name,find text,find labelor CSS. - Quoting is a shell's: double or single quotes, backslash escapes.
#starts a comment, but#idis a selector. - URLs:
open /shopresolves 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
allowlines, on every request including clicks, redirects and popups;file://stays in the base folder; downloads are denied. Passwords are$env:NAMEreferences, typed when the step runs and redacted from everything the run reports. - Replay in agent-browser:
journey.ToAgentBrowserBatch(baseUrl)gives the batch JSON, foragent-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
- Documentation: https://cdp.nullean.net/journeys/, and every command
- The browser client underneath: Nullean.Cdp
- Source and issues: https://github.com/nullean/cdp
| Product | Versions 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. |
-
net10.0
- Nullean.Cdp (>= 0.11.1)
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.