Find Text

A Find Text building block searches for a piece of text on the whole screen or part of the screen. This block can for instance be used to validate or assert that a system under test is in a correct state before passing or failing.

See the Capture text on screen lesson for an example of how to use the Find text block.

Fully expanded, the Find text block shows the following properties:

 find text

The Block Header (“Find text”)

The green input connector in the header is used to trigger the block to start executing.

The green output connector in the header triggers when the text has been found. If “All occurrences” of the “Use occur.” property is selected (see below), this output connector triggers on each iteration until all occurrences are iterated through.

The title of the block (“Find text”) can be changed by double-clicking on it and typing in a new title.

Text to find

Specify which text to find.

The text can be dynamic by using tokens for added fields (see below). Right-click in the text and select “Insert token” to insert a field that has been added below.

Text fields

Add any number of fields that can contain dynamic content and be used as tokens in the text.

Language

Select the language in which you want to find the text.

Not Found

This green output connector triggers if the text is not found before the timeout (see below). This is typically used to branch execution flow or to explicitly fail a case by linking it to a Fail block.

Position found

The screen position where the text was found in X, Y coordinates. The top-left corner of the screen is position 0, 0.

Note that this is the middle of the text, not the upper-leftmost pixel of the text.

Click the Expand button to work with the X and Y coordinates separately.

Area found

The screen area where the text was found in X, Y, Width, Height coordinates, starting with the upper-leftmost pixel. The top-left corner of the screen is position 0, 0.

Click the Expand button to work with the area’s position and size and their nested sub-properties separately.

Area

An area of the screen where the text will be searched for in X, Y, Width, Height coordinates, starting with the upper-leftmost pixel. The top-left corner of the screen is position 0, 0. If no area is defined, the entire screen is searched.

It’s possible to enter the area values manually, but the area can also be captured by right-clicking the property and selecting “Capture area”.

Click the Expand button to work with the area’s position and size and their nested sub-properties separately.

Is case sensitive

Select whether the text recognition should be case sensitive. By default, it is case insensitive.

Engine

User can select 'Default' as LEAPWORK OCR text recognition engine or user can opt for 'ABBYY' as text recognition engine.

OCR Mode

User can opt for "Full mode" or "Fast Speed" OCR mode.

Full mode: In full mode our OCR perform four recognition tries in parallel using two different modes i.e. two in normal and two in inverted colors.

Fast Speed:  In fast mode our OCR perform two recognition tries in parallel one in normal and other in inverted colors.

OCR Precision

OCR precision sets the accuracy of the OCR results on a character level. This means, a higher OCR precision level requires a higher confidence in the OCR engine before a certain character is matched.

With a high precision you can be very confident that the characters found are the correct characters.

On the other side a high precision can result in that some characters are not found. Setting a lower precision means that in general more characters are found, but the assurance that it’s the right characters is lower than with a high precision. So, the right setting is a balance between finding all the right characters and not include too much that ruins the result, and will depends on the font, colors, background, size of the text.

Precision Levels are:

  1. High: This is the highest Confidence factor or precision which user are sure that the character is large and visible enough (not hazy or compacted) to be recognized by an OCR engine. The predefined value is 70.
  2. Medium: This is the medium Confidence factor which user can opt when they think the character may or may not be recognized by an OCR engine, so they set this. This tells engine to search look for the possible characters in the defined area. The predefined value is 50.
  3. Low: This is the Low Confidence factor which user can opt when they are less sure that the character can be recognized by an OCR engine, so they set this. This tells engine to search for relatively possible characters in and outside the dictionary in the defined area where the precision to identify is low. The predefined value is 30.
  4. Very Low: This is the Lowest Confidence factor which user can opt when they are least sure that the character can be recognized by an OCR engine, so they set this. This tells engine to search for relatively all possible characters in and outside the dictionary in the defined area where the precision to identify is least. The predefined value is 20.
  5. Custom: This can be used to set the custom Precision value/Confidence factor. It is ranging from 0-100.

Zero will return everything what was recognized by OCR and 100 will return the best possible recognized result. 
In case the built-in OCR engine in LEAPWORK is not matching the requirements, it is possible to change the engine to ABBYY. ABBYY is the world leading vendor of OCR engines and perform second-to-one when it comes to OCR. Contact our [Customer Success, link to chat page] team to get started with ABBYY.

Use Occurrence

Select which occurrence of the text on screen to use, if more than one is found.

Select “All” to iterate through all of the occurrences. By selecting “All”, the sub-properties Current index and Completed are shown (see below).

Current index

The current index when iterating through all occurrences of the text on screen. For instance, if three occurrences are found, this property will contain 1 for the first one, then 2 for the second and finally 3 for the last one.

Completed

This green output connector triggers when the iteration of all occurrences are completed.

Timeout

The maximum time spent searching for the text before giving up and triggering “Not found” (see above).

The default value is 10 seconds.

Note: All cases have a “global timeout” that can be configured in the “Settings” panel. This is unrelated to the timeout of a single building block. However, a running case will automatically be cancelled if it runs for longer than the global timeout.

Scroll to find

When a value other than “None” is selected, the building block will use scrolling when searching for the text. This can be useful when searching in scrollable content such as web pages and documents.

Max repeats

The maximum number of times to perform a scroll before giving up searching for the text.

Amount

The amount of scrolling that will be performed on each scroll repeat.

Delay (sec)

The delay in seconds between each of the scroll amounts.

Await no movement

Delay the search for the text until there has been no movement on the screen for a specific period of time — for instance 2 seconds.

This is useful when waiting for a screen update to occur, for instance a page loading in a browser window. Regardless of this checkbox, the search will occur after waiting a maximum of 30 seconds.

Await Timeout

The number of seconds the screen must have seen no movement before proceeding.

 

Updated February 7th 2017