Skip to main content

Recording your first test

The recorder opens a real browser, you click through a journey, and it captures each step with the element it targeted, the locators available for that element, the network calls the step caused and any assertion you add. The result replays as-is and exports as code.

What gets captured on each step

  • The action: click, type, select, navigate, hover, key press.
  • The element, with every locator strategy the recorder could derive for it. This is the raw material self-healing uses later.
  • The network requests the step triggered, with status, timing and size, so an API-level assertion can be added without a second tool.
  • Screenshots along the flow, used by visual regression and by the failure view.

Adding assertions

Assert on visible text, element state, URL, or a network response while you record. An assertion is a step like any other and can be edited afterwards. Recordings without assertions still replay, but they only prove that the journey did not crash, which is rarely what a release decision needs.

Authentication

Record the sign-in as part of the flow, or sign in once and let the platform store the session state and reuse it on replay. Stored session state is kept server-side and scoped to the recording session. For applications behind SSO, record the SSO steps once with a test identity.

Replaying

Run the recording on demand, on a schedule, or from a CI trigger. When a step fails, the failure view shows the failing step, the locator it used, the request it made and the screenshot at that moment. When the failure is a selector that no longer matches, the heal-review queue proposes a repair; nothing changes until a person approves it.

Exporting as code

Any recording exports as Playwright, Cypress or Selenium code. The exported test runs in your own framework without the platform. Teams use this to keep an existing framework while using the recorder and heal review to cut maintenance.

What an exported Playwright step looks like (illustrative)
test('checkout', async ({ page }) => {
  await page.goto(env.BASE_URL);
  await page.getByRole('button', { name: 'Add to cart' }).click();   // elem_0004
  await expect(page.getByTestId('cart-count')).toHaveText('1');       // assertion 1
});

Questions people ask about this

Which browsers can I record in?
Chromium, Chrome, Firefox, WebKit and Edge. Network throttling and timezone emulation are only available on the Chromium family.
Does the recorder work with shadow DOM and iframes?
Yes for same-origin frames and open shadow roots. Cross-origin frames are captured as navigation steps; check the first replay and approve heals where needed.

Source: /documentation/recording-your-first-test, updated 2026-09-16. Answers are checked against the shipped product on that date.

Found something out of date? The people who build the module answer the contact form on the home page, and corrections to this guide are dated above. Tell us.

Recording and self-healing

Self-healing and the heal-review queue

When a recorded step cannot find its element, the platform tries more than fifteen fallback locator strategies, proposes the best match, and…

6 min
Getting started

Quick start: your first recorded test in one sitting

Create a free account, verify your email, name a workspace, point the recorder at a URL you are allowed to test, and click through one flow.…

5 min
Getting started

Platform overview: sixteen modules, one set of test assets

Dokimore is one workspace in which UI recording, API testing, load testing, security scanning and accessibility auditing read the same envir…

8 min

Your choice about analytics

We use one optional analytics tool, run on our own servers, to see which pages help people. It stays off unless you turn it on. Storage needed to sign you in, keep the site secure and remember this choice is always on. Cookie Policy