Package Guide
The fastest way to get exactly the right packages is create atomic-testing โ it detects your framework, runner, and design system and installs the matching packages for you. This page is for hand-picking packages yourself or understanding what the scaffolder would choose; the Framework and Runner Support matrix lists which combinations are verified vs. experimental.
Every setup needs three things: a framework/runner package (the createTestEngine for your environment), the core package, and at least one component-driver package (the vocabulary for the components you interact with). Pick one from each group below.
Choose your packagesโ
| You haveโฆ | Install this framework package |
|---|---|
| React 19 | @atomic-testing/react-19 |
| React 18 | @atomic-testing/react-18 |
| React 17 | @atomic-testing/react-legacy |
| Vue 3 | @atomic-testing/vue-3 |
| Angular 20 / 21 / 22 | @atomic-testing/angular-20, -21, or -22 (match your Angular major) |
| Any framework, in the browser | @atomic-testing/playwright (E2E) โ pairs with any of the above |
Then add the driver package for your UI library from Component driver libraries below. If you don't use a design system, @atomic-testing/component-driver-html covers standard HTML elements and works with any framework.
DOM vs. E2E is a runner choice, not an either/or: the framework packages run fast jsdom tests (Jest/Vitest), and @atomic-testing/playwright runs the same scene against a real browser. Most projects start with DOM tests and add Playwright for critical user journeys โ the tutorial shows one scene reused across both.
For the exact install commands per framework (including peer dependencies), see Manual Installation; to have it done for you, run create atomic-testing.
Framework & runner notesโ
- React
- Vue 3
- Angular
- Playwright
react-19, react-18, and react-legacy (React 17) share an identical API โ only the peer React version differs. On React 17, plan to upgrade: it's supported for gradual migration, not new work.
VueInteractor calls Vue's own nextTick() after each interaction, so reactive state settles before your next assertion โ no act()-style flag to configure. Works with Composition-API and SFC-like components.
@atomic-testing/angular-20/-21/-22 bootstrap a standalone component and await ApplicationRef.whenStable() after each interaction. They work under both zone.js and zoneless change detection (zone.js is an optional peer). Angular runs under Vitest browser mode โ see the support matrix.
@atomic-testing/playwright drives a real browser (Chromium, Firefox, WebKit), so it covers cross-browser behavior, geometry, and anything jsdom can't model. It needs a page your app actually serves โ point it at your dev server with webServer/baseURL in playwright.config.ts.
Component driver librariesโ
Each driver package covers one UI library. Where a library ships several supported majors โ Material UI (component-driver-mui-v6, -v7, -v9, plus the MUI-X equivalents) and Angular Material (component-driver-angular-material-v20, -v21, -v22) โ each major gets its own package, because each major's DOM differs enough that a driver written against one won't reliably match another. The driver set itself (names, methods) is consistent across those majors. In practice: install and read the section matching the major you have, and skip the rest.
Each entry notes its framework binding and support tier โ verified (a green fixture proves it in this repo) or experimental (composed best-effort, no proving fixture yet). See the generated API reference for the full class and method list of any package.
Material UIโ
React ยท verified. Match the package major to the MUI Core major you have installed.
- MUI v9 (Latest)
- MUI v7
- MUI v6
pnpm add @atomic-testing/component-driver-mui-v9
The full v7 driver set plus RadioGroup, Table, and Tooltip drivers. (MUI Core has no v8; v9 succeeds v7.)
pnpm add @atomic-testing/component-driver-mui-v7
Core MUI v7 components with stable APIs.
pnpm add @atomic-testing/component-driver-mui-v6
Core MUI v6 components with stable APIs.
MUI Xโ
React ยท verified. Drivers for the MUI X data components (Data Grid and friends), shipped separately from MUI Core because their DOM is its own surface. Match the package major to your @mui/x-* major.
- MUI X v9 (Latest)
- MUI X v8
- MUI X v7
- MUI X v6
pnpm add @atomic-testing/component-driver-mui-x-v9
pnpm add @atomic-testing/component-driver-mui-x-v8
pnpm add @atomic-testing/component-driver-mui-x-v7
pnpm add @atomic-testing/component-driver-mui-x-v6
Covers MUI X Data Grid components. Unlike MUI Core, MUI X does ship a v8 driver.
Radix UIโ
React ยท verified.
pnpm add @atomic-testing/component-driver-radix-v1
Radix UI primitives (radix-ui v1) โ the headless, unstyled React components many design systems build on. See the Radix / shadcn coverage matrix.
shadcn/uiโ
React ยท verified.
pnpm add @atomic-testing/component-driver-shadcn-v1
A re-export of the Radix UI v1 drivers, since shadcn/ui is built on Radix primitives.
Astryxโ
React ยท verified.
pnpm add @atomic-testing/component-driver-astryx
The Astryx design system (@astryxdesign/core). See the Astryx coverage matrix.
PrimeVueโ
Vue 3 ยท verified.
pnpm add @atomic-testing/component-driver-primevue-v4
PrimeVue 4 components (Button, Select, DataTable, Dialog, and more).
Angular Materialโ
Angular ยท experimental. Match the package major to your Angular Material major; these run under Vitest browser mode (see the support matrix).
- Angular Material v22
- Angular Material v21
- Angular Material v20
pnpm add @atomic-testing/component-driver-angular-material-v22
pnpm add @atomic-testing/component-driver-angular-material-v21
pnpm add @atomic-testing/component-driver-angular-material-v20
Covers Angular Material components (Autocomplete, Select, Dialog, Menu, and more).
HTMLโ
React & Vue 3 ยท verified; Angular ยท experimental.
pnpm add @atomic-testing/component-driver-html
Standard HTML elements (button, input, select, and so on). The right choice for custom components, HTML-based UI libraries, or when you need basic element interaction โ and the safe default when no driver package exists for your design system.
Tipsโ
- Start with HTML drivers and DOM tests โ they're faster to run and debug, and work with any components. Add a design-system driver package when you need library-specific behavior.
- Mix driver packages freely โ HTML and MUI drivers can coexist in one scene.
- Add Playwright gradually โ reuse the same scenes you already wrote for DOM tests against critical user journeys.
- Upgrade drivers incrementally โ moving from
-v6to-v7drivers is one import change, not a test rewrite.
Build your first test
Now that you know which packages to install, build a complete test end to end.
Start Tutorial โ