← StatePort

Workflow comparison

StatePort vs Playwright and HAR: saving a bug setup for changed code

Roman Novikov ·

A frontend bug report can contain clear steps and still be difficult to reproduce. The page may depend on a particular account, a permission combination, unfinished form inputs, and an API response that is no longer available from staging.

Recording what happened and running changed code in the same conditions are different jobs. StatePort targets the second: capture a supported reproduction, review it, save a State Card, and reopen it against a running local app.

This guide compares that workflow with Playwright tests, saved authentication, HAR replay, and traces. It is written for StatePort’s public beta, not as an independent benchmark. The examples below are illustrative, not reported customer results.

First, Playwright already does important parts of this

Playwright supports network mocking and replay from HTTP Archive (HAR) files. It also supports restoring saved authentication. Those are real alternatives, not gaps that StatePort invented. 1, 2

A team with working fixtures and a regression suite may already have the right solution. There is no reason to replace it just to use a separate desktop application.

The question is what you need to preserve, who will prepare it, and what you need to do after changing the code.

Starting point What it is useful for What to establish before using it to check a fix
Screen recording Showing the visible symptom and the path to it The new code still needs an executable setup and relevant data
Playwright trace Inspecting a recorded test run, including actions, snapshots, console and network evidence 3 Inspection of an old run is different from executing the changed application
Saved Playwright authentication Starting tests with existing authenticated browser state 2 The application’s data, inputs and backend conditions still need to match the case
Playwright with HAR or explicit mocks Running code with controlled responses and assertions 1 The test must reach the relevant state; request matching and fixtures must remain appropriate
StatePort State Card Reusing a reviewed, supported browser reproduction against a current local target 4, 5 The Card, target, authentication and recorded dependencies must support this reproduction

This is a workflow comparison. It is not a claim that one tool has greater browser compatibility or better runtime performance.

The part StatePort packages together

StatePort’s manual path starts in its managed browser. Reproduce the case, stop Capture, review what was retained, and save the Card. Supported material can include semantic actions, checkpoints, browser/application state and selected HTTP evidence. It is not a dump of all JavaScript memory or a copy of the backend. 4

To work on a fix, start the application locally, select the Card, choose Current local app, and reproduce it against that target. Current pages and assets come from the local app; retained matching backend responses can come from the Card. The launcher exposes compatibility and authentication prerequisites instead of treating every saved Card as universally executable. 5

The convenience being offered is a reusable debugging artifact and its inspection/reproduction workflow. Playwright remains a programmable alternative with explicit test logic and assertions. StatePort is not a replacement for a regression suite.

An example: the data disappears before you finish the fix

Consider a made-up account settings screen. A combination of role, selected project and a saved API response causes a validation banner to appear incorrectly.

With a reproducible fixture and an existing Playwright test, run that test against the changed frontend. That is a good outcome; StatePort is not necessary merely because a bug exists.

Without that fixture, a supported StatePort path is to capture the failing setup while it is available, save it after Review, open it on the local app, change the relevant frontend logic, and reopen the same Card. The intended benefit is avoiding manual reconstruction of the surrounding setup during this investigation. 4, 5

The resulting check is deliberately narrow: it answers what the current frontend does with the retained conditions. It does not show that today’s production data matches those conditions or that the live backend is correct.

The important limit: your fix changes a request

Suppose the fix changes a query parameter or GraphQL variable. Returning the old response does not prove that the backend accepts the new request or returns the intended result.

StatePort documents a blocked/mismatch path and a bounded option to use a captured response for an eligible changed request. That is an explicit frontend experiment, not proof of the new backend behavior. An authorized live route tests the target as it exists now; it does not restore the backend to its capture-time state. 5

This distinction should survive any debugging tool choice:

  • A captured-response check asks how the changed frontend handles retained data.
  • A live integration check asks whether the changed request works with the current backend.

A successful result from the first cannot silently stand in for the second.

Authentication and sharing are separate decisions

Saved state can be sensitive. Playwright explicitly warns that stored authentication may let someone impersonate an account and should not be checked into a repository. 2

StatePort’s ordinary portable Card excludes raw session cookies, bearer/access/refresh tokens, Authorization headers and normal browser-profile contents. Supported protected local values and optional protected transfers have separate consent and storage boundaries. A recipient may need their own sign-in or another prerequisite before reproduction. 4, 5

That does not mean every API payload is safe to publish. Review captures before sharing, use synthetic or approved test data, and do not assume redaction guarantees the absence of every confidential field. Never post a real work Card simply to make a public demonstration easier.

Where coding agents fit

The public StatePort agent repository supplies skills and provider adapters for the local Desktop MCP server. It does not contain the Desktop runtime. Integration status varies by host and remains a development preview. 6

For a compatible, authorized workflow, an agent can work from a reviewed Card rather than reconstructing all setup from a ticket. The agent still has to investigate and change code. Someone still has to establish that the observed result satisfies the bug report. Capture, connection, reproduction and a correct fix are separate outcomes.

An agent is optional. A developer or QA colleague can prepare a Card manually; installing an agent plugin is not a prerequisite for understanding the core product.

Which path should you try?

Keep the Playwright path when fixtures, tests and assertions already reproduce the problem reliably, or when the goal is recurring regression coverage.

Try StatePort when a real setup is available now, recreating it repeatedly is the expensive part, and a reusable, reviewed Card fits how the developer, QA colleague or coding agent works.

Use backend fixtures or a controlled environment as well when correctness depends on server-side mutations or on behavior not established by the retained responses. Neither a HAR nor a State Card is a database rollback.

The current StatePort beta has macOS Apple Silicon and Linux x64 installers. Capture is free with no expiry; current-code reproduction needs Developer access. The trial lasts 14 days and starts after email verification, without a payment card. Check the current download and scope pages before choosing a case. 5, 7, 8

Download StatePort · Capture a first Card · Check beta scope

Sources

Checked for this article on 22 September 2026. StatePort statements were also reconciled with the source of its public documentation; this is not an installed-product acceptance test.

  1. Playwright: Mock APIs and HAR replay
  2. Playwright: Authentication
  3. Playwright: Trace viewer
  4. StatePort: Capture your first State Card
  5. StatePort: Reproduce a saved State Card
  6. StatePort public agent integration: README and host-status matrix
  7. StatePort: Download
  8. StatePort: Public beta scope