When an application opens a window, Agilitest can not determine if the capture should take place on this window or if it should stay on the current window. It depends on how the designers of the application wanted to do it, if the window is modal, non-modal, aso.
So we have added a whole set of functions that allow to handle correctly all types of situations involving multiple windows, or browser tabs, which we will also consider as windows.
The current window
When there is only one window in the application, all the actions that are carried out are sent to this window. When an application has several windows, you have to define a current window. This is very similar to what we did with the current channel : all the actions that are performed are on the current window.
The concerned Windows are real OS windows : you might have a very complex Web application that manages several windows in a browser without having to change windows.
Change current window
This function makes it possible to change the current window by indicating the number of the window concerned. Generally, the number 0 corresponds to the main window of the application, and the following numbers are in order of appearance of the windows (or tabs in a browser).
Size and location
This action allows you to move the window by specifying its new Cartesian coordinates, or to change its size: height and width.
All you have to do is activate the parameters that you wish to modify by clicking on the yellow stars, and then enter the desired values.
This action will act on the current window.
State of the window
This action will allow you to send an operating system event on the current window. It works the same way as if you had clicked on one of the icons in your application, (top right for Windows).
Possible actions are:
- Close : close the current window
- Maximize : enlarge the current window to the maximum
- Reduce : reduces the window
All of these actions will allow you to act precisely on the configuration of windows in your application.
In some cases, this can cause problems:
The forced positioning
If you set the windows of your application always in the same position, you may not see any bugs depending , in which case we recommend letting the applications use the screen space as they please, and possibly run the tests on screens with different sizes.
Obviously in some cases, it is useful to force a specific configuration, if you use graphic recognition for example, since unlike an approach related to the structure of the application (DOM, Desktop), graphic recognition will act on the elements that are actually visible on the screen.
Direct intervention on the application
Closing the current window will get rid of a bulky popup.
But we do not recommend closing the main application window (unless you want to control an alert popup).
To do it properly in Agilitest, use the channel close action.