Repository navigation
Playwright JSON Import 2026 10 22
Most end-to-end testing today is Playwright in JavaScript and TypeScript repos. testo ingest and equipment: playwright both read Playwright through its JUnit reporter, which keeps only each test's last attempt. A test that failed and then passed on retry looks like a plain pass, the earlier error is gone, and the traces, screenshots and videos Playwright saved are not linked to anything. Retries and traces are exactly what people debugging a red Playwright run need, and the JSON reporter has all of them.
-
testo_core/reporting/playwright_import.pyconverts a Playwright JSON report (--reporter=json) into Allure results. The JUnit importer hands it every matched file that ends in.json, sojunit_xmlglobs,testo ingestand the post-stage hook all accept Playwright JSON with no new option. Everything after that point (summaries, history, Compare,testo flaky, reporters) is unchanged. - One result per test, attempts as steps. Totals count tests, not attempts. Each attempt is an Allure step with its own status, duration, error and attachments, so the Allure report shows what happened on every try.
-
Status. Playwright's
expected→ passed (skipped when skipped),flaky→ passed withstatusDetails.flakyset and the first failure's message,skipped→ skipped,unexpected→ failed (broken when interrupted). A timeout is a failure, as Playwright reports it. -
Identity.
fullNameisfile › describe › title [project], so the same test in two Playwright projects is two tests. The project and the attempt count are Allure parameters,@tagsbecome Allure tags. -
Attachments. Traces, screenshots, videos,
error-context.mdandtestInfo.attach()bodies are copied next to the result as Allure attachments. Files are read only from inside the stage'starget_repo(fortesto ingest,--repo). Playwright writes absolute paths, so a report made on another machine is matched by the tail of each path under the repo, which makes a CI artifact downloaded to a laptop work. Missing, outside or oversized (over 50 MB) files are skipped and logged, never fatal. -
equipment: playwrightnow adds--reporter=list,json,htmland writes the JSON report totest-results/testo-results.json. Its default reports are alternatives: the executor imports the first one that was written (JSON, elsetest-results/testo-junit.xmlfor a stage that sets its own--reporter=junit), so the same tests are never counted twice. -
Server uploads.
testo ingest --serveruploads.jsonfiles as they are, andPOST /api/v1/ingestkeeps the suffix so the server reads them the same way. Attachment files are not uploaded.
- Flaky Playwright tests count as passed, like Playwright itself counts them; the flaky flag and the failed attempt are visible in the Allure report.
testo flakystill works from history across runs. - Testosterone's own UI does not show attachments yet. They are in the Allure results, so
testo report allureshows them, and Playwright's HTML report stays the run's native report forequipment: playwright. - Traces for uploaded runs stay on the CI runner. Uploading them would need a size budget on the server; left for later.
- The JSON report can be large for big suites (it includes stdout). It is read once per run.
Builds on Command Adapter and JUnit Import and Playwright Adapter.
Generated from docs/Specs & ADRs/Playwright JSON Import - 2026-10-22.md. Edit it there; changes made in the wiki are overwritten.
Architecture
CLI Commands
Processes & Guides
- CI-CD Pipeline Setup
- E2E Harness Operations Guide
- GitLab Pages Demo
- Publishing Docker Images
- Publishing to Artifactory
- Publishing to PyPI
- Team Server
Prompts & Snippets
Roadmap & Strategy
Specs & ADRs
- Alerts Where Developers Look - 2026-10-22
- Architecture Consolidation - 2026-10-06
- BehaveX Reports - 2026-10-21
- Command Adapter and JUnit Import - 2026-09-25
- Config JSON Schema - 2026-10-22
- Delta Comparison Policy
- Docs Site - 2026-10-19
- Docs Vault and Wiki Sync - 2026-10-07
- Flaky Test Quarantine - 2026-10-22
- GitHub Action PR Comment - 2026-10-19
- Ingest and Team Server - 2026-10-22
- Interview Readiness Fixes - 2026-10-07
- Library Packaging
- Open Source Features - 2026-10-19
- Phase 3 Delta Comparison Engine Plan
- Phase 3 Unified Dashboard Plan
- Phase 4 BYOK and Failure Analysis
- Phase 5 UI Redesign - Cycles-First Navigation
- Playwright Adapter - 2026-10-19
- Playwright JSON Import - 2026-10-22
- Plugin API - 2026-10-19
- Product Roadmap Work - 2026-10-25
- Product to Ten - 2026-10-25
- Specs & ADRs
- Repository Pattern - Database-Agnostic Refactor
- Scale Runs and Stages - 2026-10-24
- Switchable Team Features - 2026-10-24
- Throwaway Stage Containers - 2026-10-24
- UI Restyle - 2026-10-19
Testing Workflows
Vault