Squish by Froglogic
Froglogic Squish® is a professional automated GUI testing framework. Squish makes it possible to test GUI applications based on toolkits such as Nokia's Qt Development Frameworks®, and the Tk, Java™, and XView™ toolkits from Sun™.
Qt (/ˈkjuːt/ "cute", or unofficially as Q-T cue-tee) is a cross-platform application framework that is widely used for developing application software with a graphical user interface (GUI) (in which cases Qt is classified as a widget toolkit), and also used for developing non-GUI programs such as command-line tools and consoles for servers.
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger.
To perform testing, two things are required: an application to test—known as the Application Under Test (AUT), and a test script that exercises the AUT.
There are two sets of bindings that are of interest when developing tests using Squish. GUI toolkit bindings — Squish provides bindings for Qt, Java AWT/Swing, Java SWT, Web, etc. AUT-specific bindings — it is possible to create bindings that provide access to the AUT's own API for those cases where the toolkit's bindings don't provide sufficient functionality for proper testing.
The Squish documentation mostly uses the term widget when referring to GUI objects (i.e., buttons, menus, menu items, labels, table controls, etc). Windows users might be more familiar with the terms control and container, but here we use the term widget for both. Similarly, Mac OS X users may be used to the term view; again, we use the term widget for this concept.
A test suite is a collection of one or more test cases (tests). Using a test suite is convenient since it makes it easy to share tests scripts and test data between tests.
To create a new test suite from the command line, three steps are necessary: and third, register the AUT with squishserver.
1) Create a new directory to hold the test suite—the directory's name should begin with suite.
2) Create a plain text file (ASCII or UTF-8 encoding) called suite.conf in the suite subdirectory. For example:
AUT = addressbook.class
LANGUAGE = Python
WRAPPERS = Qt
3) Register the AUT with the squishserver. For example:
squishserver --config addAUT addressbook squish/examples/qt4/addressbook
Squish reserves the following function names: main, cleanup and init. In Mac computer, it saves license id in
For Squish to operate correctly on Mac OS X when testing Java AWT/Swing AUTs the environment variable SQUISH_USE_AWT must be set to 1. This can be done as follows:
To run a test case, first make sure Squish server is running:
Then change to the test suite directory and run the Squish runner.
$SQUISHDIR/squishrunner --testsuite suite_peers --testcase tst_case1
For web application, the setting is
WRAPPERS = Web
squishrunner --testsuite suite_js --record tst_general --useWaitFor
It is always best to record using the
--useWaitFor option since this records calls to the
waitForObject function which is more reliable than using the
snooze function which for historical reasons is the default. (Note that the Squish IDE automatically uses the
Updated: 2012-10-25 22:21:36
Insights of the past for the present
ON THE BOOK SHELF
May your insights be worthy.