Pref­er­ences

Select Edit > Preferences to open the Preferences dialog.

"The Preferences dialog"

Most of the Preferences dialog's panes are inherited from Eclipse and most of them are rarely used. The following sections describe the most important options of the most important panes.

In all panes, you can click the Restore Defaults button to restore the panes's settings to their default values or the Apply button to apply any changes you have made. If you make a mistake and don't want to restore the default values because you want to use the previous non-default settings, click the Cancel button. However, this will not revert your changes if you already clicked the Apply button. To accept your changes, click the OK button.

Dynamic Languages pane

In the Dynamic Languages pane, specify various DLTK (Dynamic Language ToolKit) settings.

"The Preferences dialog Dynamic Languages pane"

Probably the only interesting setting is Report problems as you type. Select it to highlight syntax errors as you edit and mark the lines that contain them in the line numbers margin.

The child panes of the Dynamic Languages are rarely needed and are therefore not documented here. The settings on the Debug pane do not affect debugging test scripts.

General pane

In the General pane, specify Eclipse settings.

"The Preferences dialog General pane"

Probably the most interesting setting is Open mode. Squish defaults to the Double click mode, which means that you have to double-click test cases to get their code to appear in a code editor, and so on. Setting the mode to Single click can save a lot of needless mouse clicks.

The following sections describe the child panes of the General pane that contain useful settings.

Appearance pane

The Appearance pane has a Colors and Fonts child pane in which it is possible to customize the colors and fonts used by the Squish IDE and in particular by the Editor views. To change the fonts, expand the Colors and Fonts pane's tree view's Basic item; the last two items concern text fonts: click one of these and then click the Edit button to set the font. Usually it is best to set both fonts to be the same. The same tree view can be used to set various colors—simply click the color of interest and then click the Edit button to choose a new color. There are other top-level items in the tree such as Debug, Dynamic Languages, and so on, so you can customize fonts and colors in very fine detail if you wish. The Appearance pane also has a Label Decorations child pane, but this is not currently used by the Squish IDE.

Content Types pane

The Content Types pane can be used to set up file type associations. For example, Squish's non-scriptified verification points (such as screenshot verifications) are recorded in an XML-format file. If you wanted to use a custom file extention for such files you could add a file association in this pane. To do this, navigate in the Content types tree to the Text item then inside that tem to the XML item and then inside that item to the Verification Point item. (It is also possible to specify a default encoding but we recommend always using UTF-8 which is the default.)

Editors pane

The Editors pane and its child panes can be used to set up some general and some language-specific editing preferences. The Editors pane itself can be used to set the number of recently opened files that are available from the File menu, and to restore (or not) editor state when the Squish IDE is started up. The File Associations child pane can be used to associate file types with particular editors. For example, to make the Squish IDE open .pyw files using its Python editor, click the File types Add button (the top-most Add button) and enter a file type of *.pyw. Then click the new *.pyw File types entry if it isn't already selected and click the Associated editors Add button and choose the Python Source Editor.

The Editors pane's Text Editors child pane itself has a number of options, plus its own child panes. Use the Text Editors pane to customize general editing features such as the undo history size, the displayed tab width, whether to show line numbers, and so on. It is also possible to customize a limited range of colors here too. The child panes provide means of customizing the cursor (in the Accessibility pane) and the code annotations (in the Annotations pane). There are also some other rarely used child panes.

The Editors pane has one other direct child pane, Keys. This can be used to change the Squish IDE's keyboard shortcuts. Of course, if the shortcuts are changed this will invalidate some or all of those shown in this manual's Keyboard Shortcuts section.

Perspectives pane

The Perspectives pane is used to control some of the high level behavior of perspectives, such as whether a newly opened perspective replaces the current perspective (the default) or appears in a new window.

The Search pane is used to control some general features that apply to the Search view.

The Workspace pane and its child panes control some aspects of the Squish IDE's behavior such as the automatic save interval and the default text encoding. Squish always and only uses the UTF-8 encoding so this setting should never be changed. Of the Workspace pane's child panes, the Build Order pane isn't used by Squish, and the Linked Resources pane's Enable linked resources checkbox must be checked—or the Squish IDE simply won't work properly. The Local History pane can be used to control a certain amount of undo history—even between sessions.

JavaScript pane

The JavaScript pane and its child panes are used to set various JavaScript-specific options.

