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.
After the installation of the portable-app (see Installation Manual), to perform the start of recoder you must perform the following tasks:
From the File Manager go to the directory C:\TCOProject\bin\LBL\LBLLoadBalancer
- Run command lblguirecorder.bat
After the splash screen will open the window of the recorder and you can start the recording activity
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
Actual screen resolution
Recorded loaded file Screen Resolution
Current mouse Y position
Current mouse X position
Keyboard keys help tab
Copy selected step
Take snap desktop portion
Insert before selected step
Insertafter selected step
Remove selected step
Run from selected step
Move up selected step
Move down selected step
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
Free text step description
Displays text keyboard inpput value
Run only this step
% Of discrepancy to snap image
Num retry compares if not matches
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
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:
- Start the browser
- URL request
- Waiting for the request to login
- Typing login
- Typing a password
- Confirmation of operation
- Hold the menu of the application functionality
- Choice of features (A)
- Testing for Functionality (A.1)
- Testing for Functionality (A.2)
- 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.
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.
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.
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”.
Then to test this step is already possible to perform the start through “Run step”
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”.
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
In the new step inserted write in cell KeyboardEvent Windows+R and in KeyboardInput notepad.exe
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…
Riposizioniamo selection on the first step and execute the run of the entire track from the beginning …
Run the entire track from the selected step, in this case the first step…
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)
Deletes the selection of step …
We run the track that will start from the first step since there is no step selected….
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…
At this point it is better to save the current state in order not to run the risk of losing our registration.
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.
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 …
Deletes the selection of step and execute the run of the track from the beginning …
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….
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
We save our recording…
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
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
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…
And erasing step with Enter….
Select the step that we want to delete
The result must be equal to the following image
Run from the beginning
We save our first recording.
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!”
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
Aim the mouse at a point in the top left of the window notepad (without causing the opening of the Window menu)
Select the window again LBL GUIRT
And so we aim the mouse in the lower edge right that delimits our image to compare …
The result will be two step with the indication of the points in the X coordinates y of our rectangle
We stop the mouse position capture to avoid insert unwanted step
Select the two step with the mouse
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.
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
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
The name of the new file is displayed in the top bar of the window
We do from the beginning of the track
Also the track with visual comparison is finished correctly.
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.
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.
Terminates execution of the track without error
Terminates execution of the track with error
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:
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.
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.
Is the number of the original line of the row, is not editable
If it exists it is possible to use the identifier in jumps gondizionali GoOK and GoKO
If different from -1 indicates the position x of the mouse. With -1 step does not provide for the movement of the mouse
If different from -1 indicates the Y position of the mouse. With -1 step does not provide for the movement of the mouse
Indicates the action of the mouse. The possible actions are:
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
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.
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.
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
Is any commando system such as for example the starting Notepad, firefox, chrome or any batch procedure present
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
Is the waiting time before it is carried out any action of the specific step
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.
Number of retries to perform if the comparison, textual or imagine, returns with error
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
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
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.
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.
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.
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
Button that allows you to perform the single step corresponding