Page tree
Skip to end of metadata
Go to start of metadata

Last updated: Dec 03, 2019 13:22

The Perfecto Mobile timer represents the real time it takes for the user to experience a change on the device screen, representing the successful completion of a logical transaction – "the User Experience time" or UX time. This is the recommended timer to use in your scripts. 

Note: Specifically in native applications, it is important to distinguish between static content that is delivered with the application vs. dynamic content that is pulled from the service APIs. If you measure static content, you will likely get very short or even zero times because you really measure only the device processing and rendering time. On the other hand, what may be more interesting is to measure dynamically rendered content that is fetched from the service APIs, representing the round trip time, backend efficiency, the device/OS/application efficiency in receiving, decrypting, processing and rendering content.

The following steps represent the recommended way to measure the user experience (UX) time for performance testing and monitoring. They are based on:

  • Optical character recognition (OCR), which is what the user is really seeing
  • A text checkpoint, which is clear, reliable, and portable across devices (script once)

To implement a UX timer:

  1. To get the most accurate user experience time, use the following parameters in the Checkpoint command: 
    - Timer accuracy = accurate (to activate accurate timers)
    - Analysis source = camera (to take snapshots from the video)
    - OCR-analysis = automatic (to use the fastest analysis mode)
  2. Also, ensure that the needle is not present on the previous screen; otherwise the timer will come out as zero. Sometimes Perfecto finds the needle while the screen is still rendering. It may make sense to set the needle to content that is visible only when the screen is fully rendered.
  3. Set a high threshold (90 or higher). This ensures that the checkpoint captures the correct content only in cases of false-positive results, for example when there are two very similar strings.


The following example illustrates how the UX timer works.

ActionElapsed time (in sec)Device time (in sec)System time (in sec)UX time (in sec)
Timer start
Button click1010
Timer stop52.52.53.5

Note: If the needle is found in the first analysis attempt, then the entire function time is measured as System Time, and the System Time equals the Elapsed Time. Only if the icon is not found in the first analysis attempt, there will be also Device Time.