Skip to content
EXP_14 / Developer tools

UI Test Generator

From a recorded workflow to a test draft.

Screen recording and vision-model analysis explore how demonstrated interactions can become structured testing notes.

Local capture of the web recorder before recording. Analysis requires a configured model provider. Click to enlarge.Image source ↗ (opens in a new tab)
Screenshot
UI Test Generator web application with recording controls

Local capture of the web recorder before recording. Analysis requires a configured model provider.

The question

Can showing a workflow reduce the work of describing how to test it?

Demonstrate the interaction

This project explores a workflow that begins with a screen recording. Instead of writing every step from memory, a user demonstrates the interaction and lets a vision model inspect sampled frames.

The repository contains a Next.js web application and a Python implementation. Its prompts include UI test generation, while the broader recording tools also support workflow descriptions and tutorial-style analysis.

Recording is the input

The web version provides browser-based recording and frame extraction. The analysis path uses OpenAI or Azure OpenAI, and the Python version also explores spoken narration. Sampling controls help manage the amount of image content sent for analysis.

The interesting bridge is from visible actions to a structured account of what happened. That can give a person a starting point for documentation or test steps while preserving the recording as something to check against.

Keep a person in the review loop

A model-generated test draft still needs review: screenshots do not expose every hidden state, assertion or edge case. The project explores assisted authoring rather than demonstrating that generated tests are automatically correct. Its local interface can be viewed without making a model request; analysis requires provider configuration.

Based on the project’s public documentation and published outputs. Read the README and explore the code ↗ (opens in a new tab)