How ado11231/jevqa works
jevqa turns Markdown checklists into automated tests of web and mobile interfaces, using visible screen content rather than application source. The principal workflow is: the engineer supplies a test and configuration, the CLI starts a run, the runner executes steps through a device driver, rules or Jev determine outcomes, and events are saved and shown in the terminal or harness. The README documents native-device support as a capability, though the excerpts establish only the web driver’s implementation details; several package connections are supported by the README rather than sampled call sites.
Main entry points: step.ts Step execution · commands/run.ts Run command · src/run.ts Test runner · web.ts Web driver
Components 23
Test setup
- Checklist file
- Run configuration
packages/core/src/config.ts - Test parsing
packages/core/src/testfile.ts
Run execution
- Run command
packages/cli/src/commands/run.ts - Test runner
packages/runner/src/run.ts - Step execution
packages/runner/src/step.ts - Step rules
packages/runner/src/step-rules.ts - Device interface
packages/drivers/src/driver.ts - Web driver
packages/drivers/src/web.ts - Native driver
packages/drivers/src
Screen judgment
- Screen reader
packages/drivers/src/read-web-screen.ts - Screen snapshot
packages/core/src/snapshot.ts - Jev judge
packages/judge/src/jev.ts - Verdict rules
packages/core/src/verdict.ts
Run reporting
- Run events
packages/core/src/events.ts - Run log
packages/runner/src/log.ts - Terminal output
packages/cli/src/terminal-output.ts - Harness server
packages/server/src/server.ts - Harness UI
packages/ui/src/App.tsx - Live event reader
packages/ui/src/useRunEvents.ts
Other components
- Test author
- Tested app
- Jev API
Connections 23
- Test author → Checklist file: writes steps
- Test author → Run configuration: configures run
- Checklist file → Run command: selects tests
- Run configuration → Run command: loads settings
- Run command → Test parsing: parses tests
- Run command → Test runner: starts run
- Test runner → Step execution: runs steps
- Step execution → Step rules: checks rules
- Step execution → Device interface: controls device
- Device interface → Web driver: implemented by
- Web driver → Tested app: controls browser
- Web driver → Screen reader: reads screen
- Step execution → Screen snapshot: builds snapshot
- Step execution → Jev judge: asks questions
- Jev judge → Jev API: sends questions
- Step execution → Verdict rules: assesses answers
- Step execution → Run events: emits events
- Test runner → Run log: writes events
- Run command → Terminal output: renders events
- Run command → Harness server: forwards events
- Harness server → Live event reader: streams events
- Live event reader → Harness UI: updates view
- Test runner → Native driver: supports devices