GUI Reliability Tools Recorder

Back

LBL®Global Distributed Gateway GUI Reliability Tools Recorder (GUIRT-R hereinafter) is the instrument of recording activity desktop for a subsequent automatic playback repetitive.

Through LBL®GUIRT-R it is possible to record new tracks of sequences of operations, modify traces of sequences of operations, try traces both overall and step to step or with departure from one  specific step. It is also possible to perform tests on images of portions of the screen or phrases on input fields and check the waiting times by calculating the actual speed end-to-end applications.

Start the Recorder

After the installation of the portable-app (see Installation Manual), to perform the start of recoder you must perform the following tasks:

  1. From the File Manager go to the directory C:\TCOProject\bin\LBL\LBLLoadBalancer

 

  1. Run command lblguirecorder.bat

  2. After the splash screen will open the window of the recorder and you can start the recording activity

The Recorder

The recorder is a tool that allows the recording of user operations and at the same time allows to add the characteristics of control on every single transaction. The interface is composed of some panels with control buttons and a section where are displayed, with the possibility of change, all individual transactions that make up the track of operator sequences (from now onwards simply track).

Always on Top

Open xml list

Save as

Open

New

About

Save

Actual screen resolution

Recorded loaded file Screen Resolution 

Current mouse Y position

Current mouse X position

Steps tab

Keyboard keys help tab

Copy selected step

Pause recording

Start recording

Run 

Stop

Take snap desktop portion

Insert before selected step 

Insertafter selected step

Remove selected step

Clear selection

Run from selected step

Move up selected step

Move down selected step

Recording status

With the pressure of the button “Insert after selected step” or “Insert before selected step” you can add one step that will contain the caretteritiche of step.

Find text keyboard inpput value

Appears snap image

Mouse X position

View stored snap image

Wait milliseconds after step execution

Mouse event

Free text step description

Keyboard input

Displays text keyboard inpput value

Keyboard event

Run only this step

% Of discrepancy to snap image

Num retry compares if not matches

Step identifier

Find image

Mouse Y position

Start OS command

Wait milliseconds before step execution

JUMP to tag stepCompare KO

 Step tag identifier

JUMP to tag step appears OK

Must read before your first Recording

The activity of recording is the phase in which you perform step by step all the operations which then, once defined, may be repeated ad infinitum. It is to be immediately specify that the human interaction with the events of the desktop or with machines in general, is very complex and the breakdown of transactions in individual units can sometimes wonder for complexity and automatic operations and unconscious desires that we, as for example the waiting times between one operation and the other.

It is also important to highlight that to create a trace of sequences able to “decide” or at least notice that something is not working, we istruirla all controls involuntary that normally we unconsciously, wait until the window opens, check that the moment has come to type, verify that the result is consistent…

For these reasons the interface of recording has been designed to be as interactive as possible during registration to add during recording the same controls and expectations that usually a human being runs in automatic unconsciously.

In every moment the recording can be paused, you can modify/delete/add step and descriptions that will allow us to understand even in a second moment, the significance of the individual action.

Another consideration in the autorun relates to the engineering of the traces. As for the human being some repetitive operations, once learned, are automatically performed without thinking. In this case it is possible to split into multiple tracks our automation and then eseguiee tracks in sequence. A practical example of this can be explained by this simple test flow:

  1. Start the browser
  2. URL request
  3. Waiting for the request to login
  4. Typing login
  5. Typing a password
  6. Confirmation of operation
  7. Hold the menu of the application functionality
  8. Choice of features (A)
  9. Testing for Functionality (A.1)
  10. Testing for Functionality (A.2)
  11. Logout
  12. Closing the browser

It is clear right away that the operations from 1 to 7 and the operations from 11 to 12 can go well both for testing the functionality (A) both of other application functionality within that context and that would be not convenient to have different tracks for the different functions with inside the same repeated operations. In this case it is possible to create a track that contains the step of login and a track that contains steps to logout and then generate many traces to perform the functionality test place in that context. Traces can be put together in the phase of “Playing” reporting also more tags that identify during the running.

Another consideration is the initial state of the desktop to start a trace. When running a trace in reality we do not know what is the status of the desktop because it could be different from what we expect on the basis of the tests carried out earlier (browser open, open windows etc…). It is therefore important to use a trace of zeroing able to return the desktop to a state “zero” in which it is possible to begin a new track to test as if it were the first time. For this purpose in this manual will be described a track with some steps always useful for this activity. Of course must be modified in order to adapt to the needs of the moment.

The language of the desktop is influential to perform some tasks as short-cut or system commands. It is advisable to choose the language and the format of the date and time and the keyboard of reference to be used both during the recording is during playback.