The main pane is empty and neither the Console nor the Debug panes (or the Debug pane's child panes) are used by Squish. The other panes are used however. The Editor pane is used to control how the caret is positioned during navigation and whether to use spaces or tabs and the what and how much indentation to use. This pane also has some child panes. These are used to control such things as folding and syntax highlighting, code templates, and whether the editor closes strings and opening brackets of various kinds. The Error/Warnings child pane is used to control how strict the editor is about JavaScript syntax. The Formatter child pane is used to control how JavaScript is formatted by the editor. The Interpreters pane is used to specify which JavaScript interpreter to use. Squish uses its own built-in JavaScript interpreter but this option could be used to influence how the JavaScript editor does its syntax highlighting and error reporting. The Task Tags child pane is used to manage a list of special words that the Squish IDE must recognize and highlight inside JavaScript comments—for example, FIXME or TODO.

Perl EPIC pane

The Perl EPIC pane and its child panes are used to set various Perl-specific options.

The Perl executable setting is from Eclipse—it has no effect on test script execution. The Perl EPIC pane has a number of child panes including an Editor pane that itself has child panes (which are not documented here). The Editor pane can be used to set what and how much to indent, syntax highlighting colors, and whether the editor closes open quotes and various kinds of brackets. Those who use the Squish IDE to create Perl modules or who are deeply into Perl programming may wish to enable the Squish IDE's Module::Starter and Perl::Critic functionality—but these features are too specialized to be documented here. The Source Formatter pane is used to control how the editor formats Perl source code. The Task Tags child pane is used to manage a list of special words that the Squish IDE must recognize and highlight inside Perl comments—for example, FIXME or TODO.

Python pane

The Python pane and its child panes are used to set various Python-specific options.

The Python pane has no options of its own but it does have various child panes. The Debug child pane is not used by the Squish IDE. The Editor pane is used to control how the caret is positioned during navigation and whether to use spaces or tabs and the what and how much indentation to use. This pane also has some child panes. These are used to control such things as folding and syntax highlighting, code templates, and whether the editor closes strings and opening brackets of various kinds. The Interpreters pane is not used by the Squish IDE—Squish uses the Python interpreter it is shipped with. The Task Tags child pane is used to manage a list of special words that the Squish IDE must recognize and highlight inside Python comments—for example, FIXME or TODO.

Run/Debug pane

The Run/Debug pane and its child panes are used to set some general options concerning the running and debugging of test scripts.

The Run/Debug pane itself can be used to set some basic behaviors, for example what to do when a breakpoint is hit, and various color settings. It is best to at least keep the Activate the checkboxes checked. The Console child pane is not used by the Squish IDE. The Launching child pane can be used to control the Squish IDE's behavior when running a test, although options relating to "building" are ignored. It is best to have the Save required dirty editors before launching set to Always (the default), or at least to Prompt; setting it to Never introduces a risk that test edits could be lost in the unlikely event that the Squish IDE crashes. The Launch pane's Default Launchers sub-pane is ignored by the Squish IDE. The Launch pane's Launch Configurations pane should not be used. The Run/Debug pane's Perspectives child pane is ignored by the Squish IDE—Squish will always use the Test Debugging Perspective when debugging is required. The String Substitution child pane is rarely needed and not documented here. The View Management child pane is used to control some aspects of how perpectives behave regarding their views.

Squish pane

The Squish pane and its child panes are used to control various Squish-specific settings.

"The Preferences dialog Squish pane"

The Squish pane itself shows the Squish tools folder being used by the Squish IDE. This folder can easily be changed by navigating to another folder in the tree. This is useful when you have AUTs that use different GUI toolkits and want to switch between toolkits while using the Squish IDE.

Squish Preferences Child Panes

The Squish pane has several children: Application Behavior, Browser, Logging, Playback, Recording, Servers, and Test Creation, all of which we will briefly describe here.

The Application Behavior pane is used to set how long Squish should wait for an AUT to start up before giving up and how long Squish should wait for any given response from the AUT. (The response time can also be set using the squishrunner's or squishserver's setResponseTimeout option (see Configuring squishrunner or Configuring squishserver). From Squish 4.2, the Application Behavior pane is in the Squish Server Settings dialog, not the Preferences dialog.

The Browser pane is only relevant to those testing web applications since it is used to set the browser to use for web testing. From Squish 4.2, the Browser pane is in the Squish Server Settings dialog, not the Preferences dialog.

The Logging pane provides some settings to achieve finer control over logging. (Note that the Squish IDE Internal Logging Level affects only the Squish IDE's internal log. Occassionally froglogic's support staff may ask you to set its level to Verbose when trying to help solve a problem that you have encountered.)

"The Playback Preferences pane"

OCR Pane

The OCR pane allows to set the preferences for the supported OCR engines. It includes the OCR engine used by default and authentication keys for online engines. The OCR settings can be edited without help of the Squish IDE in the ocr.ini file.

"The OCR Preferences pane"

Playback pane

"The Playback pane"

The Playback pane has the following options:

  • Snooze Factor: With this, you can uniformly speed up or slow down recordings that contain calls to snooze(seconds) by a factor of your choice.
  • The response to lookup errors can also be configured from this pane. Test execution can be halted when Squish fails to find an object, or it can show the Object Not Found dialog.

Note: The Object Not Found dialog will not be shown if the testSettings.objectNotFoundDebugging is set to false in the test script or on the Test Settings page.

Recoding pane

"The Recording Preferences pane"

The Recording pane is used to control how Squish records tests. You can configure the following things from here:

  • For Object Synchronization, we have 2 options: Based on Object Existence, or Based on Time During Recording. The default, Object Existance, means Squish uses waitFor functions such as the Object waitForObject(objectOrName) function for synchronization. If you choose to use Based on Time During Recording, Squish will record calls to snooze(seconds) rather than to the waitFor functions, and playback speed will be roughly the same as the recording.
  • Compress Events is an option that is on by default, and the checkbox has no effect except on Qt Widgets. Disabling it means that Squish will record test cases with intermediate mouse hover and mouse move events. This could lead to recorded test scripts having many more lines than with event compression on.

Servers Pane

Squish IDE supports multiple squish server configurations. This makes it easy to quickly switch between different remote systems and different Squish edition installations. The Servers pane is used to confiugre the Squish server instancess used to execute the tests. The default configuration includes a single server started automatically by the Squish IDE when necessary (i.e., to record or play back a test).

"The Servers Preferences pane"

If you want to run the squishserver on remote machines, select Add > Remote Server to add any number of configurations for remote machine's hostname and port. See Distributed Tests for more about this topic.

Select Add > Discover servers in local network to detect squishserver instances running in the local network and to quickly add selected servers to the Squish IDE configuration.

Squish IDE can also start further Squish server instances using additional Squish installations. Select Add > Managed server to add additional Squish installations to the Squish IDE configuration. Squish IDE will start a squishserver instance, just like with the default configuration.

The Set as Default button can be used to select the server instance which will be used when recording and replaying tests. The default server can also be changed using the Squish server toolbar.

Remote Testing Pane

The Remote Testing pane is used to control which computer tests should be executed on. The default settings tell the Squish IDE to start a local squishserver whenever necessary (i.e., to record or play back a test), on Squish's default port. If you want to run the squishserver on a remote machine you can enter the remote machine's hostname and the port to use. See Distributed Tests for more about this topic.

Warning: The Remote Testing pane has been superseeded by the Servers pane, and is no longer available in the Squish IDE preferences dialog.

The Test Creation pane is used to specify the Test Case Template directory and the Default scripting language to use for new test suites (which can be overridden when a new test suite is created of course). A Test Case Template can be created using the Test Suites view's Test Cases list's context menu; see also Testcase Templates.

Tcl pane

The Tcl pane's child panes are used to set various Tcl-specific options.

The main pane is empty and none of the Console, Core, Debug, Interpreters, Libraries, or Man pages panes (or any of their child panes) are used by Squish. Many of the other panes are used however. The Code Templates pane can be used to create Tcl template files (separately from Squish's own file template mechanism). Some very basic predefined templates are provided and these can easily be edited or custom ones added. The Editor pane is used to control how the caret is positioned during navigation and whether to use spaces or tabs and the what and how much indentation to use. This pane also has some child panes. These are used to control such things as folding and syntax highlighting, code templates, and whether the editor closes strings and opening brackets of various kinds. The Task Tags child pane is used to manage a list of special words that the Squish IDE must recognize and highlight inside Tcl comments—for example, FIXME or TODO.

Team pane

Neither the Team pane nor any of its child panes has any effect in the Squish IDE, so none of these panes are documented here.