Skip to content

Atomic Testing solves the difficulty of maintaining UI tests for third‑party UI components by providing a consistent, reusable approach that adapts across multiple testing environments

License

Notifications You must be signed in to change notification settings

atomic-testing/atomic-testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atomic Testing

NPM version NPM license

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

  1. Install Node.js (v22.12 or newer) and pnpm (v10 or newer).

  2. Install the dependencies:

    pnpm install
  3. 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
  4. 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

About

Atomic Testing solves the difficulty of maintaining UI tests for third‑party UI components by providing a consistent, reusable approach that adapts across multiple testing environments

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages