Skip to main content

HTML Interactors

Our HTML interactors cover some of the most common UI testing needs for apps that run in the browser.

These are the default interactors that are offered in @interactors/html:

As you might have seen on the Quick Start page, you can import any of the interactors directly from the @interactors/html package:

import { Button, TextField } from '@interactors/html';

If your app has unique interfaces that are not covered by these built-in tools, you are encouraged to write your own interactors. You can also check out Libraries to find out where you can see interactors written by other organizations.


The Page interactor is unique. Unlike the other predefined interactors, it's not designed to target one specific element but rather the whole page. It is useful for asserting for the url or title in your test environment:

Page.has({ title: 'BigTest Example App' });

The Page interactor is instantiated differently than the other predefined interactors so you do not need to call it Page() unless you want to pass in an argument.

Heads up

We introduced .exists() and .absent() in the Quick Start section but there are also .has() and .is() Interactor assertion methods. We will discuss their details on the Assertions page.