Squish Manual

Squish is a professional automated GUI testing framework for testing Android, iOS, Java, Qt, Tk, Windows, and XView applications, as well as HTML-based web applications running in browsers, such as Apple Safari, Firefox and other Mozilla-based browsers, Google Chrome, and Microsoft Internet Explorer and Edge.

Release Notes—for UpgradersNew features and other changes in each Squish version
InstallationInstalling Squish on the supported platforms from binary or source packages, and special requirements for testing Android, iOS, OCR, Qt, or web applications
TutorialsGUI-toolkit-specific tutorials that cover the main Squish features and usage
How to Create Test ScriptsDetailed descriptions and examples of how to create test scripts
How to Test Applications - SpecificsDetailed descriptions and examples of anything specific to testing Android, iOS, Java, Qt, Tk, Web, or Windows applications
API ReferenceScript APIs used by Squish test scripts
Tools ReferenceSquish tools functions
IDE ReferenceSquish IDE windows, views, dialogs, and keyboard shortcuts
Add-Ons ReferenceAdd-Ons functions
Frequently Asked QuestionsSolutions to typical issues
GlossaryExplanations of main concepts and terms
IndexList of Squish functions and other useful terms
Third-Party SoftwareAcknowledgments for third-party software

For more Squish-related hints, tips, tricks, and examples, see Knowledge Base.

Look and Feel Differences

Squish runs on Linux, macOS, various Unices, and Windows. Each of these platforms has its own unique look and feel—right down to the ordering of buttons in dialogs or sheets, and in the case of macOS the arrangement of menus and menu items. Furthermore, the appearance of applications can vary depending on the theme being used.

Therefore, the Squish IDE screenshots shown in this manual may look different from the Squish IDE that you see running on your own computers. This does not affect Squish's functionality, but sometimes when you look for a particular toolbar, dialog, or sheet button, it may not be in exactly the same place in your Squish IDE as shown in a screenshot.

Look and feel differences don't stop Squish from being able to do cross-platform testing. This is because Squish identifies GUI objects by their properties rather than by, say, their coordinates. This means that a Squish test suite that tests an application running on one platform can be used unchanged to test the same application running on another platform, even if say, the order of dialog buttons is different on the two platforms.