https://github.com/thefrontside/interactors
Composable page objects for components
https://github.com/thefrontside/interactors
Last synced: about 1 year ago
JSON representation
Composable page objects for components
- Host: GitHub
- URL: https://github.com/thefrontside/interactors
- Owner: thefrontside
- License: mit
- Created: 2021-08-24T21:34:15.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-12-10T05:13:14.000Z (over 1 year ago)
- Last Synced: 2025-03-28T03:07:57.117Z (over 1 year ago)
- Language: TypeScript
- Homepage: https://frontside.com/interactors
- Size: 9.52 MB
- Stars: 30
- Watchers: 8
- Forks: 3
- Open Issues: 44
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Interactors
[](https://github.com/thefrontside/interactors/actions/workflows/test.yml)
[](https://opensource.org/licenses/MIT)
[](https://frontside.com)
[](https://discord.gg/mv4uxxcAKd)
Interactors are Page Objects for component libraries and design systems. Learn more at [http://frontside.com/interactors](https://frontside.com/interactors)
* **Blackbox made easy:** Interactors manipulate an HTML interface from the perspective of a user and make no assumptions about the internal workings of an app. This means they cover 100% of your UI code starting from the raw input event handlers.
* **Remarkably diagnostic errors:** Because they are strongly associated with both the type and properties of the UI elements they actuate (e.g. Button, Checkbox, Input, ...), they quickly provide the next level in error messaging to help you quickly understand not just that something went wrong, but _why_.
* **Runner-agnostic:** They work well in any modern test runner capable of evaluating JavaScript in the context of the DOM. including both `Jest` and `Cypress`.
* **Framework-agnostic** Your tests will work the same no matter if your application is written in React, Angular, Vue, or whether you choose to eventually rewrite it in Framework 2043.™
* **Fast and precise:** By using its unique [convergence strategy](https://frontside.com/blog/2020-07-16-the-lesson-of-bigtest-interactors/#the-convergence-strategy) and only coupling wait times to observable states, Interactors naturally use the minimum amount of synchronization time while performing actions and assertions.