Once you read the recommendations it is possible to proceed with the first recording.

First Recording

At departure LBL GUIRT Recorder you set in automatic mode with “Always on Top” to allow a mouse pointing on the desktop or applications while keeping control of the step of recording.

The basic operation provides to perform multiple positions of the mouse aimings alternating on the desktop, by confirming the transaction by clicking on the interface LBL GUIRT Recorder and then by repositioning the mouse on the next point.

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

After the start press the button “Start Recording” the description will change with “Mouse position capture enable” and moving the mouse and performing a click will be registered to the first position. 

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Once you have recorded your first step to go with the mouse on the interface to determine the action, in this case, choose “double click”.

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Then to test this step is already possible to perform the start through “Run step”

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

The interface of the GUI you will minimize and after about 3 seconds will run the step. The waiting time between the minimization of the interface and the execution of step serves to leave time to move the hand from the mouse in order not to interfere with the playback. At the end of the execution of the interface of the recorder will return visible and will show you the result of the operation.

To perform the stop of the capture of the recording of the positions of the mouse press the button “Pause”. The description “Mouse position capture” will change from red to black by plotting the description “disable”.

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

First Recording with text comparison

LBL GUIRT is able to compare the text values and images with portions of the desktop. As  test example of comparison for text values make the start of the program Notepad,, type inside the phrase “Hello world!” And then we will check that inside there is exactly this text and then close the Notepad window without saving.

The first thing we have to perform the start of Notepad. To run the start Notepad, but more in general any executable, you may use different techniques: by performing a double click on an icon, performing a click on the taskbar or more simply by performing the start of the program if we know the name.

In this case we will perform two tests of start, the first through the Run windows and the second through the start of the program at the same time step (OScommand).

With the mouse to press the button Insert step down

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

In the new step inserted write in cell KeyboardEvent Windows+R and in KeyboardInput notepad.exe

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
If we execute step  with Run step we should get the following result …

The window run windows remain open because it has not been confirmed and the track is finished successfully.

Then we add another step that goes to confirm with “Enter” the operation…

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Riposizioniamo selection on the first step and execute the run of the entire track from the beginning …

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Run the entire track from the  selected step, in this case the first step…

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

The result obtained is the opening of the window of notepad…

Let us add a step that type the phrase “Hello world!”… we select the step by which to insert the new item and then on the cell KeyboardInput type the phrase “Hello world!” (Note that the lowercase and uppercase letters are regarded as different)

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Deletes the selection of step …

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

We run the track that will start from the first step since there is no step selected….

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

The result obtained is the opening of the window of the program Notepad.exe and typing text “Hello world!” within the editor…

The window of notepad with the text “Hello world!”

Attention: if we have not closed the window of the  previous notepad we will find ourselves with two windows notepad superimposed… we have not yet instructed the track to close the window at the end of the operations …

We close then manually all Windows Notepad existing on the desktop…

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

At this point it is better to save the current state in order not to run the risk of losing our registration.

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

The window opens to save and go to indicate the name of the file with Test.xml

In the bar of the window at the top you will see the name of the files that are currently in use.

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

We go now to carry out the comparison of the value within the editor…

With the mouse we go to add one step and select the cell appears text and then putting it on the KeyboardInput the value that we want to compare …

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Deletes the selection of step and execute the run of the track from the beginning …

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

It should be noted that as the last operation LBL GUIRT performs the selection of the value in order to perform the comparison that in this case gives as result “normal end”…

Try to change the comparison value from “Hello world!” to “Hellooo world!”, deselezioniamo steps and execute the run from the beginning of the trace….

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

This time the result of the comparison indicates a difference and terminates with the error window…

We now proceed to restore the text of comparison with the value of “Hello world!” and add commands to close Notepad without saving… Below commands in sequence…

Alt+F4 – to perform the closing command

Right – to move the focus to the right of a button (don’t save)

Enter – to confirm exit without saving

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

We save our recording…

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Tip: At the start we do not know the status of your desktop and if there are other Windows Notepad from previous tests. To perform a “clean” initial desktop it would be appropriate to close any notepad left pending. To do this we are going to enter as a first step a closure command of all the Notepad on your desktop.

To obtain the closing of all the notepad of desktop we will perform the operating system command Taskkill /f /IM notepad.exe directly in the first step of our track

Select the first step

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
 We use the button insert before and on the cell OSCommand write command to erase all notepad running Taskkill /f /IM/notepad.exe

Let us open a notepad to verification of the execution of the command… and execute it from the beginning track…

Another expedient of cleaning the desktop is lead to icon all applications present. This can be obtained with the command Windows+M

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

