Record, replay and measure user flows with Chrome DevTools

1. Introduction

Use the Recorder panel to record, replay and measure user flows.

Take a glance at the new Recorder panel (preview feature) with the video below.

What you'll learn

  • Record a user flow
  • Replay a user flow
  • Edit a user flow
  • Measure a user flow

What you'll need

  • A working computer and realiable wifi
  • Chrome 101 and above.

2. Open the Recorder panel

Open the Recorder panel with the following steps

  1. Open DevTools.
  2. Click on More options > More tools > Recorder. Recorder in the menu Alternatively, use the Command Menu to open the Recorder panel. Show Recorder command in the Command menu

3. Start

We will be using this coffee ordering demo page. Checkout is a common user flow among shopping websites.

In the next sections, we will walk you through how to record, replay and measure the following checkout flow with the Recorder panel:

  1. Add a coffee to the cart.
  2. Add another coffee to the cart.
  3. Go to the cart page.
  4. Remove one coffee from the cart.
  5. Start the checkout process.
  6. Fill in payment details.
  7. Check out.

4. Record a user flow

  1. Open the demo page. Click on the Start new recording button to begin.
  2. Enter "coffee checkout" in the Recording name textbox. Start a new recording
  3. Click on the Start a new recording button. The recording is started. The panel is showing Recording... indicating the recording is in progress. recording in progress
  4. Click on Cappuccino to add it to the cart.
  5. Click on Americano to add it to the cart. Notice that the Recorder shows the steps that you have performed so far. steps in the Recorder panel
  6. Go to the cart page.
  7. Remove Americano from the cart.
  8. Click on the Total: $19.00 button to start the checkout process.
  9. In the payment details form, fill in the Name and Email textboxes, and check the I would like to receive order updates and promotional messages. checkbox. payment details form
  10. Click on the Submit button to complete the checkout process.
  11. In the Recorder panel. Click End recording button to end the recording.

5. Replay a user flow

After recording a user flow, you can replay it by clicking on the Replay button.

You can see the user flow replay on the page. The replay progress is shown in the Recorder panel as well.

You can simulate a slow network connection by configuring the Replay settings. For example, expand the Replay settings, select Slow 3G in the Network dropdown. replay settings

You can set longer timeout for all the steps too.

More settings might be supported in the future. Share with us the replay settings you would like to have!

6. Measure a user flow

You can measure the performance of a user flow by clicking on the Measure performance button. For example, checkout is a critical user flow of a shopping website. With the Recorder panel, you can record the checkout flow once and measure it regularly.

Clicking on the Measure performance button will first trigger a replay of the user flow, then open the performance trace in the Performance panel.

Learn how to analyze your page's runtime performance with the Performance panel. You can enable the Web Vitals checkbox in the Performance panel, to view the Web Vitals metrics, identify opportunities to improve your user browsing experience.

Performance panel

7. Edit user flows

Let's walk through the options to edit the user flows.

DevTools Recorder panel has a dropdown menu in the header which allows you to select a user flow to edit

On the top of the Recorder panel, there are options for you to:

  1. Add a new recording. Click on the + icon to add a new recording.
  2. View all recordings. The dropdown shows the list of saved recordings. Select the [number] recording(s) option to expand and manage the list of saved recordings. View all recordings
  3. Export a recording. You can export the user flow as Puppeteer script to customize the script further.
  4. Delete a recording. Delete the selected recording.

You can also edit the recording's name by clicking the edit button next to it.

8. Edit steps

Let's walk through the options to edit the steps within a workflow.

Expand steps

  1. Expand each step to see the details of the action. For example, expand the Click Element "Cappuccino" step. In the recorder panel, the Cappuccino element has been expanded to reveal type, target, selectors, offset X, and offset Y.
  2. The step above shows two selectors. For more information, see Selector priority. When replaying the user flow, the Recorder tries to query the element with one of the selectors by sequence. For example, if the Recorder successfully queries the element with the first selector, it will skip the second selector and proceed to the next step.
  3. You can add or remove any selectors. For example, you can remove the selector #2 because just aria/Cappuccino is sufficient in this case. Hover over the selector #2 and click on - to remove it. The DevTools recorder panel shows an option to remove a selector
  4. The selector is editable too. For example, if you want to select Mocha instead of Cappuccino, you can edit the selector value to aria/Mocha instead. edit a selector Alternatively, click the Select button and then click Mocha on the page.
  5. Replay the flow now, it should select Mocha instead of Cappuccino.
  6. Try to edit other step properties such as type, target, value and more.

Add and remove steps

There are options to add and remove steps too. This is useful if you want to add an extra step or remove an accidentally added step. Instead of re-recording the user flow, you can just edit it. Click on the 3-dot kebab menu next to the step to open the menu.

DevTools UI for coffee cart, including the menu for the Scroll event expanded to reveal three options: Add step before, add step after, and remove step.

  1. For example, the Scroll event after the Mocha step is not necessary. You can select Remove step to remove it.
  2. Say you want to wait until the 9 coffees display on the page before performing any steps.
  3. In the Mocha step menu, select Add step before. A new step named Assert Element was added and can now be edited
  4. In Assert Element, edit the new step with the following details:
    • type: waitForElement
    • selector #1: .cup
    • operator: == (click add operator button)
    • count: 9 (click add count button) The new step for coffee checkout has been updated with the aforementioned details.
  5. Replay the flow now to see the changes.

9. Congratulations!

Congratulations. You've successfully completed this codelab!

By the way, you can customize the selector for recordings as well. Go to our documentation to learn more.

How do you find this codelab?

Nah, it's boring. Nice, I like it!