Check the Runner/Server Log¶
Check the Runner/Server Log; most errors can be detected by looking at the java command.
Only Standard GUIs are Supported¶
Is the application using AWT/Swing or SWT? Squish does not support any other Java GUI toolkits or non-GUI applications.
Capture Pre-Hooking Errors for Diagnosis¶
Wrap the java command in a batch file on windows to redirect any pre-hooking errors to help diagnose the problem. Such a file might contain a line like this which will execute the com.myCompany.Main
application and redirect all standard and error output to the file my.log
:
Don't use -server
or -client
arguments¶
The java
or java.exe
's -server
and -client
command line arguments can cause hooking failures, so do not use them. If Java is executed from a batch file or shell script remove the -server
and -client
arguments if present.
Tell Squish to use the Server JVM¶
If you want to force the use of the server JVM, this can be done without using the troublesome -server
command line option. It can be done by editing Squish's server.ini
file (%appdata%\froglogic\Squish\ver1\server.ini
on Windows or ~/.squish/ver1/server.ini
on Unix). Change the file's LibJVM
entry to use the server JVM. For example, if the LibJVM
entry is:
Change it to:
Naturally, you must use the actual paths that are correct for your machine.
Set SQUISH_DISABLE_AWT
Correctly for SWT/RCP Applications¶
Set the environment variable SQUISH_DISABLE_AWT
to 1
before starting Squish for testing SWT/RCP applications. For example:
Try Using the Fallback Hooking Method¶
Squish 4 introduced a new hooking method that provides better performance and reliability in most cases than the Squish 3 method. However, in rare cases it might be necessary to use the old method. This can be done by configuring the squishserver
as follows:
Get Additional Logging Information¶
Create the directory structure $TMP/frogtemp/log
on Unix-like systems or %TEMP%\frogtemp\log
on Windows.
With this structure in place, Squish will locate the directory and save logging data into it. However, if you test different Java applications, they will overwrite each other's log files, so you should just test the problematic application (or copy the log between test runs).
Use DebugView for More Information¶
Download DebugView from Microsoft.
Start Squish and before trying to record a new test do two things. First, click Window→Preferences and in the Preferences dialog navigate to the Squish item's Logging item and make sure that logging is enabled (especially for Hooking). Second, start the DbgView.exe
application.