We do from the beginning …

Any other windows on the desktop you will minimise before running…

For last go to execute notepad.exe without passing for run windows but simply using one step and performing notepad directly from OSCommand…

We must take care to erase the cells KeybordEvent that contains the command Windows+R KeyboardInput and that contains the type of the command notepad.exe…

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

And erasing step  with Enter….

Select the step that we want to delete

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

The result must be equal to the following image

Run from the beginning

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

We save our first recording.

First Recording with image comparison

With LBL GUIRT tests can be run visual comparison on portions of the desktop.

Now we will replace the textual comparison with the visual comparison. To obtain this result we will go to manually run the start of Notepad and then to take a portion of the desktop to verify that you are typing “Hello World!”

Manually open notepad and write therein “Hello world!”

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

In order to delimit a portion of your desktop go to point the angles upper left and lower right by creating two  temporary step that will enable us to take a snapshot of the rectangle.

We activate the recording

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Aim the mouse at a point in the top left of the window notepad (without causing the opening of the Window menu)

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Select the window again LBL GUIRT 

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

And so we aim the mouse in the lower edge right that delimits our image to compare …

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

The result will be two step with the indication of the points in the X coordinates y of our rectangle

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

We stop the mouse position capture to avoid insert  unwanted step

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Select the two step with the mouse

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
We execute the snapshot of the portion of the desktop delimited by angles that we have described

The result will be a single step with the comparison cell selected image, the cell CF set to 15% and the wait after a 1000 milliseconds (1 second)

If we press the button with the symbol of the film of the row of comparison a window will appear with the snapshot stored.

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

You can also check if the snapshot is recognized through the run key single step of step itself.

If the result is the corresponding window will appear with normal end

Move now the step of comparing the images below to step of textual comparison with the button move row up

Until the desired position below the textual comparison

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global
It deletes the textual comparison…

…And execute a save by changing the name of the track with the button “Save as” with TestImageCompare name.xml

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

The name of the new file is displayed in the top bar of the window

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

We do from the beginning of the track

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Start

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

Also the track with visual comparison is finished correctly.

Some considerations about the comparisons

We deliberately glossed over in recordings of the previous trace on deepening the meanings of the parameters CF, Retry Wait Before and Wait After. These parameters allow us to perform tests on the expected result and at the same time to evaluate the speed of response.

Where there is a comparison, typically expects a window appears with the values or corresponding images, the system is able to verify at regular time intervals described in the cells Wait After and for a maximum number of attempts described in cell Retry the successful comparison. In practice if the result of the comparison fails, the system will once again attempt to n times until reaching the comparison or to the achievement of the maximum number of attempts before reporting an error with the contemporary stop tracking.

This allows to calculate the actual time of response of applications with a granularity equal to the waiting time between a control and the other of the comparison.

The cell CF (Appear Factor) is used to perform tests of equality or similarity. Expresses the percentage of deviation for declaring an image similar to another. If CF is 0 (zero) images must be perfectly identical. If is > 0 (typically from 10% to 15%) images can depart from equality. This is important because it allows a slight changes in the color or image very present in the new interfaces.

Comparisons, conditional jumps and use of  confidential label

The trace may contain textual comparisons or for image that, in case they do not give a positive result, can contain the flow controls with conditional jumps to other steps. It is in fact possible, assign to one step a symbolic name that can be used both during the comparisons both during the normal flow obtaining an execution of the steps is not sequential.

In this case we wanted to change the text of comparison from “Hello World!” to “Hello World” without the exclamation point. 

We have added the label ENDERR, @STOP_RUN AND ENDTRACE in column StepLabel.

The label @STOP_run is a reserved keyword that terminates execution of the track, while the other two label, ENDERR ENDTRACE and are references to step usable in the columns of flow control.

The execution of this track does not find correspondence with the text, will carry out a jump conditional in step with label ENDERR which then ends in step with the label @STOP_RUN and not continue beyond.

If instead we modify again the comparison in “Hello World!”, execution will continue after the comparison and once arrived in step 8 will perform a jump to step ENDTRACE skipping the other steps.

Label confidential:

@STOP_RUN

Terminates execution of the track without error

@STOP_ERR

Terminates execution of the track with error

Replacement list

With LBL GUIRT it is possible to perform the trace that reported in the step of variable values on the basis of a predetermined list. Through a file in csv format separated by semicolons (;) it is in fact possible to prepare lists of values on more rows whose reference to be used in the trace is placed in the first row.

For example if we take into consideration the following path we can notice that the first row contains the identifiers, the following rows contain the corresponding values for the column:

COD;DESCRIPTION;PRICE;

