Skip to content

Why CraftDriver? โ€‹

CraftDriver is for writing boringly reliable automation against real browsers, with code that reads nicely.

What It Cares About โ€‹

  • ๐Ÿบ Focused Node.js API - browser automation without a giant framework around it.
  • ๐Ÿงญ Real browsers - drives installed Chrome, Chromium, and Firefox instead of patched browser engine builds.
  • ๐ŸŒ Standards that age well - W3C WebDriver standards stay stable while browser-private protocols change.
  • ๐Ÿšฆ Readable, auto-waited flows - role, label, text, test id, CSS, XPath, click, fill, and expect.
  • ๐Ÿ“ก Network control - mock, block, intercept, and wait for browser requests and responses.
  • ๐Ÿ” Reusable sessions - save cookies and localStorage, then launch already signed in.
  • โฑ๏ธ Virtual clock - freeze or fast-forward Date, timers, and time-sensitive UI.
  • โ™ฟ Accessibility audits - run axe-core checks on pages, elements, and locators.
  • ๐Ÿงพ Trace evidence - capture actions, console output, errors, network events, and screenshots.
  • ๐Ÿค– Agent-friendly - CLI, MCP, and assistant rules when coding agents need the browser.

Good Fits โ€‹

  • End-to-end tests in Node.js.
  • Browser scripts and diagnostics.
  • Projects that want installed Chrome, Chromium, and Firefox through WebDriver.
  • Tests that need network mocks, saved auth state, virtual time, or accessibility gates.
  • Coding agents that should use the same browser automation primitives as humans.

Not The Goal โ€‹

CraftDriver is not trying to be a giant testing universe. It is the browser control layer: launch, navigate, click, fill, assert, inspect, debug, and get on with your day.

Released under the MIT License.