Atomic Testing
Portable UI testing utilities that unify test code across frameworks and libraries. The project provides a collection of packages for describing UI scenes and interacting with components consistently whether you test with React, Playwright or other tooling.
Documentation is available at https://atomic-testing.dev/.
Packages
This repository contains multiple packages under the packages/
directory,
including but not limited to:
-
@atomic-testing/core
– core APIs for defining scene parts and running tests. -
@atomic-testing/react-legacy
,@atomic-testing/react-18
, and@atomic-testing/react-19
– adapters for React applications. -
@atomic-testing/playwright
– integration with Playwright for end-to-end tests. -
Component driver packages such as
@atomic-testing/component-driver-html
and Material UI variants, used to drive specific UI components.runner.
Getting Started
-
Install Node.js (v22.12 or newer) and pnpm (v10 or newer).
-
Install the dependencies:
pnpm install
-
Add the packages you need to your project. A minimal setup might include the core and React packages:
pnpm add @atomic-testing/core @atomic-testing/react-18
Additional component drivers can be installed in the same way, for example:
pnpm add @atomic-testing/component-driver-html
-
Define your scene parts, create a test engine using the adapter for your framework, and write tests that interact with the scene.
For detailed guides and examples, see the online documentation.
Contributing
Pull requests are welcome. Before submitting, run the checks defined in the root
package.json
:
pnpm run check:lint
pnpm run check:style
pnpm run check:types