> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://tester.army/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://tester.army/_mcp/server.

# Run Videos

TesterArmy records test runs for you. Both web runs and mobile simulator/emulator runs produce an MP4 video that you can replay from the dashboard or download for debugging, bug reports, and support handoffs.

You do not need to run a screen recorder, manage browser capture, save simulator/emulator output, or upload videos manually. Start a run, and TesterArmy handles capture, storage, playback, and sharing.

## What gets recorded

| Run type    | What TesterArmy captures                                                                           |
| ----------- | -------------------------------------------------------------------------------------------------- |
| Web runs    | The browser session while the agent completes the test.                                            |
| Mobile runs | The iOS Simulator or Android emulator session while the agent installs, opens, and tests your app. |

Each completed run keeps the video alongside the step trace, screenshots, issues, and result. When a run fails, the video shows the exact user journey that led to the failure.

## Follow the video against the step trace

The replay player and the step trace stay in sync in both directions, so you
never have to guess which action you are looking at:

* Scrub or play the video, and the step that was executing at that moment is
  highlighted in the trace and scrolled into view.
* Click **Go to M:SS** on any step or reported issue, and the video jumps to that
  moment.

This works in the dashboard and in shared run reports.

## Download videos

Open a completed run from the project dashboard and use the video player's download control to save the MP4 locally. The same applies to shared run reports, so teammates can download the recording without needing to reproduce the run themselves.

This works for both web and mobile runs.

You can also fetch the recording programmatically with an API key:

```bash
curl -H "Authorization: Bearer $TESTERARMY_API_KEY" \
  -o run.mp4 \
  "https://tester.army/api/v1/runs/$RUN_ID/recording"
```

The endpoint streams the MP4 and supports HTTP Range requests, so it works in CI pipelines and with media players that seek.

If you would rather share a link than move the file, ask for a signed download URL instead:

```bash
curl -H "Authorization: Bearer $TESTERARMY_API_KEY" \
  "https://tester.army/api/v1/runs/$RUN_ID/recording/download-url"
```

The response carries the URL, file name, and size. The link expires in 15 minutes and needs no API key, so it can go into a ticket or a chat message. This is also how the [MCP server](/cli/mcp) hands run videos to an AI agent.

## Why this matters

Video capture is part of the run pipeline, not a separate setup step. TesterArmy automatically:

* Starts recording when the run begins.
* Stops recording when the provider session finishes.
* Stores the final MP4 with the run.
* Serves the video in the dashboard and shared reports.
* Keeps the recording connected to the run output and step timing.

That means every result has the context needed for triage. You can send a report, attach the video to an issue, or hand it to another engineer without asking them to rerun the test or reproduce the environment.

## Availability

Recordings are created for completed web and mobile runs. If a run is canceled or the provider session ends before recording is finalized, the run may finish without a video.

If a recording is still processing, refresh the run after a short wait.