jev-ultrafast-ai-ui-tests
Selector-free pytest UI tests for saucedemo using a jev-ultrafast-style agent run fully locally with laya-browser and a small Ollama model.
Overview
This framework runs selector-free UI tests against saucedemo.com. A test states a goal in natural language, a System One decision model picks the operation and page element in one forward pass, and the verdict comes from a deterministic check of the real DOM rather than from the model. It builds on Browser Use's jev-ultrafast but replaces cloud Jev, which is waitlisted and paid, with laya-browser, an open model fine-tuned for the requests jev-ultrafast sends, served on a local GPU, and replaces the text LLM with a local Gemma model in Ollama.
Everything is wrapped in pytest with an isolated Chrome, fixtures, independent DOM checks and an HTML report of the agent's steps, and it runs locally or via Docker Compose with the browser visible through noVNC. Three happy-path scenarios were run, and lessons learned became rules for phrasing goals and a list of limitations. It has been tested only on Windows 11 with an NVIDIA GPU; macOS is not supported.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which operation should be performed next? | — |
| Choice | Which observed element is the target? | — |
How it works
- Test states a natural-language goal
- Local laya-browser model picks operation and element
- Local Gemma model writes text when typing is needed
- Deterministic DOM check decides pass or fail; HTML report generated
Strengths
- Runs fully locally with no cloud APIs
- Verdict from DOM checks, not the model
- Docker Compose option with GPU
Caveats
- Tested only on Windows 11 with NVIDIA GPU
- Three happy-path scenarios only
- Uses an open substitute, not Jev itself
At a glance
- Type
- Project
- Status
- prototype
- Language
- Python
- Runtime
- pytest + local GPU model
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
Jev-ultrafast AI Framework for UI Tests.
hellogumbo/awesome-jev
Frequently asked questions
Does it use TypeSafe's Jev?
No. It uses the open laya-browser model locally in place of cloud Jev.
Who decides if a test passed?
A deterministic check of the real DOM, not the model.
Which platforms are supported?
Only Windows 11 with an NVIDIA GPU has been tested.
Related projects
Local browser agent that picks each step's operation and element with a Jev-shaped model such as a fine-tuned Laya, no cloud needed.
MCP serverbetaPythonCodexQA browser skill that indexes in-page controls and has Jev pick the operation and target each step, with no screenshots needed.
Agent skillbetaGoal-driven browser agent where each step is one Jev choice over the page's controls, then reviews the run for root causes.
AppbetaTypeScriptChinese UI test framework where Jev scores candidate page elements for each step of a natural-language test case.
ProjectbetaPythonCucumber runner where Jev resolves each Gherkin step against the live page and Playwright executes it, so tests need only the .feature file.
ProjectbetaTypeScriptBrowser tests written as user steps: Jev finds each control once, the path is recorded, and replays run without the model.
ProjectbetaTypeScript