Graphical User Interface Testing: Squish GUI Tester

Nine reasons to choose Squish GUI Tester

1.

Allows you to create a test script automatically by event recording.

2.

Allows the checking properties of any interface objectcomparison of images, visual check (property and image verification), and validation of values of tables.

3.

Allows the automation of regression testsby means of batch execution using Continuous Integration tools (JenkinsHudson).

4.

Supports multiple operating systems: Windows, Mac, Linux, Solaris.

5.

Support multiple GUI technologiesQt, Java, Web, native iOS, native Android, native Windows, native Mac.

6.

Allows the remote testing of applications that run on multiple platforms or on multiple embedded devices.

7.

Allows testing of hybrid applications (example: Qt application with native Windows controls).

8.

It allows the use of the Behavior Driven Development (BDD) methodology, creating BDD test cases in Gherkin language.

9.

It allows the use of different scripting languages (Python, JavaScript, Ruby, Perl and TCL).

Squish GUI Tester Editions

Squish for Qt

It allows testing applications written with Qt Widgets, QML, Qt Quick, Qt Webkit and Qt WebEngine.

The license allows you to test these applications when running on desktop (Windows, MacOS, Linux, Solaris) and mobile (iOS, Android).

Squish for Web

It allows testing applications written for web browsers with HTML5, Flex, Java Applets, Ajax, etc.

The license allows you to test these applications when running on desktop (Windows, MacOS, Linux, Solaris) and mobile (iOS, Android).

Squish for Mobile

Allows testing of native Android and iOS applications, including support for Webkit content.

The license allows you to test these applications when running on mobile devices and emulators.

Squish for Java

Allows testing of applications written with AWT, SWT, RCP, Swing and Java Fx, including support for Webkit.

Squish for Windows

It allows testing applications written with MFC, Win Forms and WPF, including support for automation via MSAA and UIAutomation.

Squish for Mac

Allows testing of native MacOS applications, including support for Webkit content.

Squish for Tcl/Tk

Allows testing of Tcl/tk applications on Windows, Linux, Solaris and MacOS.

More information

about Squish GUI Tester editions

Creating test cases with Squish

In five steps

1.

Selection of the scripting language to be used in the test case: Python, JavaScript, Ruby, Perl or TCL.

2.

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

3.

Start the application to be tested and pair 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 address we have added

In this case, the verification is of type Object Property. Squish displays the objects of the application.

We select the appropriate item, its property and expected value (Doe).

As a result of this process, a script in the chosen language is generated and can be executed. This is the executable of the test case.

When executed, Squish will trigger the sequence of events entered and perform the test case verification, obtaining the result (success or failure).

The test case can be run from Squish IDE or Squish Command Line. It can also be run via Jenkins or Hudson.

Local or remote execution of Test Cases

Local execution through Squish IDE

The application to be tested (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 actions of the script.
  • Squish Server: Starts the AUT and injects a small library (hook) that interacts with the AUT.

Squish remote execution

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