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.

More information

on Squish GUI Tester editions

Creating test cases with Squish

In five steps

1.

Selecting the script language to use in the test case: Python, JavaScript, Ruby, Perl, or TCL.

2.

Selecting the application to be tested (AUT: Application Under Test).

3.

Starting the application to be tested and coupling it with Squish.

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.

Insert the test case verification. For example:
  • 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.

Remote execution of Squish

In remote execution mode, the Squish Runner process runs on the machine that centralizes the test scripts, while the Squish Server process runs on the machine where the Application Under Test is running.

Subscribe to our newsletter