Features and Benefits
Smart Test Recording and Replay
-
Automatic recording of test scripts
-
Recognition of high-level interactions and objects (e.g. clicking a menu item) instead of low-level events
-
Scripts independent of screen coordinates and resolutions
-
Snippet recording to extend existing scripts
-
Generate script code in Python, JavaScript, Perl, Ruby or Tcl
Automated Verification Points and Squish Spy
-
Insertion of verification points at any point in the test script
-
Insertion while recording or when post-editing scripts
-
Easy creation of verifications using Squish’s Spy and Object Inspector tools
-
Verifications of all properties (all data types)
-
Verifications of screenshots (of individual controls or the
whole screen) including configurable fuzzy comparisons
-
Verifications of complex data controls (such as grids) with powerful
visualization of differences
-
Verifications of external files, SQL databases and more
Easy Test Authoring
-
Powerful integrated test development environment based on Eclipse technology
-
Also available as Eclipse plugin
-
Integrates recording, test execution and results, script debugging, spying, advanced editing and maintenance of test scripts
-
Additional plugins available for SCM, collaboration, etc.
Test Logging and Batch Execution
-
Standard log format is XML
-
Logs also available in HTML, XLS, ASCII and more
-
Integrated log viewer in the Squish IDE
-
Unattended test execution and logging using cross-platform command line tools
-
Automated capturing of screenshots on test failures and errors
Advanced GUI control support and custom controls
-
Dedicated support for all standard and advanced GUI controls of all supported GUI toolkits for robust recognition
-
Items in menus, trees, tables, etc. are recognized as GUI objects too
-
Built-in support for custom controls
-
Extension plugin mechanism to allow implementing dedicated support for advanced custom controls
-
Powerful object naming scheme which allows to use wildcards and regular expressions for object naming
-
Customizable name generation mechanism allows the user to influence name generation for different object types
-
More information about all the GUI technologies supported by Squish can be found on the Editions page.
Cross-Toolkit Support
-
By mixing Squish editions, it is possible to automate hybrid applications utilizing more than one GUI technology
-
This includes desktop GUIs which embed web content, web applications which starts a Java Web Start client, desktop applications which utilize several GUI toolkits, etc.
Script Support and Accessing Application internals
-
Choice of using a popular script language instead of having to learn a proprietary vendor language
-
Squish fully supports
-
Python
-
JavaScript
-
Ruby
-
Perl
-
Tcl
-
Squish specific script APIs for a lot of convenience
-
Full script access to the APIs of all objects (GUI and non-GUI) in the application under test empowers testers to automate and validate even the most complex test scenarios
-
Creation of script modules and libraries to use across test cases and suites
GUI Object Map
-
Unique object identification works based on a set of stable properties for given object types
-
No screen positions or other brittle ways are used for identifying objects
-
Name generation happens on-the-fly and object maps don't need to be "learned"
-
No modifications to the application under test are necessary for GUI object identification
-
Object maps are automatically created and used to have a central point for the object name lookup and maintenance
-
Possibility to use wildcards and regular expressions in object names
Distributed and Multi-Application Testing
-
Squish test runner communicates with the application under test via a network TCP/IP connection
-
Allows to drive applications on different machines and platforms from one central place, even on embedded devices
-
Since the test script and the application run in different process spaces, a crash of the application does not bring down the whole testing framework
-
This architecture also allows to automate several applications (possibly on different hosts) from a single test script
Test Data and Data-Driven Testing
-
Support for all kinds of test data files
-
Dedicated scripting API for data-driven testing
-
Support for different kinds of tabular file formats (CSV, TSV, etc.)
-
Scripting support for SQL database access
Flexibility and Extensibility
-
All modules of the testing framework have open interfaces (plugin APIs, command line tools, plain text files, XML)
-
Gives full control over test execution and test results
-
Makes it easy to integrate Squish into any 3rd party syste,
-
Several ready-made integration plugins are available (HP QualityCenter, Hudson, Cruise Control, etc.)
Ships with Source Code
-
Squish ships with full Source Code