Sedum
Plain-English Playwright end-to-end tests where Jev resolves each step's target element and judges whether verify claims hold.
Overview
Sedum lets you write browser tests as plain-English steps inside ordinary TypeScript, mixed freely with Playwright's page and expect, test data and helper functions. Each ai(...) sentence is resolved on the page without selectors. A decision model handles bounded tasks only: finding the element a sentence refers to (a Choice among the page's offered elements) and judging whether a verify claim holds (Noul). TypeSafe Jev is the default, with a compatible endpoint or Cloudflare Clef as alternatives. Clicking, typing, waiting, verdicts and exit codes stay deterministic on Playwright, and locator results are cached in Git metadata.
A goal mode lets Jev choose each next operation (click, type, done or blocked) and a target, capped at 24 requests, 18 actions and 120 seconds; the planner's 'done' is never a verdict, and a test passes only when an independent verify claim clears two Nouls (holds at 0.75 or above, contradicted flagged at 0.5). List summaries cite the README's estimate that a 20-person team's PR suite costs $38-91 a month on Jev versus $4,875 on a per-step AI platform. Status is pre-alpha.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which page element does this step refer to? | — |
| Choice | What is the next operation: click, type, done or blocked? | click · type · done · blocked |
| Yes / no | Does this verify claim hold on the page? | — |
| Yes / no | Is this claim contradicted by the page? | — |
How it works
- Write tests with plain-English ai(...) steps
- Jev picks the element for each step from offered elements
- Playwright performs the action deterministically
- Verify claims pass only when holds >= 0.75 and contradiction is not flagged
Strengths
- No selectors to maintain
- Large cost difference versus per-step AI platforms per the README estimate
- Deterministic execution and exit codes
- Cached locators reduce repeat calls
Caveats
- Pre-alpha; format may change
- Windows experimental
- Page content is sent to the provider
Getting started
npm install -D sedum-cli && npx sedum init && npx sedum browsers install chromium, set TYPESAFE_API_KEY, then npx sedum run tests/.At a glance
- Type
- CLI
- Status
- prototype
- Language
- TypeScript
- Runtime
- Node CLI on Playwright
- Has code
- yes
- Has tests
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Browser end-to-end testing: in goal mode each turn asks one Jev `Choice` for the next operation (click, type, done or blocked) plus a speculative target among the page's offered elements, capped at 24 requests, 18 actions and 120 s, and the test passes only when an independent verify claim clears two `Noul`s (holds ≥ 0.75, contradicted flagged at ≥ 0.5), since the planner's done is never a verdict; authored-step tests reuse the same `Choice` to resolve each plain-English step, and with your own API key a 20-person team's PR suite costs $38–$91 a month vs $4,875 on a per-step AI platform.
yibie/awesome-jevUnofficial open-source end-to-end AI testing tool for Playwright: in goal mode Jev picks each next action and its target, plain-English steps use a Jev Choice to find their element, and verify claims are two Nouls (holds, contradicted), while clicks, waits, verdicts and exit codes stay deterministic
AnotiaWang/awesome-decision-modelsPlain-English browser e2e tests cheap enough to run on every PR. Built on Jev and Playwright, open source, bring your own key.
logicrw/awesome-jev-projectsIn goal mode Jev picks each next browser action and its target; in authored plain-English test steps it picks the element each step refers to, and for verify claims whether they hold or are contradicted; Playwright performs the action, and code turns the probabilities into a pass, a low-confidence pass or a fail.
cobanov/awesome-jevPlain-English browser end-to-end tests on Playwright, cheap enough to run on every pull request: Jev resolves what each sentence refers to and whether a claim holds on the page. TypeSafe, a compatible endpoint, or Cloudflare Clef.
MrJev/awesome-jev
Frequently asked questions
What does Jev decide in Sedum?
Which element a plain-English step refers to, the next action in goal mode, and whether verify claims hold.
Is the planner's 'done' trusted?
No; a test passes only when an independent verify claim clears its thresholds.
Which providers work?
TypeSafe Jev by default, a compatible TypeSafe endpoint, or Cloudflare Clef.
Related projects
Browser QA where Playwright drives and records while Jev judges assertions, matches controls to intent and picks goal-directed clicks.
Agent skillbetaTypeScriptPlaywright TypeScript project using Jev for semantic assertions, element picking, goal-driven steps and test failure classification.
ProjectprototypeTypeScriptEvidence-driven frontend QA where Jev picks browser actions while code checks DOM, HTTP and database contracts.
AppbetaPythonCodexQA 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.
ProjectbetaPython