Glossary
AUT
This is the Application Under Test, that is, the application that is to be tested by Squish
Image Group
An Image Group in Squish is a collection of images that are considered "equivalent" when considered for image searches/verifications. Perhaps the images in the group are of different resolutions or color schemes, but each of the images represents the same concept. Under the covers, an Image Group is simply a folder/directory in searchImages
at the previous location of its first image.
Adding or removing an image from an Image Group can be achieved with any file manager, or a drag-and-drop operation from the IDE in Test Suite Resources - Search Images.
Object Map
A mapping of Symbolic Names to Real Names. If it is Text-Based, objects.map
is used. If it is Script-Based, then we can find it in a file called names.py
, names.js
, names.pl
, names.rb
or names.tcl
under the shared/scripts
directory in a test suite.
A Test Case can use a mixture of text-based and script-based object names, as long as both are defined in the test suite.
See Object Map for more details.
OCR
Optical Character Recognition - In Squish's case, using an external program to analyze pixel image data and recognize text in it.
Real Name, or realname
A mapping of name-value pairs, where the name is a property and the value can be a simple value, or if it is a string, can be a regex or a wildcard. realnames are used for lookup of objects in functions like waitForObject(). They describe a query, or set of constraints used for object search.
There are Script-Based realnames, and Text-Based realnames. Script-Based are native (to the script language) dictionaries. Text-Based realnames are encoded as a string, which is not script-language dependent.
SquishRunner
The process that reads and writes test scripts, and writes test results. It communicates with the SquishServer and the AUT using TCP/IP.
SquishServer
The process that starts and stops the AUT or browser, and establishes a communication hook for SquishRunner to use. Also used for attaching to running AUT, possibly on a remote machine, and started with start*aut.
SQUISHDIR
This is the directory where Squish is installed on your system. By default, the install location on Windows is under %USERPROFILE%
. On MacOS, it is under Applications.
Squish User Settings Directory
This is the directory where Squish reads and writes its user settings. By default, it is %APPDATA%\froglogic\Squish
on Windows and ~/.squish
on other systems. It can be changed by setting the SQUISH_USER_SETTINGS_DIR environment variable.
Symbolic Name
When using a Text-Based Object Map, a symbolic name is a string, beginning with :. For example, ":Forename:_LineEdit".
When using the Script-Based Object Map, a symbolic name is a variable name, defined in the shared/scripts/names.xy
file. The value of that variable is a native dictionary, which contains the realname of that object.
When using the Text-Based Object Map, the symbolic name and its corresponding value can be found on a tab separated line, in a file called objects.map
.
Synchronization
Using a waitFor* function to tell Squish to wait until a certain object or item is ready. Or using a snooze() function. Generally, these are things that slow down the execution of Squish's test runner, to allow the AUT to catch up to it.
Synthetic Properties
Properties which were not in the API of an object's class, but were added by Squish to a widget, for convenience, or to help disambiguate during object lookup. See Synthetic Properties for more details.
Widget
As far as Squish is concerned, this is a generic term which usually means any GUI component from any toolkit, not necessarily something derived from QWidget
.
Wrapped Class
A Wrapped Class is one that can be used from a Squish test case because there is a Wrapper class for it, packaged in a Wrapper Library, for the chosen script language.
Wrapper
Usually, the word Wrapper refers to a specific supported toolkit.
In suite.conf
there is a WRAPPERS=
line. This corresponds to the radio button in the New Test Suite wizard that selects which Wrapper/Edition to use (Qt, Mac, Windows, Java, Android, iOS, VNC, etc).
Squish supports different toolkits through the use of Wrapper Libraries, which are usually named after the toolkit, and support the same API as the underlying toolkit library.
The exception is Squish for VNC which does not use Wrapper Libraries at all because the AUT is the entire device's display.
© 2024 The Qt Company Ltd.
Documentation contributions included herein are the copyrights of
their respective owners.
The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation.
Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property
of their respective owners.