Reference
Attachment and file naming
The names SDODS gives to attachments and files so every tool can find them.
Attachments
| Name | Content |
|---|---|
sdods/shot/scenario/start, sdods/shot/scenario/end, sdods/shot/scenario/failure | scenario-level screenshots |
sdods/shot/step/NN/before, sdods/shot/step/NN/after | step screenshots; NN is the zero-based, two-digit step index in the pickle (background steps included, hooks excluded) |
sdods/visual/NN/<name> | visual baseline comparison |
sdods/api/NN/n/request, sdods/api/NN/n/response | API call n in step NN |
sdods/heal/NN/n | heal event |
sdods/perf/NN, sdods/a11y/NN | metrics and axe results |
sdods/meta | the scenario meta document |
sdods/cleanup-errors | cleanup failures |
The runner's own trace, screenshot, video and <name>-expected.png/-actual.png/-diff.png are recognised as well. Names never start with _.
Run directory
.sdods/runs/<runId>/
run.json summary.json run.log
messages.ndjson | messages.shard-N.ndjson
pw-results.json # recorded layer
html-report/ dashboard/ runner-output/ junit.xml
<slug>/<fingerprint>/r<retry>/
meta.json
visual/<run target>/<name>-expected.png <name>-actual.png <name>-diff.png
visual/<run target>/<name>.failure.json # read by `sdods baselines`
scenario-start.png scenario-end.png failure.png
NN-before.png NN-after.png
api/NN-n-request.json api/NN-n-response.json
perf/NN.json a11y/NN.json
heal.jsonlIdentifiers
runId: UUID v7, sortable by time;--run-idoverrides (CI usesgh-<run id>).- Fingerprint:
sha256(project, featureUri, scenarioName, exampleIndex, layer)truncated to 16 hex characters. - Run target:
<slug>--<layer>--<browser>or<slug>--api.
Project files
| Path | Content |
|---|---|
projects/<slug>/sdods.project.yaml | the project definition |
projects/<slug>/envs/<env>.yaml | one environment |
projects/<slug>/roles.matrix.yaml | role × surface matrices referenced by @matrix:<name>; see Role matrices |
# sdods:matrix:begin <name> … # sdods:matrix:end <name> | comments in a feature file around the Examples blocks sdods matrix expand generates; the lines between them are rewritten, everything else is left alone |