Feature Summary
A first-party Playwright reporter package (@testplanit/playwright-testplanit-reporter) that submits Playwright results directly to TestPlanIt, alongside the existing @testplanit/wdio-testplanit-reporter.
Problem Statement
Current Situation
Playwright users can already ship results to TestPlanIt by running Playwright's built-in JUnit reporter and ingesting the XML via @testplanit/cli. That works, but:
- It's a two-step CI flow (run tests → write JUnit XML → CLI upload) instead of an in-process push.
- Playwright-specific signal is lost in the JUnit hop:
test.step() step-level results, test.annotation entries, test.use() metadata, attached screenshots / videos / traces, and project naming all get flattened.
- Customers comparing TestPlanIt to other tools see "native WDIO reporter, no native Playwright reporter" and read that as parity gap.
Desired Outcome
A native Playwright reporter that:
Proposed Solution
A new workspace package packages/playwright-testplanit-reporter/ that implements Playwright's Reporter interface (onBegin, onTestEnd, onEnd, etc.) and pushes payloads to the same TestPlanIt API endpoints the WDIO reporter uses.
Likely capture surface (informed by what Playwright exposes natively):
- Test outcome + duration + retry count
- Step-level results from
test.step()
- Annotations (
test.annotation) for tags + linked issue keys
- Screenshots, videos, traces attached as result attachments
test.use() metadata for run-level naming and tagging
project name → run naming convention (one TestPlanIt run per Playwright project, configurable)
- Case-ID matching consistent with the test-results importer presets so renames don't duplicate cases
User Story
As a QA engineer running Playwright in CI, I want an official @testplanit/playwright-testplanit-reporter so that my Playwright suite uploads results to TestPlanIt directly with steps, annotations, and attachments preserved, without a CI bridge step.
Acceptance Criteria
Alternative Solutions
Option 1: keep using Playwright's JUnit reporter + @testplanit/cli
Status quo. Works today, but loses the Playwright-specific signal listed above and requires a CI bridge step.
Option 2: publish a community recipe instead of a package
Document the JUnit-to-CLI flow as the recommended path. Cheapest, but doesn't close the parity gap with the native WDIO reporter and gives up the Playwright-specific signal permanently.
Technical Considerations
Dependencies
Architectural template: packages/wdio-testplanit-reporter/ (≈3500 LOC across service.ts, shared.ts, types.ts, shared.test.ts). The API-calling layer should be shared with the WDIO reporter and the test-results importer.
Performance Impact
In-process result submission per test end; no expected impact on Playwright test execution beyond the network call. Batching at onEnd is an option if per-test calls are too chatty against large suites.
Security Considerations
API token handling consistent with the WDIO reporter (reads from env vars; no token surfaces in logs or attachment metadata).
Business Value
Priority
Affected User Groups
Expected Usage
Implementation Effort
Related Issues/Features
Additional Context
Customer feedback raised this on 2026-06-04, framed as: "I think it's nice we have a wdio reporter, but I'd like to see an official Playwright reporter, given it's a more widely used automation tool."
Examples from Other Tools
- Playwright maintains a published reporter interface and a small ecosystem of third-party reporters (Allure, ReportPortal, currents.dev), so the surface is well-documented.
- Comparable test-management tools that ship a native Playwright reporter: Xray, Zephyr Scale (community-maintained), qase.io, TestRail (community).
Feature Summary
A first-party Playwright reporter package (
@testplanit/playwright-testplanit-reporter) that submits Playwright results directly to TestPlanIt, alongside the existing@testplanit/wdio-testplanit-reporter.Problem Statement
Current Situation
Playwright users can already ship results to TestPlanIt by running Playwright's built-in JUnit reporter and ingesting the XML via
@testplanit/cli. That works, but:test.step()step-level results,test.annotationentries,test.use()metadata, attached screenshots / videos / traces, andprojectnaming all get flattened.Desired Outcome
A native Playwright reporter that:
[123],C123,TC-123formats andtest_id/testplanit_case_idproperties) so renaming a Playwright test doesn't duplicate the case.Proposed Solution
A new workspace package
packages/playwright-testplanit-reporter/that implements Playwright'sReporterinterface (onBegin,onTestEnd,onEnd, etc.) and pushes payloads to the same TestPlanIt API endpoints the WDIO reporter uses.Likely capture surface (informed by what Playwright exposes natively):
test.step()test.annotation) for tags + linked issue keystest.use()metadata for run-level naming and taggingprojectname → run naming convention (one TestPlanIt run per Playwright project, configurable)User Story
As a QA engineer running Playwright in CI, I want an official
@testplanit/playwright-testplanit-reporterso that my Playwright suite uploads results to TestPlanIt directly with steps, annotations, and attachments preserved, without a CI bridge step.Acceptance Criteria
@testplanit/playwright-testplanit-reporterpublished to npm with provenance (OIDC trusted publishing)playwright.config.tsreporter: [['@testplanit/playwright-testplanit-reporter', { ... }]]test.step()test.annotationentries (mapped to tags + linked issues)project→ TestPlanIt run (configurable)[123],C123,TC-123,test_id/testplanit_case_id)Alternative Solutions
Option 1: keep using Playwright's JUnit reporter +
@testplanit/cliStatus quo. Works today, but loses the Playwright-specific signal listed above and requires a CI bridge step.
Option 2: publish a community recipe instead of a package
Document the JUnit-to-CLI flow as the recommended path. Cheapest, but doesn't close the parity gap with the native WDIO reporter and gives up the Playwright-specific signal permanently.
Technical Considerations
Dependencies
@playwright/testReporter interface)Architectural template:
packages/wdio-testplanit-reporter/(≈3500 LOC acrossservice.ts,shared.ts,types.ts,shared.test.ts). The API-calling layer should be shared with the WDIO reporter and the test-results importer.Performance Impact
In-process result submission per test end; no expected impact on Playwright test execution beyond the network call. Batching at
onEndis an option if per-test calls are too chatty against large suites.Security Considerations
API token handling consistent with the WDIO reporter (reads from env vars; no token surfaces in logs or attachment metadata).
Business Value
Priority
Affected User Groups
Expected Usage
Implementation Effort
Related Issues/Features
@testplanit/wdio-testplanit-reporterpackage (architectural template)Additional Context
Customer feedback raised this on 2026-06-04, framed as: "I think it's nice we have a wdio reporter, but I'd like to see an official Playwright reporter, given it's a more widely used automation tool."
Examples from Other Tools