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.
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
| Type | Question | Answers |
|---|---|---|
| Choice | Which actionId from the current observation advances the goal? | — |
How it works
- Observe the page with playwright-cli.
- Build a finite action space in code.
- Jev picks an actionId; code executes it.
- 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 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.
ProjectbetaTypeScriptCommunity runner for Midscene Test adding jevAct, jevAssert and jevWaitFor nodes that use Jev over a bounded, non-text action space.
PluginbetaTypeScript