正在加载视频...
视频加载失败
e2e by TesterArmy (YC P26) explained visually You write tests as agent goals in plain English and AI agents run them using screenshots, view hierarchy and agent tools one step at a time. Then the agent's actions are recorded, so next runs are replayed with no model call and... show more
16,225 次观看 • 14 天前 •via X (Twitter)
33 条评论

Learn more about agentic e2e here 👇 It would be absolutely amazing if you ⭐️ the repo on GitHub!

Huge kudos to @wheresryan22 for inventing /anatomy. It's so good!

@TesterArmy Assertions still run live while the actions replay. That detail in the docs matters to me. I’d want each run to earn its own pass.

@TesterArmy yeah that's right `agent.assert` is never cached

@TesterArmy Amazing

@TesterArmy Thanks!

@TesterArmy Benefit vs Argent from Swmansion?

@TesterArmy with e2e you can mix the agentic and deterministic API to create familiar looking repeatable test suites in TypeScript actually argent could be used as an engine to power e2e instead of agent-device, I have a poc on my machine, might release it soon

@TesterArmy Bypassing model calls on replay is brilliant for keeping CI runs both deterministic and cheap.

@TesterArmy yess

@TesterArmy Replaying the recorded steps with no model call is the smart part. When the UI changes and the replay breaks, does the agent take over again?

@TesterArmy yup

@TesterArmy The recording is the part that rots: one UI change and the path is stale while the runs still go green and prove nothing. Keep the goal plus its assertion as the real test and let the agent re-derive the steps each run.

@TesterArmy You can turn off caching in the e2e.config.ts or run tests without cache with `—no-cache` flag:

@TesterArmy this is a very cool way to show case a product, i star it!! would you be willing to share the prompt of this??

@TesterArmy I used the /anatomy skill and basically pointed it at the e2e repo

@TesterArmy can we inspect the cached steps?

@TesterArmy yeah, they are written in json format in .e2e folder

@TesterArmy Replaying recorded runs with no model call is the smart part. Fast, cheap CI, and the agent only wakes up when the screen actually changes.

@TesterArmy Pretty sure I'm gonna use testerarmy soon 🔥

@TesterArmy Let us know how you like it! 🫶

@TesterArmy Plain-English test goals run by agents is the demo I've been waiting for. Writing the test was always the boring part, letting the agent do it feels right.

@TesterArmy Record once, replay without the model unless the screen changes. Smart way to keep the cost down 🙌

@TesterArmy the whole bet is the screen-change detector: pixel diff fires on every animation, hierarchy hash misses text-only regressions, and a false negative replays stale actions over a broken ui. what's the comparator?

@TesterArmy the cache doesn't rely neither on pixel diff nor hierarchy hash

@TesterArmy record once, replay forever, until the first redesign

@TesterArmy I have done a same flow in my testing tool. I should have released sooner 😭

@TesterArmy and now you can use ours! as easy as ~/ npx e2e init

@TesterArmy Does it resume at the changed step?

@TesterArmy not a full resume but nearly there. it will replay the cached run to a point where it needs to do it agentically

@TesterArmy Kacper needs a handoff receipt: source agent, target agent, task id, allowed tools, state hash, approval rule, failure reason, and rollback path. Agents can continue the work without inheriting a mystery state.

@TesterArmy Does a repaired path replace the old recording on the next run?

@TesterArmy yeah
