Welcome to Paxter
Paxter turns clear YAML workflow definitions into repeatable Playwright browser runs. It is designed for teams that want UI regression checks to stay readable, reviewable, data-driven, and supported by visual evidence.
This documentation is kept current alongside the Paxter CLI.
What you can do
- Describe browser steps with a focused YAML action list:
Click,Fill,Select,Expect_Text, and more. - Point at elements the way testers describe them (
button=Sign in,label=Email) with automatic fallbacks, or let Paxter resolve plain text. - Assert what the page shows: visibility, text, values, counts, URL, and title, with configurable wait times.
- Run one workflow across every row of a CSV, TSV, or Excel file, with per-row expected outcomes and a suite report.
- Validate a workflow and its data before any browser opens, with "did you mean" suggestions.
- Capture screenshots at every step, a failure screenshot with page-derived hints, and optional video.
- Review a shareable HTML report alongside JSON run data, and gate CI on the exit code.
Start in five steps
-
Install or build the Paxter CLI.
dotnet tool install --global paxter-cli -
Create a local project and install the supported browser:
mkdir my-paxter-workflowcd my-paxter-workflowpaxter initpaxter setupinitcreates a localpaxter.yamlconfiguration file, an example workflow, and an examplecases.csvwithout overwriting existing files. Do not commit credentials or real workflow data. -
Add your registration details to the local
paxter.yamlfile and validate them:paxter register -
Write a workflow and check it:
paxter validate workflow.yaml -
Run it:
paxter run workflow.yaml
A minimal workflow
Headless: true
NeedVideo: false
Actions:
- Do: Page_GotoAsync
Data1: https://your-test-environment.example
- Do: Fill
Target: label=Email address
Value: test.user@example.invalid
- Do: Click
Target: button=Continue
- Do: Expect_Text
Target: role=status
Value: Check your inbox
Continue with the command reference, learn how targets find elements, or make the workflow data-driven.