Skip to content

playwright-jev

Node CLI for goal-driven E2E tests: Jev picks the next step from a code-generated action space, playwright-cli executes, code asserts.

CLIbetaMIT

Overview

playwright-jev is a Node CLI for semantic end-to-end testing. playwright-cli observes and executes browser actions, Jev chooses the next step from a finite, code-generated action space, and test code supplies deterministic inputs, assertions, thresholds and the final verdict. Jev cannot launch a browser or run selectors; it can only return an actionId from the current observation. It borrows the dynamic indexed action space and speculative fan-out ideas from browser-use's jev-ultrafast. The README is in Chinese.

It suits exploratory E2E tests described as user goals, pages with small structural changes but stable accessible names, and agent trace tests. The README advises keeping deterministic Playwright tests for exact amounts, dates, URLs, high-risk side effects, pixel regression, canvas, complex drag, uploads and multi-window flows. An offline demo runs without an API key, a quick mode takes a URL, goal, inputs and assertions on the command line, and traces are written without recording input values. MIT licensed.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich actionId from the current observation advances the goal?—

How it works

  1. Observe the page with playwright-cli.
  2. Build a finite action space in code.
  3. Jev picks an actionId; code executes it.
  4. Deterministic assertions decide pass or fail.

Strengths

  • Jev cannot invent selectors or inputs.
  • Offline demo without a key.
  • Clear guidance on when not to use it.

Caveats

  • Not for exact values or high-risk side effects.
  • Chinese documentation.

Getting started

npm install -g @playwright/cli@latest, then node scripts/cli.mjs examples/login.json with TYPESAFE_API_KEY set.

At a glance

Type
CLI
Status
beta
Language
JavaScript
Runtime
Node CLI, playwright-cli
Has code
yes
Has tests
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • This tool provides a Node CLI for goal-driven web E2E testing where Jev chooses the next step from a code-generated action space, playwright-cli observes and executes browser actions, and code controls inputs, deterministic assertions, and the final verdict.

    logicrw/awesome-jev-projects

Frequently asked questions

What can Jev do in a test?

Only choose an actionId from the current observation.

Who decides pass or fail?

Deterministic assertions in test code.

Can I try it without a key?

Yes, the offline demo uses preset actions.

Related projects

  • 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
  • Community runner for Midscene Test adding jevAct, jevAssert and jevWaitFor nodes that use Jev over a bounded, non-text action space.

    PluginbetaTypeScript