Skip to content

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.

Projectprototype

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

TypeQuestionAnswers
ChoiceWhich operation should be performed next?—
ChoiceWhich observed element is the target?—

How it works

  1. Test states a natural-language goal
  2. Local laya-browser model picks operation and element
  3. Local Gemma model writes text when typing is needed
  4. 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

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 serverbetaPython
  • CodexQA browser skill that indexes in-page controls and has Jev pick the operation and target each step, with no screenshots needed.

    Agent skillbeta
  • Goal-driven browser agent where each step is one Jev choice over the page's controls, then reviews the run for root causes.

    AppbetaTypeScript
  • Chinese UI test framework where Jev scores candidate page elements for each step of a natural-language test case.

    ProjectbetaPython
  • Cucumber runner where Jev resolves each Gherkin step against the live page and Playwright executes it, so tests need only the .feature file.

    ProjectbetaTypeScript
  • Browser tests written as user steps: Jev finds each control once, the path is recorded, and replays run without the model.

    ProjectbetaTypeScript