The recorder is a central part of Web Performance Monitor, helping you to easily record your transactions instead of doing tedious scripting. We are working on the next release and wanted to share our progress with you!


Multi-selection of steps

It is a good habit to optimize your transaction before deploying to production. Ideally transactions should contain only the steps required for monitoring. The recorder occasionally captures and records unnecessary actions like mousing over some elements, which can be usually be removed safely without affecting the transaction. In the past you had to delete these steps one by one. To avoid this hassle, the recorder will now allow selecting multiple steps at once with the shift key to select a continuous block of steps or the control key to select steps one by one.

multi-select in timeline.png


Once all steps are selected you can perform several actions: delete them, make all steps optional, make all steps required, or make them conditional. If a step is optional, it will not fail the whole transaction in case the step itself fails. You can revert this by making it required again. We will talk about conditional steps later.


multi-select with menu.png


Multi-Variant Text Inputs

There are times when you need to enter text into the page to fill-in the login forms, test a search or answer security questions. The last one is especially tricky, as one day you are asked about your pet's name and the next day your hometown. The Multi-Variant Text Inputs feature allows you to look for a string on the page and based on the that enter different text into forms.


To use Multi-Variant Text Input first enter some text into the field and record the text input action.

simply text input in timelines.png


When the action is recorded, double-click on the text input action and you will notice a new option which allows you to change simple text input into Multi-Variant Text Input. After changing the type of action, you can add more options and even define default text. Default text is used if no text match is successful.

multi-variant text input UI.png

After you've added a few more options for Multi-Variant Text Input action the title will change in the timeline to reflect this change.

multi-variant text input in timeline.png

Positive and Negative Matches

There are two types of matches for verification, text match and image match. Another improvement we are working on is that both matches can have positive and negative variants. So you can be looking for a text or image which is or is not on the page.

Image_Match_UI marked.png

These two possible states are also indicated in the timeline.

Image_Match_in_Timeline marked.png

This is not only useful for conditionals (which are described later), but also can be used in any kind of generic verification (especially textual) of transaction health.

Simple Conditionals

The most complex feature we are working on in the recorder are simple conditionals. There are many examples of webpages where this could be handy. Already mentioned are random security questions, requests to participate in surveys, advertisements, campaigns, planned maintenance notifications and many others. With Simple conditionals, you can make some of the steps of normally sequential transitions conditional and handle the variation in certain web application behaviors.


Anatomy of Conditional

There are two types of conditions, text match and image match. Both can be used to trigger a conditional block of steps. Imagine you have a random advertisement displayed on web page. You can simply detect an image such as logo on the webpage and if the image match is successful, the next conditional step is clicking on the icon to close that advertisement.


Each conditional block must be preceded by a condition. Both conditions can have positive and negative matches. You can be looking for a text or image which is or is not on the page and thus have either positive or negative branches for a condition.


A condition is followed by a conditional block with at least one step. The conditional block has always only one branch and is performed based on condition results.


To visually differentiate conditional blocks and also differentiate positive and negative conditions we use a different background for steps in the timeline: yellow for positive match and blue for negative match.


positive_and_negative_conditional_blocks marked.png

Recording a conditional block

You can start recording a conditional block by enabling Conditional Mode. To enable this mode click the new button from the menu.


Conditional Mode button marked.png

Since a conditional block requires a control action - condition - you will be prompted to choose from:


  1. New Text match action
  2. New Image match action
  3. Using already recorder preceding action if there is any


After you choose the control action you simply continue to record actions. Actions are all conditional until you click the button again and disable conditional mode.


Another way to make a conditional block is to select multiple steps which are already recorded, then right-click and choose "Make actions conditional" item from the contextual menu. You will be again asked if you want to enter a new control action or use existing and the steps will be highlighted as conditional.


This was a quick overview of what kind of some of the improvements we are working on in the Recorder. Is there more? You bet!  We will give you more of a sneak peek in a future post (you can look forward to better correlating information from SAM and NPM to monitored Transactions or more on custom properties and some more mentioned in What We're Working On - Web Performance Monitor).


Stay tuned!