Graphical User Interface Testing: Squish GUI Tester
Nine reasons to choose Squish GUI Tester
1.
It allows you to automatically create a test script by recording events.2.
It allows the verification of properties of any interface object, image comparison, visual verification (verification of properties and images), and validation of values of tables.3.
It allows the regression test automation, through batch execution using Continuous Integration tools (Jenkins, Hudson).4.
Supports multiple operating systems: Windows, Mac, Linux, Solaris.5.
Supports multiple GUI technologies: Qt, Java, Web, native iOS, native Android, native Windows, native Mac.6.
It allows the remote testing of applications running on multiple platforms or on embedded devices..7.
Enables testing of hybrid applications (example: Qt application with native Windows controls).8.
Enables the use of Behavior Driven Development (BDD) methodology, creating BDD test cases in Gherkin language.9.
Allows the use of different scripting languages (Python, JavaScript, Ruby, Perl, and TCL).
Squish GUI Tester Editions
Squish for Qt
Allows testing applications written with Qt Widgets, QML, Qt Quick, Qt Webkit, and Qt WebEngine.
The license allows testing these applications when running on desktop (Windows, MacOS, Linux, Solaris) and on mobile (iOS, Android).
Squish for Web
Allows testing applications written for web browsers with HTML5, Flex, Java Applets, Ajax, etc.
The license allows testing these applications when running on desktop (Windows, MacOS, Linux, Solaris) and on mobile (iOS, Android).
Squish for Mobile
Allows testing native applications for Android and iOS, including support for Webkit content.
The license allows testing these applications when running on mobile devices and emulators.
Squish for Java
Allows testing applications written with AWT, SWT, RCP, Swing, and Java FX, including Webkit support.
Squish for Windows
Allows testing applications written with MFC, Win Forms, and WPF, including support for automation via MSAA and UIAutomation.
Squish for Mac
Allows testing native applications for MacOS, including Webkit content support.
Squish for Tcl/Tk
Allows testing Tcl/Tk applications on Windows, Linux, Solaris, and MacOS.
Creating test cases with Squish
In five steps
1.
2.
3.
4.
Recording test case events. For example:
- Open an address file
- Navigate to the second address and add a new name and address
- Navigate to the fourth address and change the "Last Name" field
- Navigate to the first address and delete it
5.
- Verify that the first address is now the new one we have added
In this case, the verification is of the Object Property type. Squish displays the application objects.
We select the appropriate item, its property, and the expected value (Doe).
As a result of this process, a script is generated in the chosen language that can be executed. This is the test case executable.
When executed, Squish will activate the entered event sequence and perform the test case verification, obtaining the result (success or failure).
The test case can be executed from Squish IDE or from Squish Command Line. It can also be executed using Jenkins or Hudson.
Local or remote execution of Test Cases
Local execution through Squish IDE
The application under test (AUT) and Squish are two independent processes.
Squish consists of two processes:
- Squish Runner: Interprets the test script and asks Squish Server to execute the script's actions.
- Squish Server: Starts the AUT and injects a small library (hook) that interacts with the AUT.

