gui-integration-test-video

Runs and authors Warp Rust integration tests that capture screenshots and video with input overlays.

64.7k|5.5k|Updated Jul 8, 2021
One-click install
npx skills add https://github.com/warpdotdev/warp --skill gui-integration-test-video
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gui-integration-test-video
Source: https://github.com/warpdotdev/warp/tree/main/.warp/skills/gui-integration-test-video
Command: npx skills add https://github.com/warpdotdev/warp --skill gui-integration-test-video

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Recording and screenshotting Warp's GUI integration tests requires knowing the right environment variables, test harness APIs, and artifact locations, which are easy to get wrong without guidance.

Core Features & Use Cases

  • Test Recording Execution: Run named integration tests with real-display capture using WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS and WARP_INTEGRATION_TEST_VIDEO.
  • Test Authoring: Write Rust tests using TestStep::with_start_recording(), with_stop_recording(), and with_take_screenshot() to capture video spans and PNG screenshots.
  • Input Overlays: Generate mouse click indicators, drag trails, and keyboard shortcut pills in recordings by dispatching events via with_event, with_click_on_saved_position, and with_keystrokes.
  • Use Case: An engineer debugging a UI regression runs the test_video_recording sample, then inspects the timestamped artifacts directory for recording.mp4, screenshots, and recording.log to verify the fix.

Quick Start

Run the test_video_recording integration test with real display capture enabled and show me the resulting recording.mp4 and screenshots from the artifacts directory.

Frequently Asked Questions about gui-integration-test-video

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I record a video of a Rust integration test?

Run the integration binary with WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1 and set WARP_INTEGRATION_TEST_VIDEO to the test name, 'all', or '1'. Alternatively, call with_start_recording() and with_stop_recording() inside the test itself.

How do I take a screenshot inside an integration test?

Add TestStep::with_take_screenshot("filename.png") to the test. The driver writes the PNG into the test's timestamped artifacts directory after the step renders.

Where do integration test recordings and screenshots get saved?

Artifacts go to WARP_INTEGRATION_TEST_ARTIFACTS_DIR, defaulting to $TMPDIR/warp_integration_test_artifacts, under <test_name>/<timestamp>/. Expect recording.mp4, recording.log, and any requested PNG screenshots.

Why does my integration test video have no mouse or keyboard overlays?

Overlays are generated only from input events dispatched while recording is active. Drive the test with with_event, with_click_on_saved_position, or with_keystrokes so clicks, drags, and key presses produce overlay annotations.

When should I not use the integration test recording pipeline?

Do not use it for general requests to screenshot or record the running Warp app or a live UI flow. Use the computer use tool's built-in screenshot and screen-recording capabilities for those cases instead.

What happens if MP4 encoding fails during test recording?

The recorder falls back to writing per-frame PNGs in a sibling recording_frames/ directory, with files named like recording_0000.png. Check recording.log for details on the failure.