0012;White Toothpaste;2.30;

0015;Toothbrush;3.5;

0072;Electric toothbrush;18,10;

In order to be able to use in the traces the values during the execution is sufficient to indicate the fields “Keyboard Input” the identifier of the first row of the value that you want to use including by symbols %. Example %DESCRIPTION%.


If the trace is performed without other actions the result would be a typing literal automatic that in notepad would be exactly equal to what is typed in the fields Keyboard Input: %DESCRIPTION %

If instead we associate to trace a file with the list above will result in a first execution with the value “White Toothpaste”, a second execution with value “Toothbrush” and a third execution with value “Electric toothbrush”.

To associate the execution to a list of replacement click on “Open CSV file replacement list” and select the file containing the list of replacement.


The execution of the trace will be carried out for as many times as there are rows contained within the file, in this case 3, taking as a reference the first row.

Initial cleaning of the desktop

We mentioned that perform traces of test environment with a default initial and known. It is important that each track is sure to begin in a state that allows the execution as if it were the first time.

Brief Description cells step

Cell

Description

N#

Is the number of the original line of the row, is not editable

Step label

If it exists it is possible to use the identifier in jumps gondizionali GoOK and GoKO

X

If different from -1 indicates the position x of the mouse. With -1 step  does not provide for the movement of the mouse

Y

If different from -1 indicates the Y position of the mouse. With -1 step  does not provide for the movement of the mouse

MouseEvent

Indicates the action of the mouse. The possible actions are:

– Click

– Doubleclick

– Clickcenter

– Doubleclickcenter

– Clickright

– Doubleclickright

KeyboardEvent

The value of a keyboard event. For keyboard event are activities curtailed or special keys. Examples might be pressing the Windows, Delete, Tab, Escape or actions with multiple keys: Control+C, Windows+M. The value + identifies the simultaneous pressure of keyword confidential. The list of possible keyword is available directly from the interface on the tab keys

Mouse, Puntatore, Freccia, Ps, Calcolatore, Www, Global

FindTextValue

If the value is checked the player searches for the text value of the selection if it is equal to the present value on KeyboardInput. In case there is no corresponding the reoccurring for the number described in cell Retry with a waiting time between an attempt and the other described to wait after.

CompareTextValue

If the value is checked the player checks if the text value corresponding to the context is equal to the value present on KeyboardInput. In case there is no corresponding the reoccurring for the number described in cell Retry with a waiting time between an attempt and the other described to wait after.

KeyboardInput

Is the text value that is entered in the corresponding context of step. If the cell CompareTextValue is checked is instead the value of textual comparison

OSCommand

Is any commando system such as for example the starting Notepad, firefox, chrome or any batch procedure present

Description

Description Free. This description is very important that you fill the ticket out during registration to understand, at a distance of time, the meaning of step

Wait before

Is the waiting time before it is carried out any action of the  specific step

Wait after

Is the waiting time after all actions of step and before proceeding to the  next step. In the case of textual comparisons or images also represents the waiting time between one attempt and the other in case the comparison fails.

Retray

Number of retries to perform if the comparison, textual or imagine, returns with error

GoOK

If valued, the  next step will no longer be the step immediately consequent but will be the step with the label as indicated. If the step that contains the GoOK is a comparison, textual or image, if the result of the comparison is positive is taken into consideration the value of this field otherwise if the result of the comparison is negative, is taken in considerzione the value contained in GoKO

GoKO

In the event of a step of comparison and if valued, this value indicates the step on which to pursue the track in the case of comparison with negative outcome. If not valued and the outcome of the comparison is negative the track terminates execution with error 

FindImage

If the value is checked the player desktop search by coordinate x0 y 0 the value of the image corresponding to the context if it is equal to the value present on the snapshot stored in step and visible through the key View image. In case there is no corresponding the reoccurring for the number described in cell Retry with a waiting time between an attempt and the other described to wait after.

CompareImage

If the value is checked the player checks if the value of the image corresponding to the context is equal to the value present on the snapshot stored in step and visible through the key View image. In case there is no corresponding the reoccurring for the number described in cell Retry with a waiting time between an attempt and the other described to wait after.

CF

Percentage similarity to the comparison of the image. This parameter is very important in order to determine if a page wait is classified as corresponding. It is a percentage as pages can present small chromatic differences that do not determine the absolute mismatch. A value tar 10% and 15% usually corresponds to similarity. If set to 0 % (zero) the player checks the complete correspondence pixel to pixel without any tolerance.

View image

Is the button that in the case of comparison of image portions of the Desktop allows to display a popup window the image to compare

Run step

Button that allows you to perform the single step corresponding