Video & Screenshots
Test execution video recording and screenshots in ContextQA — every run produces a complete evidence package including WebM video, HAR, and Playwright trace.
Who is this for? SDETs, QA managers, and engineering managers who need to understand, access, and share the full evidence package captured during every test execution.
Execution evidence package: The complete set of artifacts ContextQA captures for every test run — per-step screenshots, a session-level WebM video, an HAR network log, a browser console log, and a Playwright trace ZIP — stored per execution and accessible from the portal and via MCP tools.
When a test fails at 2 AM in a CI pipeline, the person investigating needs more than a pass/fail status. ContextQA captures a full evidence package for every execution so that failures are reproducible without re-running the test. This page describes every artifact type, how to locate and download each one from the portal, how S3 URL expiry works, and how MCP tools expose artifacts programmatically.
What artifacts does ContextQA produce?
ContextQA produces the following artifacts for each test execution:
Step screenshots
JPG
Per step
One screenshot captured at the conclusion of each test step
Session video
WebM
Per test case
Full-session screen recording from browser launch to close
Network HAR
HAR (JSON)
Per test case
All HTTP/HTTPS requests and responses, including timing and headers
Browser console log
Text
Per test case
All console.log, console.warn, and console.error output from the page
Playwright trace
ZIP
Per test case
Playwright's built-in trace format, viewable at trace.playwright.dev
AI reasoning log
JSON
Per test case
ContextQA's internal AI decision log — step interpretations, selector choices, healing decisions
All artifacts are stored in S3-backed object storage. URLs returned by the portal and by MCP tools are pre-signed and expire after 1 hour. Always fetch a fresh URL from the portal or via the MCP tools before attempting to download — do not cache artifact URLs between sessions.
Screenshot capture modes
Screenshot behavior is configurable per test plan. The three modes are:
ALL_TYPES
Screenshot captured at every step regardless of pass/fail
Full audit trails, compliance testing, debugging step sequences
FAILED_ONLY
Screenshot captured only at the failing step (and the step immediately before it)
Faster runs, reduced storage consumption for large suites
NONE
No screenshots captured
Maximum speed; use only for performance benchmarking or ephemeral sanity checks
To set the screenshot mode:
Open Test Plans in the left navigation.
Select the test plan.
Click the Settings tab.
Locate the Screenshot Mode dropdown.
Select
ALL_TYPES,FAILED_ONLY, orNONE.Click Save.
The video recording is not affected by the screenshot mode setting — video is always captured when the plan is configured to record. Video can be disabled separately if storage cost is a concern.
Locating artifacts in the execution report UI
After an execution completes:
Navigate to Test Plans → select the plan → Executions tab.
Click the specific execution run to open the Execution Report.
Select a test case row to expand the step-level detail panel.
Each step row shows a thumbnail screenshot. Click the thumbnail to open the full-size JPG.
At the top of the case detail panel, use the artifact tabs: Video, Network, Console, Trace, AI Reasoning.
The Video tab embeds the WebM player directly in the portal. Browsers that do not support WebM natively may require downloading the file and playing it locally with VLC or a compatible player.
Downloading artifacts
From the portal:
Click the download icon adjacent to each artifact tab to trigger a direct download.
The downloaded file is the raw artifact: a
.webmvideo, a.harJSON file, a.zipPlaywright trace, or a.txtconsole log.
Via MCP tools:
ContextQA exposes six MCP tools for artifact retrieval:
get_execution_step_details
Step-level data including screenshot URLs for each step
get_network_logs
The HAR content for a given execution
get_console_logs
The browser console log text for a given execution
get_trace_url
A pre-signed S3 URL for the Playwright trace ZIP
get_ai_reasoning
The AI reasoning log for a given execution
get_test_step_results
Pass/fail and metadata for each step, including screenshot URLs
All URL-returning tools produce pre-signed S3 URLs. These URLs expire after 1 hour. If you are building an automation that downloads artifacts after execution polling completes, call the relevant tool immediately after the execution status transitions to PASSED or FAILED — do not store the URL and use it later.
Using the Playwright trace viewer
The Playwright trace is the most detailed artifact ContextQA produces. It contains:
A DOM snapshot at every action
Network request waterfall
Console output timeline
Screenshots interleaved with actions
Test step durations
To view a trace:
Download the
.ziptrace file from the Trace artifact tab in the execution report, or retrieve the URL via theget_trace_urlMCP tool.Open trace.playwright.dev in any modern browser.
Drag and drop the
.zipfile onto the page, or click Upload and select the file.The trace viewer opens with a full interactive timeline.
The Playwright trace viewer is a static web application — it requires no account, no login, and no ContextQA access. This makes it a portable audit artifact that can be attached to Jira tickets, shared in Slack, or archived independently of the ContextQA portal.
S3 URL expiry and access patterns
Pre-signed S3 URLs are scoped to a single artifact and expire after 1 hour from the time they are generated. This is a security constraint, not a content retention limit — the underlying artifact in storage persists for the duration defined by your organization's retention policy.
Correct pattern: Fetch the URL → download the artifact immediately.
Incorrect pattern: Fetch the URL → store the URL → download the artifact hours later. This will result in a 403 Forbidden response from S3.
If you are archiving artifacts to an external system (for example, an S3 bucket you control, or an evidence management tool), download the artifact immediately after receiving the URL and upload it to your target system in the same pipeline step.
Frequently Asked Questions
Why does the video show a black screen for some steps?
This typically occurs when the test case navigates to a page that triggers a browser prompt (alert, confirm, or file chooser) before the video frame is captured. The browser renders these prompts outside the normal page compositing layer, so they appear black in WebM recordings. Screenshots at the step level are captured differently and usually show the prompt correctly.
Can I configure ContextQA to keep artifacts for longer than the default retention period?
Artifact retention is governed by your organization's subscription tier and the storage policy configured in Settings → Organization Settings. Contact ContextQA support to discuss extended retention. Artifact S3 URL expiry (1 hour) is separate from artifact retention and cannot be extended — it is a security property of the pre-signed URL system.
Does FAILED_ONLY screenshot mode affect the video?
FAILED_ONLY screenshot mode affect the video?No. Video recording captures the full session regardless of screenshot mode. FAILED_ONLY only controls which steps receive a screenshot capture event. The WebM video remains a continuous recording from session start to end.
How large are typical evidence packages?
A 30-step test case in ALL_TYPES mode produces approximately 30 JPG screenshots (typically 50–200 KB each), a 5–15 MB WebM video, a 1–5 MB HAR file, and a 2–10 MB Playwright trace ZIP. For suites with hundreds of test cases, storage consumption can reach several gigabytes per execution run.
Related
10× faster with parallel execution across browsers and devices. Book a Demo → — See ContextQA run your full test suite in parallel CI/CD execution.
Last updated
Was this helpful?